diff --git a/galerie/admin.py b/galerie/admin.py index 2b270163..c663287e 100644 --- a/galerie/admin.py +++ b/galerie/admin.py @@ -1,4 +1,4 @@ -from galerie.models import Obrazek, Galerie +from galerie.models import Obrazek, Galerie, VZDY, ORG, NIKDY, UCASTNIK from django.contrib import admin from django.http import HttpResponseRedirect from django import forms @@ -8,8 +8,9 @@ from django.db import models def zverejnit_fotogalerii(modeladmin, request, queryset): '''zverejni vybranou fotogalerii i jeji vsechny podgalerie''' + queryset = queryset.filter(zobrazit=ORG) for galerie in queryset: - galerie.zobrazit = 0 + galerie.zobrazit = VZDY galerie.save() zverejnit_fotogalerii(modeladmin, request, Galerie.objects.filter(galerie_up = galerie)) @@ -18,8 +19,9 @@ def zverejnit_fotogalerii(modeladmin, request, queryset): def prepnout_fotogalerii_do_org_rezimu(modeladmin, request, queryset): '''zneverjni vybranou fotogalerii i jeji vsechny podgalerie''' + queryset = queryset.filter(zobrazit=VZDY) for galerie in queryset: - galerie.zobrazit = 1 + galerie.zobrazit = ORG galerie.save() prepnout_fotogalerii_do_org_rezimu(modeladmin, request, Galerie.objects.filter(galerie_up = galerie)) diff --git a/galerie/migrations/0014_alter_galerie_zobrazit.py b/galerie/migrations/0014_alter_galerie_zobrazit.py new file mode 100644 index 00000000..c53393f3 --- /dev/null +++ b/galerie/migrations/0014_alter_galerie_zobrazit.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.20 on 2025-04-23 18:37 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('galerie', '0013_post_split_soustredeni'), + ] + + operations = [ + migrations.AlterField( + model_name='galerie', + name='zobrazit', + field=models.IntegerField(choices=[(0, 'Vždy'), (1, 'Organizátorům'), (3, 'Účastníkům a orgům'), (2, 'Nikdy')], default=1, verbose_name='Zobrazit?'), + ), + ] diff --git a/galerie/migrations/0015_alter_galerie_galerie_up.py b/galerie/migrations/0015_alter_galerie_galerie_up.py new file mode 100644 index 00000000..2033c9af --- /dev/null +++ b/galerie/migrations/0015_alter_galerie_galerie_up.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.16 on 2025-04-30 18:53 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('galerie', '0014_alter_galerie_zobrazit'), + ] + + operations = [ + migrations.AlterField( + model_name='galerie', + name='galerie_up', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='galerie.galerie'), + ), + ] diff --git a/galerie/migrations/0016_alter_obrazek_galerie.py b/galerie/migrations/0016_alter_obrazek_galerie.py new file mode 100644 index 00000000..8c8e57af --- /dev/null +++ b/galerie/migrations/0016_alter_obrazek_galerie.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.16 on 2025-04-30 19:02 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('galerie', '0015_alter_galerie_galerie_up'), + ] + + operations = [ + migrations.AlterField( + model_name='obrazek', + name='galerie', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='galerie.galerie'), + ), + ] diff --git a/galerie/models.py b/galerie/models.py index 074b0d26..44c1120e 100644 --- a/galerie/models.py +++ b/galerie/models.py @@ -10,9 +10,11 @@ from soustredeni.models import Soustredeni VZDY=0 ORG=1 NIKDY=2 +UCASTNIK=3 VIDITELNOST = ( (VZDY, 'Vždy'), (ORG, 'Organizátorům'), + (UCASTNIK, 'Účastníkům a orgům'), (NIKDY, 'Nikdy'), ) @@ -54,7 +56,7 @@ class Obrazek(models.Model): nazev = models.CharField('Název', max_length=50, blank=True, null=True) popis = models.TextField('Popis', blank=True, null=True) datum_vlozeni = models.DateTimeField('Datum vložení', auto_now_add=True) - galerie = models.ForeignKey('Galerie', blank=True, null=True, on_delete=models.SET_NULL) + galerie = models.ForeignKey('Galerie', blank=True, null=True, on_delete=models.CASCADE) poradi = models.IntegerField('Pořadí', blank=True, null=True) def __str__(self): @@ -88,7 +90,7 @@ class Galerie(models.Model): titulni_obrazek = models.ForeignKey(Obrazek, blank = True, null = True, related_name = "+", on_delete = models.SET_NULL) zobrazit = models.IntegerField('Zobrazit?', default = ORG, choices = VIDITELNOST) galerie_up = models.ForeignKey('Galerie', blank = True, null = True, - on_delete=models.SET_NULL) + on_delete=models.PROTECT) soustredeni = models.ForeignKey(Soustredeni, blank = True, null = True, on_delete=models.PROTECT) poradi = models.IntegerField('Pořadí', blank = True, null = False, default = 0) @@ -98,25 +100,3 @@ class Galerie(models.Model): class Meta: verbose_name = 'Galerie' verbose_name_plural = 'Galerie' - - #def link_na_preview(self): - #"""Odkaz na galerii, používá se v admin rozhranní. """ - #return 'Preview' % self.id - #link_na_preview.allow_tags = True - #link_na_preview.short_description = 'Zobrazit galerii' -# - #def je_publikovano(self): - #"""Vraci True, pokud je tato galerie publikovana. """ - #if self.zobrazit == VZDY: - #return True - #if self.zobrazit == PODLE_CLANKU: - #for clanek in self.clanek_set.all(): - #if clanek.je_publikovano(): - #return True - #return False -# - #@staticmethod - #def publikovane_galerie(): - #"""Vraci galerie, ktere uz maji byt publikovane.""" - #clanky = Blog.models.Clanek.publikovane_clanky() - #return Galerie.objects.filter(Q(zobrazit=VZDY) | (Q(clanek__in=clanky) & Q(zobrazit=PODLE_CLANKU))).distinct() diff --git a/galerie/static/css/galerie.css b/galerie/static/css/galerie.css index 46df8552..46e02367 100644 --- a/galerie/static/css/galerie.css +++ b/galerie/static/css/galerie.css @@ -136,6 +136,11 @@ top: 160px; } +.podgalerie_nahled.mam-org-only, .podgalerie_nahled.mam-resitel-only { + margin: 10px; + padding: 0; +} + /* Odkazy na předchozí a následující podgalerii */ .galerie_predchozi_nasledujici { diff --git a/galerie/templates/galerie/Galerie.html b/galerie/templates/galerie/Galerie.html index ff8ebfe3..364d0b51 100644 --- a/galerie/templates/galerie/Galerie.html +++ b/galerie/templates/galerie/Galerie.html @@ -46,6 +46,7 @@ {% block content %} +