Galerie: Obrázek přejmenován na Soubor
This commit is contained in:
parent
d07d4daf04
commit
3e18f51550
4 changed files with 18 additions and 18 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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'<img src="{}" {} />', 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
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in a new issue