Rozpracovany model konfer + parcialni generovatko nazvu.
This commit is contained in:
parent
8102c1e256
commit
ac2d42e7ec
2 changed files with 46 additions and 3 deletions
|
@ -240,5 +240,6 @@ LOGGING = {
|
||||||
# MaM specific
|
# MaM specific
|
||||||
|
|
||||||
SEMINAR_RESENI_DIR = os.path.join(BASE_DIR, 'media', 'reseni')
|
SEMINAR_RESENI_DIR = os.path.join(BASE_DIR, 'media', 'reseni')
|
||||||
|
SEMINAR_KONFERY_DIR = os.path.join(BASE_DIR, 'media', 'konfery')
|
||||||
KOREKTURY_PDF_DIR = os.path.join(BASE_DIR, 'media', 'korektury','pdf')
|
KOREKTURY_PDF_DIR = os.path.join(BASE_DIR, 'media', 'korektury','pdf')
|
||||||
KOREKTURY_IMG_DIR = os.path.join(BASE_DIR, 'media', 'korektury','img')
|
KOREKTURY_IMG_DIR = os.path.join(BASE_DIR, 'media', 'korektury','img')
|
||||||
|
|
|
@ -16,6 +16,7 @@ from imagekit.processors import ResizeToFit, Transpose
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
import os
|
import os
|
||||||
|
from functools import partial
|
||||||
from cStringIO import StringIO
|
from cStringIO import StringIO
|
||||||
from django.core.files.base import ContentFile
|
from django.core.files.base import ContentFile
|
||||||
|
|
||||||
|
@ -544,13 +545,13 @@ class Reseni(SeminarModelBase):
|
||||||
|
|
||||||
|
|
||||||
# PrilohaReseni method
|
# PrilohaReseni method
|
||||||
def generate_filename(self, filename):
|
def generate_filename(self, filename, directory):
|
||||||
clean = filename.replace('/','-').replace('\0', '')
|
clean = filename.replace('/','-').replace('\0', '')
|
||||||
datedir = timezone.now().strftime('%Y-%m')
|
datedir = timezone.now().strftime('%Y-%m')
|
||||||
fname = "%s_%s" % (
|
fname = "%s_%s" % (
|
||||||
timezone.now().strftime('%Y-%m-%d-%H:%M'),
|
timezone.now().strftime('%Y-%m-%d-%H:%M'),
|
||||||
clean)
|
clean)
|
||||||
return os.path.join(settings.SEMINAR_RESENI_DIR, datedir, fname)
|
return os.path.join(directory, datedir, fname)
|
||||||
|
|
||||||
|
|
||||||
@reversion.register(ignore_duplicate_revisions=True)
|
@reversion.register(ignore_duplicate_revisions=True)
|
||||||
|
@ -570,7 +571,7 @@ class PrilohaReseni(SeminarModelBase):
|
||||||
|
|
||||||
timestamp = models.DateTimeField(u'vytvořeno', default=timezone.now, blank=True, editable=False)
|
timestamp = models.DateTimeField(u'vytvořeno', default=timezone.now, blank=True, editable=False)
|
||||||
|
|
||||||
soubor = models.FileField(u'soubor', upload_to = generate_filename)
|
soubor = models.FileField(u'soubor', upload_to = partial(generate_filename,directory=settings.SEMINAR_RESENI_DIR))
|
||||||
|
|
||||||
poznamka = models.TextField(u'neveřejná poznámka', blank=True,
|
poznamka = models.TextField(u'neveřejná poznámka', blank=True,
|
||||||
help_text=u'Neveřejná poznámka k příloze řešení (plain text), např. o původu')
|
help_text=u'Neveřejná poznámka k příloze řešení (plain text), např. o původu')
|
||||||
|
@ -734,6 +735,47 @@ class Soustredeni_Organizatori(models.Model):
|
||||||
# NOTE: Poteciální DB HOG bez select_related
|
# NOTE: Poteciální DB HOG bez select_related
|
||||||
|
|
||||||
|
|
||||||
|
@reversion.register(ignore_duplicate_revisions=True)
|
||||||
|
@python_2_unicode_compatible
|
||||||
|
class Konfera(models.Model):
|
||||||
|
class Meta:
|
||||||
|
db_table = 'seminar_konfera'
|
||||||
|
verbose_name = u'Konfera'
|
||||||
|
verbose_name_plural = u'Konfery'
|
||||||
|
# Interní ID
|
||||||
|
id = models.AutoField(primary_key = True)
|
||||||
|
nazev = models.CharField(u'název konfery', max_length=40, help_text = u'Název konfery')
|
||||||
|
popis = models.TextField(u'popis konfery', blank=True,
|
||||||
|
help_text=u'Popis konfery k zobrazení na webu')
|
||||||
|
abstrakt = models.TextField(u'abstrakt', blank=True,
|
||||||
|
help_text=u'Abstrakt konfery tak, jak byl uveden ve sborníku')
|
||||||
|
organizator = models.ForeignKey(Organizator, verbose_name=u'organizátor', related_name='konfery',
|
||||||
|
on_delete = models.SET_NULL, null=True)
|
||||||
|
#ucastnici #TODO
|
||||||
|
soustredeni = models.ForeignKey(Soustredeni, verbose_name=u'soustředění', related_name='konfery',
|
||||||
|
on_delete = models.SET_NULL, null=True)
|
||||||
|
org_poznamka = models.TextField(u'neveřejná poznámka', blank=True,
|
||||||
|
help_text=u'Neveřejná poznámka ke konfeře(plain text)')
|
||||||
|
#prispevek #TODO
|
||||||
|
TYP_VELETRH = 'veletrh'
|
||||||
|
TYP_PREZENTACE = 'prezentace'
|
||||||
|
TYP_CHOICES = [
|
||||||
|
(TYP_VELETRH, u'Veletrh (postery)'),
|
||||||
|
(TYP_PREZENTACE, u'Prezentace (přednáška)'),
|
||||||
|
]
|
||||||
|
typ_prezentace = models.CharField(u'typ prezentace', max_length=16, choices=TYP_CHOICES, blank=False, default=TYP_VELETRH)
|
||||||
|
prezentace = models.FileField(u'prezentace',help_text = u'Prezentace nebo fotka posteru',
|
||||||
|
upload_to = partial(generate_filename,directory=settings.SEMINAR_KONFERY_DIR))
|
||||||
|
materialy = models.FileField(u'materialy',help_text = u'Další materiály ke konfeře zabalené do jednoho souboru',
|
||||||
|
upload_to = partial(generate_filename,directory=settings.SEMINAR_KONFERY_DIR))
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return force_unicode(u"%s: (%s)" % (self.nazev, self.soustredeni))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@python_2_unicode_compatible
|
@python_2_unicode_compatible
|
||||||
class VysledkyBase(SeminarModelBase):
|
class VysledkyBase(SeminarModelBase):
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue