diff --git a/galerie/models.py b/galerie/models.py index c4839541..2bb793ac 100644 --- a/galerie/models.py +++ b/galerie/models.py @@ -104,7 +104,7 @@ class Obrazek(models.Model): datum_int[3], datum_int[4], datum_int[5]) jmeno = os.path.basename(self.obrazek_velky.file.name) if not self.obrazek_stredni: - Obrazek._vyrobMiniaturu(original, jmeno, 600, self.obrazek_stredni) + Obrazek._vyrobMiniaturu(original, jmeno, 1024, self.obrazek_stredni) if not self.obrazek_maly: Obrazek._vyrobMiniaturu(original, jmeno, 200, self.obrazek_maly) super(Obrazek, self).save() diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index 07aaca5c..b85ddbd8 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -1,13 +1,48 @@ {% extends "galerie/Base.html" %} -{% block title %}{% block nadpis1a %} -{{galerie.nazev}} | Galerie -{% endblock %}{% endblock %} + +{% block nadpis1a %} +{{galerie.nazev}}: {{ obrazek.popis | default:"Fotka" }} +{% endblock %} + +{% block script %} + {% with obrazky_predchozi|last as predchozi_obrazek %} + {% with obrazky_dalsi|first as dalsi_obrazek %} + + {% endwith %} + {% endwith %} +{% endblock %} {% block content %} -
-

{{galerie.nazev}}

-
+ + +

+ {% for g in cesta %} + {{ g.nazev }} > + {% endfor %} + {{ obrazek.nazev }} +

+ + + {# TODO šipky na přecházeni dodelat ve stylech #} @@ -15,28 +50,32 @@ {% if obrazky_predchozi %} {% with obrazky_predchozi|last as predchozi_obrazek %}
- +
{% endwith %} {% endif%} - {{obrazek.popis}} + class="obrazek" id="nahoru"> + {% if obrazky_dalsi %} {% with obrazky_dalsi|first as dalsi_obrazek %}
- +
{% endwith %} {% endif%} + + + {# Popisek fotky #}
- {% if preview %} -
+ {% if not preview %} + {% csrf_token %} @@ -60,7 +99,7 @@ {% endif %} {# nahledy predchozich obrazku #} {% for obrazek in obrazky_predchozi %} - + {% endfor %} {# nahled aktualniho obrazku -- TODO po kliknuti vypsat: Prohrál jsi #} {# nahledy nasledujicich obrazku #} {% for obrazek in obrazky_dalsi %} - + {% endfor %} {# odkaz na nasledujici galerii #} {% if nasledujici_galerie %} diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index 49ccbd50..2148131d 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -1,35 +1,76 @@ {% extends "galerie/Base.html" %} -{% block title %}{% block nadpis1a %} -{{galerie.nazev}} | Galerie TODO title -{% endblock %}{% endblock %} +{% block nadpis1a %} +Galerie {{galerie.nazev}} +{% endblock %} {% block content %} -

{{galerie.nazev}}

+ +

+ {% for g in cesta %} + {% if not forloop.last %} + {{ g.nazev }} > + {% else %} + {{ g.nazev }} + {% endif %} + {% endfor %} +

+ + {% if not obrazky %} +
+ {% if galerie.titulni_obrazek %} + + {% endif %} + {% if galerie.popis %} +
+ {{ galerie.popis }} +
+ {% endif %} +
+ {% endif %} {# podgalerie #} {% if podgalerie or galerie.galerie_up %} -

PODGALERIE

- + + {% endfor %} + {% endif %} + + {% if podgalerie %} +
+ {% for galerie in podgalerie %} +
+ {% if galerie.zobrazit < 1 or user.is_staff %} + {% with galerie.titulni_obrazek.obrazek_maly as obrazek %} + + {% endwith %} +
+ {{ galerie }} +
+ {# {% if user.is_staff and galerie.zobrazit > 0 %} #} + {# ({{galerie.poradi}}) #} + {# + #} + {# - #} + {# {% endif %} #} + {% endif %} +
+ {% endfor %} +
+ {% endif %} {% endif %} {% if user.is_staff and galerie.zobrazit > 0 %} - + {% endif %} {# obrazky v galerii #} @@ -38,7 +79,7 @@ {% for obrazek in obrazky %} + + + {% else %} -
- V galerii nejsou žádné fotky. -
+ {% if not podgalerie %} +
+ V galerii nejsou žádné fotky. +
+ {% endif %} {% endif %} {% endblock content %} diff --git a/galerie/views.py b/galerie/views.py index 9ae7103d..bf04beed 100644 --- a/galerie/views.py +++ b/galerie/views.py @@ -20,23 +20,55 @@ def zobrazit(galerie, request): raise Http404 return preview + +def cesta_od_korene(g): + """Vrátí seznam galerií od kořene ke g""" + cesta = [] + while g != None: + cesta.append(g) + g = g.galerie_up + return reversed(cesta) + + def nahled(request, pk, soustredeni): - """Zobrazeni nahledu vsech fotek ve skupine.""" - galerie = get_object_or_404(Galerie, pk=pk) - podgalerie = Galerie.objects.filter(galerie_up = galerie).order_by('poradi') - obrazky = Obrazek.objects.filter(galerie = galerie).order_by('datum') - preview = zobrazit(galerie, request) - return render(request, 'galerie/GalerieNahled.html', - {'galerie' : galerie, - 'podgalerie' : podgalerie, - 'obrazky' : obrazky, - 'preview' : preview, - }) + """Zobrazeni nahledu vsech fotek ve skupine.""" + galerie = get_object_or_404(Galerie, pk=pk) + podgalerie = Galerie.objects.filter(galerie_up = galerie).order_by('poradi') + obrazky = Obrazek.objects.filter(galerie = galerie).order_by('datum') + preview = zobrazit(galerie, request) + + sourozenci = [] + if galerie.galerie_up: + sourozenci = galerie.galerie_up.galerie_set.all().order_by('poradi') + + predchozi = None + nasledujici = None + minuly = None + for g in sourozenci: + if g.pk == galerie.pk: + predchozi = minuly + if minuly != None and minuly.pk == galerie.pk: + nasledujici = g + break + minuly = g + + cesta = cesta_od_korene(galerie) + + return render(request, 'galerie/GalerieNahled.html', + {'galerie' : galerie, + 'podgalerie' : podgalerie, + 'obrazky' : obrazky, + 'preview' : preview, + 'cesta': cesta, + 'sourozenci': sourozenci, + 'predchozi': predchozi, + 'nasledujici': nasledujici, + }) def detail(request, pk, fotka, soustredeni): """Zobrazeni nahledu fotky s id 'fotka'.""" - MAX_VYSKA = 600 - MAX_SIRKA = 600 + MAX_VYSKA = 900 + MAX_SIRKA = 900 MAX_VYSKA_MALA = 100 MAX_SIRKA_MALA = 200 NAHLEDU = 1 @@ -115,6 +147,7 @@ def detail(request, pk, fotka, soustredeni): 'obrazky_dalsi' : obrazky_dalsi, 'preview' : preview, 'form' : form, + 'cesta': cesta_od_korene(galerie), }) diff --git a/mamweb/static/css/mamweb.css b/mamweb/static/css/mamweb.css index 6316c6a2..cc4a4fba 100644 --- a/mamweb/static/css/mamweb.css +++ b/mamweb/static/css/mamweb.css @@ -15,6 +15,7 @@ body { background: #fff0d7; padding: 10px; margin: 10px -10px; + border: orange 2px dashed; } table .border-r { @@ -150,6 +151,10 @@ div.menu li.selected a { z-index: 15px; } +h2 a:hover { + text-decoration: none; +} + #submenu { position: relative; top: -15px; @@ -467,26 +472,35 @@ div.zadani_azad_termin { background-repeat: no-repeat; } -.galerie{ +.galerie { position: relative; text-align: center; - width: 630px; - margin: 0 auto 0 auto; + /*width: 100%;*/ + margin: 20px auto 0 auto; } -.galerie h2{ +.galerie h2 { text-align: center; } -.popis{ +.galerie_hlavicka { + margin: 30px auto 30px auto; +} + +.popis { + margin: 10px 10px 30px 0px; + clear: all; +} + +#nahoru { text-align: center; - margin: 10px 10px 30px 10px; } .galerie_nahledy{ /*margin: 1em 0;*/ - margin: 0 auto 0 auto; + margin: 0 auto 30px auto; text-align: center; + overflow: auto; } .galerie_nahledy img{ @@ -499,17 +513,21 @@ div.zadani_azad_termin { } .galerie_nahled{ /* frame */ + display: inline-block; + position: relative; float: left; - width: 190px; - height: 190px; + width: 200px; + height: 200px; text-align: center; border: solid; border-width: 2px; border-radius: 5px; - border-color: #ffa500; - background-color: #ffb52d; + /*border-color: #ffa500;*/ + border-color: #ffd546; + /*background-color: #ffb52d;*/ + background-color: white; white-space: nowrap; - margin: 10px; + margin: 10px 20px 10px 0px; } .vystredeno{ /* helper */ @@ -518,11 +536,61 @@ div.zadani_azad_termin { vertical-align: middle; } -.galerie_nahled img{ - border-radius: 2px; +.galerie_nahled img { vertical-align: middle; max-height: 180px; max-width: 180px; + /*border: 1px solid white;*/ + +} + +.galerie_nahled img:hover { + /*border: 1px solid #ffa500;*/ +} + +.galerie_nahled div { + position: absolute; + bottom: 0px; + width: 100%; + text-align: center; +} + + +.podgalerie_nahled { + position: relative; + float: left; + width: 200px; + height: 200px; + text-align: center; + border: solid; + border-width: 2px; + border-radius: 5px; + border-color: #ffa500; + /*border-color: #ffd546;*/ + background-color: #ffd546; + /*background-color: white;*/ + white-space: nowrap; + margin: 10px 20px 10px 0px; +} + +.podgalerie_nahled img { + margin-top: 20px; + margin-bottom: 15px; +} + + +/* Odkazy na předchozí a následující podgalerii */ +.galerie_predchozi_nasledujici { + overflow: auto; + margin: 10px auto 10px auto; +} + +.galerie_predchozi_nasledujici .predchozi { + float: left; +} + +.galerie_predchozi_nasledujici .nasledujici { + float: right; } diff --git a/mamweb/templates/base.html b/mamweb/templates/base.html index a97d5168..2f5826ef 100644 --- a/mamweb/templates/base.html +++ b/mamweb/templates/base.html @@ -29,6 +29,9 @@ src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> + {# script specifický pro stránku #} + {% block script %}{% endblock %} + {% if user.is_staff %}
{{obrazek.popis}}