diff --git a/galerie/migrations/0003_add_galerie_poradi.py b/galerie/migrations/0003_add_galerie_poradi.py new file mode 100644 index 00000000..d9b32f48 --- /dev/null +++ b/galerie/migrations/0003_add_galerie_poradi.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +import galerie.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('galerie', '0002_auto_20151013_1145'), + ] + + operations = [ + migrations.AddField( + model_name='galerie', + name='poradi', + field=models.IntegerField(null=True, verbose_name=b'Po\xc5\x99ad\xc3\xad', blank=True), + preserve_default=True, + ), + migrations.AlterField( + model_name='obrazek', + name='obrazek_maly', + field=models.ImageField(upload_to=galerie.models.obrazek_filename_maly, null=True, editable=False), + preserve_default=True, + ), + migrations.AlterField( + model_name='obrazek', + name='obrazek_stredni', + field=models.ImageField(upload_to=galerie.models.obrazek_filename_stredni, null=True, editable=False), + preserve_default=True, + ), + migrations.AlterField( + model_name='obrazek', + name='obrazek_velky', + field=models.ImageField(help_text=b'Lze vlo\xc5\xbeit libovoln\xc4\x9b velk\xc3\xbd obr\xc3\xa1zek. Ide\xc3\xa1ln\xc3\xad je, aby alespo\xc5\x88 jeden rozm\xc4\x9br m\xc4\x9bl alespo\xc5\x88 500px.', upload_to=galerie.models.obrazek_filename), + preserve_default=True, + ), + ] diff --git a/galerie/models.py b/galerie/models.py index 02781a96..e3f15f06 100644 --- a/galerie/models.py +++ b/galerie/models.py @@ -147,6 +147,7 @@ class Galerie(models.Model): zobrazit = models.IntegerField('Zobrazit?', default = ORG, choices = VIDITELNOST) galerie_up = models.ForeignKey('Galerie', blank = True, null = True) soustredeni = models.ForeignKey(Soustredeni, blank = True, null = True) + poradi = models.IntegerField('Pořadí', blank = True, null = True) def __unicode__(self): return self.nazev diff --git a/galerie/templates/galerie/GalerieNahled.html b/galerie/templates/galerie/GalerieNahled.html index 135ef153..28358c82 100644 --- a/galerie/templates/galerie/GalerieNahled.html +++ b/galerie/templates/galerie/GalerieNahled.html @@ -8,15 +8,20 @@

{{galerie.nazev}}

{# podgalerie #} - {% if galerie.galerie_set.all or galerie.galerie_up %} + {% if podgalerie or galerie.galerie_up %}

PODGALERIE

diff --git a/galerie/urls.py b/galerie/urls.py index 71dfb3ea..b2980b52 100644 --- a/galerie/urls.py +++ b/galerie/urls.py @@ -6,5 +6,7 @@ urlpatterns = patterns('', (r'^(?P\d+)/$', 'galerie.views.nahled'), (r'^(?P\d+)/(?P\d+)/$', 'galerie.views.detail'), (r'^(?P\d+)/new/$', 'galerie.views.new_galerie'), + (r'^(?P\d+)/plus/(?P\d+)/$', 'galerie.views.plus_galerie'), + (r'^(?P\d+)/minus/(?P\d+)/$', 'galerie.views.minus_galerie'), ) diff --git a/galerie/views.py b/galerie/views.py index 92a61193..0926c5a3 100644 --- a/galerie/views.py +++ b/galerie/views.py @@ -23,10 +23,12 @@ def zobrazit(galerie, request): 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, }) @@ -121,6 +123,7 @@ def new_galerie(request, galerie, soustredeni): gal.galerie_up = galerie_up else: gal.soustredeni = soustredeni + gal.poradi = int(len(gal.galerie_up.galerie_set.all())) + 1 gal.save() # zpracovani obrazku v galerii @@ -144,3 +147,22 @@ def new_galerie(request, galerie, soustredeni): 'soustredeni' : soustredeni, 'galerie_text' : galerie_text, }) + +def plus_galerie(request, galerie, soustredeni, subgalerie): + galerie = get_object_or_404(Galerie, pk=subgalerie) + if galerie.poradi: + galerie.poradi += 1 + else: + galerie.poradi = int(len(galerie.galerie_up.galerie_set.all())) + galerie.save() + return HttpResponseRedirect('../../') + +def minus_galerie(request, galerie, soustredeni, subgalerie): + galerie = get_object_or_404(Galerie, pk=subgalerie) + if galerie.poradi: + galerie.poradi -= 1 + else: + galerie.poradi = 1 + galerie.save() + return HttpResponseRedirect('../../') +