galerie | hromadne nahrani fotek

This commit is contained in:
Bc. Petr Pecha 2015-10-12 23:13:28 +02:00
parent 9c59e6dec3
commit 54c7afab71
5 changed files with 46 additions and 12 deletions

View file

@ -5,6 +5,9 @@
* zvolit velikosti velke a male fotky * zvolit velikosti velke a male fotky
* vycteni EXIFu * vycteni EXIFu
* razeni podle casu * razeni podle casu
* hromadne nahravani fotek * hromadne pridani fotek
* do CSS * do CSS
* znovuukladani malych a strednich fotek -- spravit, aby se tak nedělo furt * 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í

View file

@ -11,7 +11,7 @@ class ObrazekAdmin(admin.ModelAdmin):
class GalerieAdmin(admin.ModelAdmin): class GalerieAdmin(admin.ModelAdmin):
model = Galerie model = Galerie
fields = ('zobrazit', 'nazev', 'titulni_obrazek', 'popis', 'galerie_up', 'soustredeni') fields = ('zobrazit', 'nazev', 'titulni_obrazek', 'popis', 'galerie_up', 'soustredeni')
list_display = ('nazev', 'datum_zmeny', 'zobrazit') list_display = ('nazev', 'pk', 'datum_zmeny', 'zobrazit')
inlines = [GalerieInline] inlines = [GalerieInline]
admin.site.register(Obrazek, ObrazekAdmin) admin.site.register(Obrazek, ObrazekAdmin)

View file

@ -8,3 +8,4 @@ class KomentarForm(forms.Form):
class NewGalerieForm(forms.Form): class NewGalerieForm(forms.Form):
nazev = forms.CharField(label = "Název galerie", max_length = 100) nazev = forms.CharField(label = "Název galerie", max_length = 100)
popis = forms.CharField(label = "Popis", required = False, max_length = 2000, widget = forms.Textarea)

View file

@ -19,10 +19,12 @@
<li><a href="../{{galerie.pk}}">{{galerie}}</a> <li><a href="../{{galerie.pk}}">{{galerie}}</a>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
{% if user.is_staff %} </ul>
<li><a href="./new">VYTVOŘIT NOVOU PODGALERII </a> {% endif %}
{% endif %} {% if user.is_staff %}
</ul> <ul>
<li><a href="./new">VYTVOŘIT NOVOU PODGALERII </a>
</ul>
{% endif %} {% endif %}
{# obrazky v galerii #} {# obrazky v galerii #}

View file

@ -5,9 +5,10 @@ import random
from django.http import HttpResponse, Http404 from django.http import HttpResponse, Http404
from django.shortcuts import render, HttpResponseRedirect, get_object_or_404 from django.shortcuts import render, HttpResponseRedirect, get_object_or_404
from django.template import RequestContext from django.template import RequestContext
from datetime import datetime
from galerie.models import Obrazek, Galerie from galerie.models import Obrazek, Galerie
from seminar.models import Soustredeni from seminar.models import Soustredeni
from galerie.forms import KomentarForm, NewGalerieForm from galerie.forms import KomentarForm, NewGalerieForm
@ -110,20 +111,47 @@ def detail(request, pk, fotka, soustredeni):
def new_galerie(request, galerie, soustredeni): def new_galerie(request, galerie, soustredeni):
# zjistime k jakemu soustredeni se vaze nove vytvarena galerie
soustredeni = get_object_or_404(Soustredeni, pk = soustredeni) 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: if int(galerie) == 0:
galerie_up = False
galerie_text = "Hlavní fotogalerie soustředění" galerie_text = "Hlavní fotogalerie soustředění"
else: else:
galerie = get_object_or_404(Galerie, pk = int(galerie)) galerie_up = get_object_or_404(Galerie, pk = int(galerie))
galerie_text = "podgalerii ke galerii " + str(galerie) galerie_text = "podgalerii ke galerii " + str(galerie_up)
# obsluha formulare umoznujiciho multiple nahravani fotek
if request.method == 'POST': if request.method == 'POST':
form = NewGalerieForm(request.POST, request.FILES) form = NewGalerieForm(request.POST, request.FILES)
if form.is_valid(): 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'): for obr in request.FILES.getlist('obr'):
pass # TODO dopsat ulozeni obrazku o = Obrazek()
# TODO presmerovani na nove vytvořenou galerii 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: else:
form = NewGalerieForm() form = NewGalerieForm()