|
@ -579,6 +579,46 @@ class PrilohaReseni(SeminarModelBase): |
|
|
return force_unicode(self.soubor) |
|
|
return force_unicode(self.soubor) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@reversion.register(ignore_duplicate_revisions=True) |
|
|
|
|
|
@python_2_unicode_compatible |
|
|
|
|
|
class Organizator(models.Model): |
|
|
|
|
|
user = models.OneToOneField(settings.AUTH_USER_MODEL, verbose_name='Osoba', |
|
|
|
|
|
help_text = 'Vyber účet spřažený s organizátorem.') |
|
|
|
|
|
prezdivka = models.CharField('Přezdívka', max_length = 32, |
|
|
|
|
|
null = True, blank = True) |
|
|
|
|
|
organizuje_od_roku = models.IntegerField('Organizuje od roku', |
|
|
|
|
|
null = True, blank = True) |
|
|
|
|
|
organizuje_do_roku = models.IntegerField('Organizuje do roku', |
|
|
|
|
|
null = True, blank = True) |
|
|
|
|
|
studuje = models.CharField('Studium aj.', max_length = 256, |
|
|
|
|
|
null = True, blank = True, |
|
|
|
|
|
help_text="Např. 'Studuje Obecnou fyziku (Bc.), 3. ročník', " |
|
|
|
|
|
"'Vystudovala Diskrétní modely a algoritmy (Mgr.)' nebo " |
|
|
|
|
|
"'Přednáší na MFF'") |
|
|
|
|
|
strucny_popis_organizatora = models.TextField('Stručný popis organizátora', |
|
|
|
|
|
null = True, blank = True) |
|
|
|
|
|
foto = ProcessedImageField(verbose_name='Fotografie organizátora', |
|
|
|
|
|
upload_to='image_organizatori/velke/%Y/', null = True, blank = True, |
|
|
|
|
|
help_text = 'Vlož fotografii organizátora o libovolné velikosti', |
|
|
|
|
|
processors=[ |
|
|
|
|
|
Transpose(Transpose.AUTO), |
|
|
|
|
|
ResizeToFit(500, 500, upscale=False) |
|
|
|
|
|
], |
|
|
|
|
|
options={'quality': 95}) |
|
|
|
|
|
foto_male = ImageSpecField(source='foto', |
|
|
|
|
|
processors=[ |
|
|
|
|
|
ResizeToFit(200, 200, upscale=False) |
|
|
|
|
|
], |
|
|
|
|
|
options={'quality': 95}) |
|
|
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
|
return str(self.user) |
|
|
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
|
verbose_name = 'Organizátor' |
|
|
|
|
|
verbose_name_plural = 'Organizátoři' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@reversion.register(ignore_duplicate_revisions=True) |
|
|
@reversion.register(ignore_duplicate_revisions=True) |
|
|
@python_2_unicode_compatible |
|
|
@python_2_unicode_compatible |
|
|
class Soustredeni(SeminarModelBase): |
|
|
class Soustredeni(SeminarModelBase): |
|
@ -608,6 +648,11 @@ class Soustredeni(SeminarModelBase): |
|
|
ucastnici = models.ManyToManyField(Resitel, verbose_name=u'účastníci soustředění', |
|
|
ucastnici = models.ManyToManyField(Resitel, verbose_name=u'účastníci soustředění', |
|
|
help_text=u'Seznam účastníků soustředění', through='Soustredeni_Ucastnici') |
|
|
help_text=u'Seznam účastníků soustředění', through='Soustredeni_Ucastnici') |
|
|
|
|
|
|
|
|
|
|
|
organizatori = models.ManyToManyField(Organizator, |
|
|
|
|
|
verbose_name=u'Organizátoři soustředění', |
|
|
|
|
|
help_text=u'Seznam organizátorů soustředění', |
|
|
|
|
|
through='Soustredeni_Organizatori') |
|
|
|
|
|
|
|
|
text = models.TextField(u'text k soustředění (HTML)', blank=True, default='') |
|
|
text = models.TextField(u'text k soustředění (HTML)', blank=True, default='') |
|
|
|
|
|
|
|
|
TYP_JARNI = 'jarni' |
|
|
TYP_JARNI = 'jarni' |
|
@ -659,6 +704,30 @@ class Soustredeni_Ucastnici(models.Model): |
|
|
return force_unicode(u'%s na %s' % (self.resitel, self.soustredeni, )) |
|
|
return force_unicode(u'%s na %s' % (self.resitel, self.soustredeni, )) |
|
|
# 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 Soustredeni_Organizatori(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
|
db_table = 'seminar_soustredeni_organizatori' |
|
|
|
|
|
verbose_name = u'Účast organizátorů na soustředění' |
|
|
|
|
|
verbose_name_plural = u'Účasti organizátorů na soustředění' |
|
|
|
|
|
ordering = ['soustredeni', 'organizator'] |
|
|
|
|
|
|
|
|
|
|
|
# Interní ID |
|
|
|
|
|
id = models.AutoField(primary_key = True) |
|
|
|
|
|
|
|
|
|
|
|
organizator = models.ForeignKey(Organizator, verbose_name=u'organizátor') |
|
|
|
|
|
|
|
|
|
|
|
soustredeni = models.ForeignKey(Soustredeni, verbose_name=u'soustředění') |
|
|
|
|
|
|
|
|
|
|
|
poznamka = models.TextField(u'neveřejná poznámka', blank=True, |
|
|
|
|
|
help_text=u'Neveřejná poznámka k účasti organizátora (plain text)') |
|
|
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
|
return force_unicode(u'%s na %s' % (self.organizator, self.soustredeni, )) |
|
|
|
|
|
# NOTE: Poteciální DB HOG bez select_related |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@python_2_unicode_compatible |
|
|
@python_2_unicode_compatible |
|
|
class VysledkyBase(SeminarModelBase): |
|
|
class VysledkyBase(SeminarModelBase): |
|
@ -778,41 +847,3 @@ class Novinky(models.Model): |
|
|
verbose_name_plural = 'Novinky' |
|
|
verbose_name_plural = 'Novinky' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@reversion.register(ignore_duplicate_revisions=True) |
|
|
|
|
|
@python_2_unicode_compatible |
|
|
|
|
|
class Organizator(models.Model): |
|
|
|
|
|
user = models.OneToOneField(settings.AUTH_USER_MODEL, verbose_name='Osoba', |
|
|
|
|
|
help_text = 'Vyber účet spřažený s organizátorem.') |
|
|
|
|
|
prezdivka = models.CharField('Přezdívka', max_length = 32, |
|
|
|
|
|
null = True, blank = True) |
|
|
|
|
|
organizuje_od_roku = models.IntegerField('Organizuje od roku', |
|
|
|
|
|
null = True, blank = True) |
|
|
|
|
|
organizuje_do_roku = models.IntegerField('Organizuje do roku', |
|
|
|
|
|
null = True, blank = True) |
|
|
|
|
|
studuje = models.CharField('Studium aj.', max_length = 256, |
|
|
|
|
|
null = True, blank = True, |
|
|
|
|
|
help_text="Např. 'Studuje Obecnou fyziku (Bc.), 3. ročník', " |
|
|
|
|
|
"'Vystudovala Diskrétní modely a algoritmy (Mgr.)' nebo " |
|
|
|
|
|
"'Přednáší na MFF'") |
|
|
|
|
|
strucny_popis_organizatora = models.TextField('Stručný popis organizátora', |
|
|
|
|
|
null = True, blank = True) |
|
|
|
|
|
foto = ProcessedImageField(verbose_name='Fotografie organizátora', |
|
|
|
|
|
upload_to='image_organizatori/velke/%Y/', null = True, blank = True, |
|
|
|
|
|
help_text = 'Vlož fotografii organizátora o libovolné velikosti', |
|
|
|
|
|
processors=[ |
|
|
|
|
|
Transpose(Transpose.AUTO), |
|
|
|
|
|
ResizeToFit(500, 500, upscale=False) |
|
|
|
|
|
], |
|
|
|
|
|
options={'quality': 95}) |
|
|
|
|
|
foto_male = ImageSpecField(source='foto', |
|
|
|
|
|
processors=[ |
|
|
|
|
|
ResizeToFit(200, 200, upscale=False) |
|
|
|
|
|
], |
|
|
|
|
|
options={'quality': 95}) |
|
|
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
|
return str(self.user) |
|
|
|
|
|
|
|
|
|
|
|
class Meta: |
|
|
|
|
|
verbose_name = 'Organizátor' |
|
|
|
|
|
verbose_name_plural = 'Organizátoři' |
|
|
|
|
|