From 3e18f5155034551be161f03f050fb08207c19e89 Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Tue, 18 Nov 2025 18:42:27 +0100 Subject: [PATCH] =?UTF-8?q?Galerie:=20Obr=C3=A1zek=20p=C5=99ejmenov=C3=A1n?= =?UTF-8?q?=20na=20Soubor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- galerie/admin.py | 8 ++++---- galerie/models.py | 8 ++++---- galerie/typy.py | 10 +++++----- galerie/views.py | 10 +++++----- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/galerie/admin.py b/galerie/admin.py index a04cf6d9..147bbbed 100644 --- a/galerie/admin.py +++ b/galerie/admin.py @@ -1,4 +1,4 @@ -from galerie.models import Obrazek, Galerie, VZDY, ORG, NIKDY, UCASTNIK +from galerie.models import Soubor, Galerie, VZDY, ORG, NIKDY, UCASTNIK from django.contrib import admin from django.http import HttpResponseRedirect from django import forms @@ -29,14 +29,14 @@ def prepnout_fotogalerii_do_org_rezimu(modeladmin, request, queryset): 'Přepnout do režimu úprav (zneveřejní galerii)' class GalerieInline(admin.TabularInline): - model = Obrazek + model = Soubor fields = ['soubor', 'nazev', 'popis', 'typ', 'poradi'] readonly_fields = ['nazev'] formfield_overrides = { models.TextField: {'widget': forms.TextInput}, } -class ObrazekAdmin(admin.ModelAdmin): +class SouborAdmin(admin.ModelAdmin): list_display = ('soubor', 'nazev', 'popis', 'poradi') search_fields = ['nazev','popis'] @@ -50,5 +50,5 @@ class GalerieAdmin(admin.ModelAdmin): save_on_top = True ordering = ['galerie_up__nazev', 'poradi'] -admin.site.register(Obrazek, ObrazekAdmin) +admin.site.register(Soubor, SouborAdmin) admin.site.register(Galerie, GalerieAdmin) diff --git a/galerie/models.py b/galerie/models.py index dc5340f9..06602e02 100644 --- a/galerie/models.py +++ b/galerie/models.py @@ -46,8 +46,7 @@ def galerie_filename(self, filename): return os.path.join(*cesta) -# Technicky misnomer: takový `Obrazek` může být i videjko a výhledově i něco dalšího… -class Obrazek(models.Model): +class Soubor(models.Model): # „originál“ (modulo max. velikost uploadu na web FIXME!) soubor = models.FileField(upload_to=galerie_filename, help_text = "Lze vložit libovolně velký obrázek. Ideální je, aby alespoň jeden rozměr měl alespoň 500px.") @@ -71,6 +70,7 @@ class Obrazek(models.Model): class Meta: verbose_name = 'Obrázek' verbose_name_plural = 'Obrázky' + db_table = 'galerie_obrazek' # FIXME: přejmenovat ordering = ['nazev'] #FIXME: zohlednit pořadí a asi i příslušnost ke galerii def save(self, *args, **kwargs): @@ -78,7 +78,7 @@ class Obrazek(models.Model): # (a pak se podle něj taky řadí) if self.nazev is None: self.nazev = os.path.basename(self.soubor.name) - super(Obrazek, self).save(*args, **kwargs) + super().save(*args, **kwargs) def jako_bazmek(self): """ @@ -97,7 +97,7 @@ class Galerie(models.Model): datum_vytvoreni = models.DateTimeField('Datum vytvoření', auto_now_add = True) datum_zmeny = models.DateTimeField('Datum poslední změny', auto_now = True) popis = models.TextField('Popis', blank = True, null = True) - titulni_obrazek = models.ForeignKey(Obrazek, blank = True, null = True, related_name = "+", on_delete = models.SET_NULL) + titulni_obrazek = models.ForeignKey(Soubor, 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.PROTECT) diff --git a/galerie/typy.py b/galerie/typy.py index 936750e4..f20bb776 100644 --- a/galerie/typy.py +++ b/galerie/typy.py @@ -25,7 +25,7 @@ from imagekit.processors import ResizeToFit, Transpose HTML = str | SafeString -from galerie.models import Obrazek as DbObrazek +from galerie.models import Soubor class ZobrazitelnyBazmek(abc.ABC): def __init__(self, db_objekt): @@ -128,13 +128,13 @@ class DummyBazmek(ZobrazitelnyBazmek): attrs = _fmt_attrs(kwargs) return format_html(r'', self.placeholder, attrs) -def tipniTyp(soubor) -> DbObrazek.Typ: +def tipniTyp(soubor) -> Soubor.Typ: from PIL import Image, UnidentifiedImageError try: Image.open(soubor) - return DbObrazek.Typ.OBRAZEK + return Soubor.Typ.OBRAZEK except UnidentifiedImageError: - return DbObrazek.Typ.NEVIM + return Soubor.Typ.NEVIM logger.warning("Nepodařilo se tipnout typ nečekaným způsobem!") - return DbObrazek.Typ.NEVIM + return Soubor.Typ.NEVIM diff --git a/galerie/views.py b/galerie/views.py index 9bc9f8ed..5af33b5e 100644 --- a/galerie/views.py +++ b/galerie/views.py @@ -8,7 +8,7 @@ from datetime import datetime from galerie.utils import top_galerie from personalni.utils import resitel_uzivatele -from galerie.models import Obrazek, Galerie, VZDY, ORG, UCASTNIK, NIKDY +from galerie.models import Soubor, Galerie, VZDY, ORG, UCASTNIK, NIKDY from soustredeni.models import Soustredeni from galerie.forms import KomentarForm, NewGalerieForm @@ -56,7 +56,7 @@ def nahled(request, pk, soustredeni): podgalerie = Galerie.objects.filter(galerie_up = galerie).order_by('poradi') podgalerie = podgalerie.filter(zobrazit__in=galerie_ke_zobrazeni(soustredeni, request)) - obrazky = galerie.obrazek_set.all().order_by('poradi', 'nazev') + obrazky = galerie.soubor_set.all().order_by('poradi', 'nazev') ma_se_zobrazit = zobrazit(galerie, request) if not ma_se_zobrazit: raise Http404("Galerie sice existuje, ale my se tváříme, že ne :-D") @@ -95,10 +95,10 @@ def detail(request, pk, fotka, soustredeni): soustredeni = top_galerie(galerie).soustredeni ma_se_zobrazit = zobrazit(galerie, request) if not ma_se_zobrazit: raise Http404("Obrázek neukážu!") - obrazek = get_object_or_404(Obrazek, pk=fotka) + obrazek = get_object_or_404(Soubor, pk=fotka) # Pořadí není povinné. FIXME: `nazev` je zavádějící… Ale tohle je kanonické pořadí obrázků v galerii… - obrazky = galerie.obrazek_set.all().order_by('poradi', 'nazev') + obrazky = galerie.soubor_set.all().order_by('poradi', 'nazev') obrazky = list(obrazky) index_obrazku = obrazky.index(obrazek) # Podle mě se nemůže stát, že by volání výš selhalo, kdyžtak shodí web. (původně to byl explicitně ošetřený stav dávající 404) @@ -186,7 +186,7 @@ def new_galerie(request, galerie, soustredeni): # zpracovani obrazku v galerii from galerie.typy import tipniTyp for obr in request.FILES.getlist('obr'): - o = Obrazek() + o = Soubor() o.soubor = obr o.typ = tipniTyp(obr) o.nazev = str(obr)