galerie | moznost radit podgalerie podle cisla poradi
This commit is contained in:
		
							parent
							
								
									7d1bda5fce
								
							
						
					
					
						commit
						1a8cfec157
					
				
					 5 changed files with 71 additions and 2 deletions
				
			
		
							
								
								
									
										39
									
								
								galerie/migrations/0003_add_galerie_poradi.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								galerie/migrations/0003_add_galerie_poradi.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -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, | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -147,6 +147,7 @@ class Galerie(models.Model): | ||||||
|   zobrazit = models.IntegerField('Zobrazit?', default = ORG, choices = VIDITELNOST) |   zobrazit = models.IntegerField('Zobrazit?', default = ORG, choices = VIDITELNOST) | ||||||
|   galerie_up = models.ForeignKey('Galerie', blank = True, null = True) |   galerie_up = models.ForeignKey('Galerie', blank = True, null = True) | ||||||
|   soustredeni = models.ForeignKey(Soustredeni, blank = True, null = True) |   soustredeni = models.ForeignKey(Soustredeni, blank = True, null = True) | ||||||
|  |   poradi = models.IntegerField('Pořadí', blank = True, null = True) | ||||||
| 
 | 
 | ||||||
|   def __unicode__(self): |   def __unicode__(self): | ||||||
|     return self.nazev |     return self.nazev | ||||||
|  |  | ||||||
|  | @ -8,15 +8,20 @@ | ||||||
|   <h2>{{galerie.nazev}}</h2> |   <h2>{{galerie.nazev}}</h2> | ||||||
| 
 | 
 | ||||||
|   {# podgalerie #} |   {# podgalerie #} | ||||||
|   {% if galerie.galerie_set.all or galerie.galerie_up %} |   {% if podgalerie or galerie.galerie_up %} | ||||||
|     <h3> PODGALERIE </h3> |     <h3> PODGALERIE </h3> | ||||||
|     <ul> |     <ul> | ||||||
|     {% if galerie.galerie_up %} |     {% if galerie.galerie_up %} | ||||||
|       <li><a href="../{{galerie.galerie_up.pk}}">..</a> |       <li><a href="../{{galerie.galerie_up.pk}}">..</a> | ||||||
|     {% endif %} |     {% endif %} | ||||||
|     {% for galerie in galerie.galerie_set.all %} |     {% for galerie in podgalerie %} | ||||||
|       {% if galerie.zobrazit < 1 or user.is_staff %} |       {% if galerie.zobrazit < 1 or user.is_staff %} | ||||||
|       <li><a href="../{{galerie.pk}}">{{galerie}}</a> |       <li><a href="../{{galerie.pk}}">{{galerie}}</a> | ||||||
|  |         {% if user.is_staff and galerie.zobrazit > 0 %} | ||||||
|  |           ({{galerie.poradi}}) | ||||||
|  |           <span class="plus"><a href="plus/{{galerie.pk}}/">+</a></span> | ||||||
|  |           <span class="minus"><a href="minus/{{galerie.pk}}/">-</a></span> | ||||||
|  |         {% endif %} | ||||||
|       {% endif %} |       {% endif %} | ||||||
|     {% endfor %} |     {% endfor %} | ||||||
|   </ul> |   </ul> | ||||||
|  |  | ||||||
|  | @ -6,5 +6,7 @@ urlpatterns = patterns('', | ||||||
|    (r'^(?P<pk>\d+)/$', 'galerie.views.nahled'), |    (r'^(?P<pk>\d+)/$', 'galerie.views.nahled'), | ||||||
|    (r'^(?P<pk>\d+)/(?P<fotka>\d+)/$', 'galerie.views.detail'), |    (r'^(?P<pk>\d+)/(?P<fotka>\d+)/$', 'galerie.views.detail'), | ||||||
|    (r'^(?P<galerie>\d+)/new/$', 'galerie.views.new_galerie'), |    (r'^(?P<galerie>\d+)/new/$', 'galerie.views.new_galerie'), | ||||||
|  |    (r'^(?P<galerie>\d+)/plus/(?P<subgalerie>\d+)/$', 'galerie.views.plus_galerie'), | ||||||
|  |    (r'^(?P<galerie>\d+)/minus/(?P<subgalerie>\d+)/$', 'galerie.views.minus_galerie'), | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -23,10 +23,12 @@ def zobrazit(galerie, request): | ||||||
| def nahled(request, pk, soustredeni): | def nahled(request, pk, soustredeni): | ||||||
|   """Zobrazeni nahledu vsech fotek ve skupine.""" |   """Zobrazeni nahledu vsech fotek ve skupine.""" | ||||||
|   galerie = get_object_or_404(Galerie, pk=pk) |   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') |   obrazky = Obrazek.objects.filter(galerie = galerie).order_by('datum') | ||||||
|   preview = zobrazit(galerie, request) |   preview = zobrazit(galerie, request) | ||||||
|   return render(request, 'galerie/GalerieNahled.html', |   return render(request, 'galerie/GalerieNahled.html', | ||||||
|       {'galerie' : galerie, |       {'galerie' : galerie, | ||||||
|  |        'podgalerie' : podgalerie, | ||||||
|        'obrazky' : obrazky, |        'obrazky' : obrazky, | ||||||
|        'preview' : preview, |        'preview' : preview, | ||||||
|       }) |       }) | ||||||
|  | @ -121,6 +123,7 @@ def new_galerie(request, galerie, soustredeni): | ||||||
|                 gal.galerie_up = galerie_up |                 gal.galerie_up = galerie_up | ||||||
|             else: |             else: | ||||||
|                 gal.soustredeni = soustredeni |                 gal.soustredeni = soustredeni | ||||||
|  |             gal.poradi = int(len(gal.galerie_up.galerie_set.all())) + 1  | ||||||
|             gal.save() |             gal.save() | ||||||
| 
 | 
 | ||||||
|             # zpracovani obrazku v galerii |             # zpracovani obrazku v galerii | ||||||
|  | @ -144,3 +147,22 @@ def new_galerie(request, galerie, soustredeni): | ||||||
|                 'soustredeni' : soustredeni, |                 'soustredeni' : soustredeni, | ||||||
|                 'galerie_text' : galerie_text, |                 '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('../../') | ||||||
|  | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Bc. Petr Pecha
						Bc. Petr Pecha