models.py: prehozeni trid, odkomentovani funkci. Sebehne na tom make run.
This commit is contained in:
		
							parent
							
								
									8d48e8ee83
								
							
						
					
					
						commit
						8972dbb34d
					
				
					 1 changed files with 133 additions and 134 deletions
				
			
		|  | @ -449,6 +449,112 @@ class Cislo(SeminarModelBase): | |||
| 			return None | ||||
| 		return c | ||||
| 
 | ||||
| @reversion.register(ignore_duplicates=True) | ||||
| @python_2_unicode_compatible | ||||
| class Organizator(SeminarModelBase): | ||||
| # zmena dedicnosti z models.Model na SeminarModelBase, potencialni vznik bugu | ||||
| 
 | ||||
| 	osoba = models.ForeignKey(Osoba, verbose_name='osoba', related_name='org', | ||||
| 		help_text='osobní údaje organizátora', null=False, blank=False) | ||||
| 
 | ||||
| 	vytvoreno = models.DateTimeField( | ||||
| 		'Vytvořeno', | ||||
| 		default=timezone.now, | ||||
| 		blank=True, | ||||
| 		editable=False | ||||
| 	) | ||||
| 
 | ||||
| 	organizuje_od = models.DateTimeField('Organizuje od', blank=False, null=False) | ||||
| 	 | ||||
| 	organizuje_do = models.DateTimeField('Organizuje do', blank=True, null=True) | ||||
| 
 | ||||
| 	studuje = models.CharField('Studium aj.', max_length = 256, | ||||
| 			null = True, blank = True, | ||||
| 			help_text=u"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) | ||||
| 
 | ||||
| 	skola = models.CharField('Škola, kterou studuje', max_length = 256, null=True, blank=True, | ||||
| 		help_text=u"Škola, např. MFF, VŠCHT, VUT, ... prostě aby se nemuselo psát do studuje" | ||||
| 		"školu, ale jen obor, možnost zobrazit zvlášť") | ||||
| 
 | ||||
| 	def __str__(self): | ||||
| 		if self.osoba.prezdivka: | ||||
| 			return u"%s '%s' %s".format(self.osoba.jmeno, | ||||
| 				self.osoba.prezdivka, | ||||
| 				self.osoba.prijmeni) | ||||
| 		else: | ||||
| 			return u"%s %s".format(self.osoba.jmeno, self.osoba.prijmeni) | ||||
| 
 | ||||
| 	class Meta: | ||||
| 		verbose_name = 'Organizátor' | ||||
| 		verbose_name_plural = 'Organizátoři' | ||||
| 
 | ||||
| 
 | ||||
| @reversion.register(ignore_duplicates=True) | ||||
| @python_2_unicode_compatible | ||||
| class Soustredeni(SeminarModelBase): | ||||
| 
 | ||||
| 	class Meta: | ||||
| 		db_table = 'seminar_soustredeni' | ||||
| 		verbose_name = 'Soustředění' | ||||
| 		verbose_name_plural = 'Soustředění' | ||||
| 		ordering = ['-rocnik__rocnik', '-datum_zacatku'] | ||||
| 
 | ||||
| 	# Interní ID | ||||
| 	id = models.AutoField(primary_key = True) | ||||
| 
 | ||||
| 	rocnik = models.ForeignKey(Rocnik, verbose_name='ročník', related_name='soustredeni') | ||||
| 
 | ||||
| 	datum_zacatku = models.DateField('datum začátku', blank=True, null=True, | ||||
| 		help_text='První den soustředění') | ||||
| 
 | ||||
| 	datum_konce = models.DateField('datum konce', blank=True, null=True, | ||||
| 		help_text='Poslední den soustředění') | ||||
| 
 | ||||
| 	verejne_db = models.BooleanField('soustředění zveřejněno', db_column='verejne', default=False) | ||||
| 
 | ||||
| 	misto = models.CharField('místo soustředění', max_length=256, blank=True, default='', | ||||
| 		help_text='Místo (název obce, volitelně též objektu') | ||||
| 
 | ||||
| 	ucastnici = models.ManyToManyField(Resitel, verbose_name='účastníci soustředění', | ||||
| 		help_text='Seznam účastníků soustředění', through='Soustredeni_Ucastnici') | ||||
| 
 | ||||
| 	organizatori = models.ManyToManyField(Organizator, | ||||
| 			verbose_name='Organizátoři soustředění', | ||||
| 			help_text='Seznam organizátorů soustředění', | ||||
| 			through='Soustredeni_Organizatori') | ||||
| 
 | ||||
| 	text = models.TextField('text k soustředění (HTML)', blank=True, default='') | ||||
| 
 | ||||
| 	TYP_JARNI = 'jarni' | ||||
| 	TYP_PODZIMNI = 'podzimni' | ||||
| 	TYP_VIKEND = 'vikend' | ||||
| 	TYP_CHOICES = [ | ||||
| 		(TYP_JARNI, 'Jarní soustředění'), | ||||
| 		(TYP_PODZIMNI, 'Podzimní soustředění'), | ||||
| 		(TYP_VIKEND, 'Víkendový sraz'), | ||||
| 		] | ||||
| 	typ = models.CharField('typ akce', max_length=16, choices=TYP_CHOICES, blank=False, default=TYP_PODZIMNI) | ||||
| 
 | ||||
| 	exportovat = models.BooleanField('export do AESOPa', db_column='exportovat', default=False, | ||||
| 			help_text='Exportuje se jen podle tohoto flagu (ne veřejnosti)') | ||||
| 
 | ||||
| 	def __str__(self): | ||||
| 		return force_unicode('%s (%s)'.format(self.misto, self.datum_zacatku)) | ||||
| 
 | ||||
| 	def verejne(self): | ||||
| 		return self.verejne_db | ||||
| 	verejne.boolean = True | ||||
| 
 | ||||
| 	def verejne_url(self): | ||||
| 		#return reverse('seminar_soustredeni', kwargs={'pk': self.id}) | ||||
| 		return reverse('seminar_seznam_soustredeni') | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @reversion.register(ignore_duplicates=True) | ||||
| @python_2_unicode_compatible | ||||
|  | @ -467,7 +573,7 @@ class Problem(SeminarModelBase): | |||
| 	nazev = models.CharField('název', max_length=256) | ||||
| 
 | ||||
| 	# Problém má podproblémy | ||||
| 	nadproblem = models.ForeignKey(Problem, verbose_name='nadřazený problém', | ||||
| 	nadproblem = models.ForeignKey('self', verbose_name='nadřazený problém', | ||||
| 		related_name='nadproblem', null=True, blank=True) | ||||
| 
 | ||||
| 	STAV_NAVRH = 'navrh' | ||||
|  | @ -577,6 +683,21 @@ class Clanek(Problem): | |||
| #				return force_unicode(self.nadproblem.kod_v_rocniku()+".c{}".format(self.kod)) | ||||
| 			return force_unicode("c{}".format(self.kod)) | ||||
| 		return '<Není zadaný>' | ||||
| 
 | ||||
| class Text(SeminarModelBase): | ||||
| 	class Meta: | ||||
| 		db_table = 'seminar_texty' | ||||
| 		verbose_name = 'text' | ||||
| 		verbose_name_plural = 'texty' | ||||
| 
 | ||||
| 	na_web = models.TextField('text na web', blank=True, | ||||
| 		help_text='Text ke zveřejnění na webu') | ||||
| 
 | ||||
| 	do_cisla = models.TextField('text do čísla', blank=True, | ||||
| 		help_text='Text ke zveřejnění v čísle') | ||||
| 	 | ||||
| 	# obrázky mají návaznost opačným směrem (vazba z druhé strany) | ||||
| 
 | ||||
| 	 | ||||
| class Uloha(Problem): | ||||
| 	class Meta: | ||||
|  | @ -671,7 +792,7 @@ class Hodnoceni(SeminarModelBase): | |||
| 	class Meta: | ||||
| 		db_table = 'seminar_hodnoceni' | ||||
| 		verbose_name = 'Hodnocení' | ||||
| 		verbose_name_plular = 'Hodnocení' | ||||
| 		verbose_name_plural = 'Hodnocení' | ||||
| 	 | ||||
| 	# Interní ID | ||||
| 	id = models.AutoField(primary_key = True) | ||||
|  | @ -707,20 +828,18 @@ class Hodnoceni(SeminarModelBase): | |||
| # podle adresáře řešíme takto. | ||||
| 
 | ||||
| ## | ||||
| ## FIXME: Budeme řešit později, pokud to bude potřeba. | ||||
| #def generate_filename_konfera(self, filename): | ||||
| #	return os.path.join( | ||||
| #		settings.SEMINAR_KONFERY_DIR, | ||||
| #		aux_generate_filename(self, filename) | ||||
| #	) | ||||
| def generate_filename_konfera(self, filename): | ||||
| 	return os.path.join( | ||||
| 		settings.SEMINAR_KONFERY_DIR, | ||||
| 		aux_generate_filename(self, filename) | ||||
| 	) | ||||
| 
 | ||||
| ## | ||||
| ## FIXME: Budeme řešit později, pokud to bude potřeba. | ||||
| #def generate_filename(self, filename): | ||||
| #	return os.path.join( | ||||
| #		settings.SEMINAR_RESENI_DIR, | ||||
| #		aux_generate_filename(self, filename) | ||||
| #	) | ||||
| def generate_filename(self, filename): | ||||
| 	return os.path.join( | ||||
| 		settings.SEMINAR_RESENI_DIR, | ||||
| 		aux_generate_filename(self, filename) | ||||
| 	) | ||||
| 
 | ||||
| 
 | ||||
| @reversion.register(ignore_duplicates=True) | ||||
|  | @ -794,112 +913,6 @@ class Pohadka(SeminarModelBase): | |||
| 		return force_unicode(uryvek) | ||||
| 
 | ||||
| 
 | ||||
| @reversion.register(ignore_duplicates=True) | ||||
| @python_2_unicode_compatible | ||||
| class Organizator(SeminarModelBase): | ||||
| # zmena dedicnosti z models.Model na SeminarModelBase, potencialni vznik bugu | ||||
| 
 | ||||
| 	osoba = models.ForeignKey(Osoba, verbose_name='osoba', related_name='org', | ||||
| 		help_text='osobní údaje organizátora', null=False, blank=False) | ||||
| 
 | ||||
| 	vytvoreno = models.DateTimeField( | ||||
| 		'Vytvořeno', | ||||
| 		default=timezone.now, | ||||
| 		blank=True, | ||||
| 		editable=False | ||||
| 	) | ||||
| 
 | ||||
| 	organizuje_od = models.DateTimeField('Organizuje od', blank=False, null=False) | ||||
| 	 | ||||
| 	organizuje_do = models.DateTimeField('Organizuje do', blank=True, null=True) | ||||
| 
 | ||||
| 	studuje = models.CharField('Studium aj.', max_length = 256, | ||||
| 			null = True, blank = True, | ||||
| 			help_text=u"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) | ||||
| 
 | ||||
| 	skola = models.CharField('Škola, kterou studuje', max_length = 256, null=True, blank=True, | ||||
| 		help_text=u"Škola, např. MFF, VŠCHT, VUT, ... prostě aby se nemuselo psát do studuje" | ||||
| 		"školu, ale jen obor, možnost zobrazit zvlášť") | ||||
| 
 | ||||
| 	def __str__(self): | ||||
| 		if self.osoba.prezdivka: | ||||
| 			return u"%s '%s' %s".format(self.osoba.jmeno, | ||||
| 				self.osoba.prezdivka, | ||||
| 				self.osoba.prijmeni) | ||||
| 		else: | ||||
| 			return u"%s %s".format(self.osoba.jmeno, self.osoba.prijmeni) | ||||
| 
 | ||||
| 	class Meta: | ||||
| 		verbose_name = 'Organizátor' | ||||
| 		verbose_name_plural = 'Organizátoři' | ||||
| 
 | ||||
| 
 | ||||
| @reversion.register(ignore_duplicates=True) | ||||
| @python_2_unicode_compatible | ||||
| class Soustredeni(SeminarModelBase): | ||||
| 
 | ||||
| 	class Meta: | ||||
| 		db_table = 'seminar_soustredeni' | ||||
| 		verbose_name = 'Soustředění' | ||||
| 		verbose_name_plural = 'Soustředění' | ||||
| 		ordering = ['-rocnik__rocnik', '-datum_zacatku'] | ||||
| 
 | ||||
| 	# Interní ID | ||||
| 	id = models.AutoField(primary_key = True) | ||||
| 
 | ||||
| 	rocnik = models.ForeignKey(Rocnik, verbose_name='ročník', related_name='soustredeni') | ||||
| 
 | ||||
| 	datum_zacatku = models.DateField('datum začátku', blank=True, null=True, | ||||
| 		help_text='První den soustředění') | ||||
| 
 | ||||
| 	datum_konce = models.DateField('datum konce', blank=True, null=True, | ||||
| 		help_text='Poslední den soustředění') | ||||
| 
 | ||||
| 	verejne_db = models.BooleanField('soustředění zveřejněno', db_column='verejne', default=False) | ||||
| 
 | ||||
| 	misto = models.CharField('místo soustředění', max_length=256, blank=True, default='', | ||||
| 		help_text='Místo (název obce, volitelně též objektu') | ||||
| 
 | ||||
| 	ucastnici = models.ManyToManyField(Resitel, verbose_name='účastníci soustředění', | ||||
| 		help_text='Seznam účastníků soustředění', through='Soustredeni_Ucastnici') | ||||
| 
 | ||||
| 	organizatori = models.ManyToManyField(Organizator, | ||||
| 			verbose_name='Organizátoři soustředění', | ||||
| 			help_text='Seznam organizátorů soustředění', | ||||
| 			through='Soustredeni_Organizatori') | ||||
| 
 | ||||
| 	text = models.TextField('text k soustředění (HTML)', blank=True, default='') | ||||
| 
 | ||||
| 	TYP_JARNI = 'jarni' | ||||
| 	TYP_PODZIMNI = 'podzimni' | ||||
| 	TYP_VIKEND = 'vikend' | ||||
| 	TYP_CHOICES = [ | ||||
| 		(TYP_JARNI, 'Jarní soustředění'), | ||||
| 		(TYP_PODZIMNI, 'Podzimní soustředění'), | ||||
| 		(TYP_VIKEND, 'Víkendový sraz'), | ||||
| 		] | ||||
| 	typ = models.CharField('typ akce', max_length=16, choices=TYP_CHOICES, blank=False, default=TYP_PODZIMNI) | ||||
| 
 | ||||
| 	exportovat = models.BooleanField('export do AESOPa', db_column='exportovat', default=False, | ||||
| 			help_text='Exportuje se jen podle tohoto flagu (ne veřejnosti)') | ||||
| 
 | ||||
| 	def __str__(self): | ||||
| 		return force_unicode('%s (%s)'.format(self.misto, self.datum_zacatku)) | ||||
| 
 | ||||
| 	def verejne(self): | ||||
| 		return self.verejne_db | ||||
| 	verejne.boolean = True | ||||
| 
 | ||||
| 	def verejne_url(self): | ||||
| 		#return reverse('seminar_soustredeni', kwargs={'pk': self.id}) | ||||
| 		return reverse('seminar_seznam_soustredeni') | ||||
| 
 | ||||
| 
 | ||||
| @reversion.register(ignore_duplicates=True) | ||||
| @python_2_unicode_compatible | ||||
| class Soustredeni_Ucastnici(SeminarModelBase): | ||||
|  | @ -1054,20 +1067,6 @@ class Obrazek(SeminarModelBase): | |||
| 			help_text = 'Černobílá verze obrázku do čísla',  | ||||
| 			upload_to = 'obrazky/%Y/%m/%d/', blank=True, null=True) | ||||
| 
 | ||||
| class Text(SeminarModelBase): | ||||
| 	class Meta: | ||||
| 		db_table = 'seminar_texty' | ||||
| 		verbose_name = 'text' | ||||
| 		verbose_name_plular = 'texty' | ||||
| 
 | ||||
| 	na_web = models.TextField('text na web', blank=True, | ||||
| 		help_text='Text ke zveřejnění na webu') | ||||
| 
 | ||||
| 	do_cisla = models.TextField('text do čísla', blank=True, | ||||
| 		help_text='Text ke zveřejnění v čísle') | ||||
| 	 | ||||
| 	# obrázky mají návaznost opačným směrem (vazba z druhé strany) | ||||
| 
 | ||||
| ## FIXME: Logiku přesunout do views. | ||||
| #@python_2_unicode_compatible | ||||
| #class VysledkyBase(SeminarModelBase): | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Anet
						Anet