diff --git a/galerie/TODO b/galerie/TODO
index 66d2ad9c..2c39633f 100644
--- a/galerie/TODO
+++ b/galerie/TODO
@@ -5,6 +5,9 @@
* zvolit velikosti velke a male fotky
* vycteni EXIFu
* razeni podle casu
-* hromadne nahravani fotek
+* hromadne pridani fotek
* do CSS
* znovuukladani malych a strednich fotek -- spravit, aby se tak nedělo furt
+* přidávání nových galerií jen když je galerie neveřejna
+* zverejneni cele galerie k soustredeni i jejich podgalerii
+* třízení podgalerií
diff --git a/galerie/admin.py b/galerie/admin.py
index 25bb7bc9..f4c7f062 100644
--- a/galerie/admin.py
+++ b/galerie/admin.py
@@ -11,7 +11,7 @@ class ObrazekAdmin(admin.ModelAdmin):
class GalerieAdmin(admin.ModelAdmin):
model = Galerie
fields = ('zobrazit', 'nazev', 'titulni_obrazek', 'popis', 'galerie_up', 'soustredeni')
- list_display = ('nazev', 'datum_zmeny', 'zobrazit')
+ list_display = ('nazev', 'pk', 'datum_zmeny', 'zobrazit')
inlines = [GalerieInline]
admin.site.register(Obrazek, ObrazekAdmin)
diff --git a/galerie/forms.py b/galerie/forms.py
index c4cbb459..3e09fe15 100644
--- a/galerie/forms.py
+++ b/galerie/forms.py
@@ -8,3 +8,4 @@ class KomentarForm(forms.Form):
class NewGalerieForm(forms.Form):
nazev = forms.CharField(label = "Název galerie", max_length = 100)
+ popis = forms.CharField(label = "Popis", required = False, max_length = 2000, widget = forms.Textarea)
diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html
index 79ac0bfd..cba8709b 100644
--- a/galerie/templates/galerie/GalerieNahled.html
+++ b/galerie/templates/galerie/GalerieNahled.html
@@ -19,10 +19,12 @@
{{galerie}}
{% endif %}
{% endfor %}
- {% if user.is_staff %}
- VYTVOŘIT NOVOU PODGALERII
- {% endif %}
-
+
+ {% endif %}
+ {% if user.is_staff %}
+
{% endif %}
{# obrazky v galerii #}
diff --git a/galerie/views.py b/galerie/views.py
index 3edbdebc..f8b1d0f5 100644
--- a/galerie/views.py
+++ b/galerie/views.py
@@ -5,9 +5,10 @@ import random
from django.http import HttpResponse, Http404
from django.shortcuts import render, HttpResponseRedirect, get_object_or_404
from django.template import RequestContext
+from datetime import datetime
+
from galerie.models import Obrazek, Galerie
from seminar.models import Soustredeni
-
from galerie.forms import KomentarForm, NewGalerieForm
@@ -110,20 +111,47 @@ def detail(request, pk, fotka, soustredeni):
def new_galerie(request, galerie, soustredeni):
+ # zjistime k jakemu soustredeni se vaze nove vytvarena galerie
soustredeni = get_object_or_404(Soustredeni, pk = soustredeni)
+ # pokud je parametr galerie 0, pak jde o hlavni galerii
+ # kdyz je nejaky jiny, pak je pk galerie pod kterou tu dalsi vytvarim
if int(galerie) == 0:
+ galerie_up = False
galerie_text = "Hlavní fotogalerie soustředění"
else:
- galerie = get_object_or_404(Galerie, pk = int(galerie))
- galerie_text = "podgalerii ke galerii " + str(galerie)
+ galerie_up = get_object_or_404(Galerie, pk = int(galerie))
+ galerie_text = "podgalerii ke galerii " + str(galerie_up)
+ # obsluha formulare umoznujiciho multiple nahravani fotek
if request.method == 'POST':
form = NewGalerieForm(request.POST, request.FILES)
if form.is_valid():
- # TODO dopsat vytvoreni fotogalerie
+ # vytvoreni nove galerie
+ gal = Galerie()
+ gal.nazev = form.cleaned_data['nazev']
+ gal.popis = form.cleaned_data['popis']
+ gal.zobrazit = 1 # galerie je v procesu vytvareni
+ ''' pokud je to podgalerie pridej nadrazenou galerii
+ a nadrazene soustredeni nechej volne,
+ pokud je to hlavni galerie, tak nadrazena galerie neexistuje,
+ ale v takovem pripade musi byt nadrazene soustredeni a ne jinak '''
+ if galerie_up:
+ gal.galerie_up = galerie_up
+ else:
+ gal.soustredeni = soustredeni
+ gal.save()
+
+ # zpracovani obrazku v galerii
for obr in request.FILES.getlist('obr'):
- pass # TODO dopsat ulozeni obrazku
- # TODO presmerovani na nove vytvořenou galerii
+ o = Obrazek()
+ o.obrazek_velky = obr
+ o.nazev = str(gal) + "/" + str(obr)
+ o.datum = datetime.now() #TODO vycist z EXIFU
+ o.galerie = gal
+ o.save()
+
+ # presmerovani na prave vzniklou galerii
+ return HttpResponseRedirect('../../' + str(gal.pk))
else:
form = NewGalerieForm()