From fe548335cf73a27dfb05a7503b1719b2a9602904 Mon Sep 17 00:00:00 2001 From: "Bc. Petr Pecha" Date: Sun, 8 Nov 2015 21:06:02 +0100 Subject: [PATCH] galerie | u prohlizeni fotek prechody pres galerie U posledni respektive prvni fotky v galerii pridan odkaz na dalsi respektive predchozi galerii (pokud takova existuje) --- galerie/admin.py | 2 +- galerie/templates/galerie/Galerie.html | 21 ++++++++++++++++--- galerie/views.py | 29 ++++++++++++++++++++++++-- 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/galerie/admin.py b/galerie/admin.py index 60af9e3d..4f95c951 100644 --- a/galerie/admin.py +++ b/galerie/admin.py @@ -34,7 +34,7 @@ class ObrazekAdmin(admin.ModelAdmin): class GalerieAdmin(admin.ModelAdmin): model = Galerie - fields = ('zobrazit', 'nazev', 'titulni_obrazek', 'popis', 'galerie_up', 'soustredeni') + fields = ('zobrazit', 'nazev', 'titulni_obrazek', 'popis', 'galerie_up', 'soustredeni', 'poradi') list_display = ('nazev', 'pk', 'datum_zmeny', 'zobrazit', 'soustredeni') inlines = [GalerieInline] actions = [zverejnit_fotogalerii, prepnout_fotogalerii_do_org_rezimu] diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index e699e243..07aaca5c 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -52,16 +52,31 @@
+ {# odkaz na predchozi galerii #} + {% if predchozi_galerie %} + Predchozi: + {{predchozi_galerie}} + + {% endif %} + {# nahledy predchozich obrazku #} {% for obrazek in obrazky_predchozi %} {% endfor %} + {# nahled aktualniho obrazku -- TODO po kliknuti vypsat: Prohrál jsi #} {{obrazek.popis}} + width="{{obrazek.obrazek_maly.width}}" + alt="{{obrazek.popis}}" + class="obrazek"> + {# nahledy nasledujicich obrazku #} {% for obrazek in obrazky_dalsi %} {% endfor %} + {# odkaz na nasledujici galerii #} + {% if nasledujici_galerie %} + Nasledujici: + {{nasledujici_galerie}} + + {% endif %}
{% endblock %} diff --git a/galerie/views.py b/galerie/views.py index f33c2ff6..9ae7103d 100644 --- a/galerie/views.py +++ b/galerie/views.py @@ -64,12 +64,35 @@ def detail(request, pk, fotka, soustredeni): # Obrazek neni v galerii/stitku. raise Http404 - # Nacteni okolnich obrazku. + + # Nacteni okolnich obrazku a galerii + # TODO vyjmout zjisteni predchozich a nasledujicich galerii + # a udelat z toho funkci, ktera se pouzije u nahledu + predchozi_galerie = None + nasledujici_galerie = None obrazky_dalsi = obrazky[znacka+1:znacka+NAHLEDU+1] - if znacka > NAHLEDU: + if (znacka+1) > NAHLEDU: obrazky_predchozi = obrazky[znacka-NAHLEDU:znacka] else: obrazky_predchozi = obrazky[0:znacka] + if galerie.poradi > 1: + predchozi_galerie = Galerie.objects.\ + filter(galerie_up=galerie.galerie_up).\ + filter(poradi=(galerie.poradi-1)) + if predchozi_galerie: + predchozi_galerie = predchozi_galerie[0] + else: + predchozi_galerie = None + if (znacka+1) == len(obrazky): + nasledujici_galerie = Galerie.objects.\ + filter(galerie_up=galerie.galerie_up).\ + filter(poradi=(galerie.poradi+1)) + if nasledujici_galerie: + nasledujici_galerie = nasledujici_galerie[0] + else: + nasledujici_galerie = None + + # Preskalovani obrazku do vybraneho prostoru. vyska = obrazek.obrazek_stredni.height @@ -83,6 +106,8 @@ def detail(request, pk, fotka, soustredeni): return render(request, 'galerie/Galerie.html', {'galerie' : galerie, + 'predchozi_galerie' : predchozi_galerie, + 'nasledujici_galerie' : nasledujici_galerie, 'obrazek' : obrazek, 'vyska' : vyska, 'sirka' : sirka,