Reforma nastavení zasílání poštou
This commit is contained in:
		
							parent
							
								
									c8023244bd
								
							
						
					
					
						commit
						c97a841041
					
				
					 6 changed files with 54 additions and 5 deletions
				
			
		|  | @ -165,6 +165,7 @@ def resitelEditView(request): | ||||||
| 				resitel_edit.rok_maturity = fcd['rok_maturity'] | 				resitel_edit.rok_maturity = fcd['rok_maturity'] | ||||||
| 				resitel_edit.zasilat = fcd['zasilat'] | 				resitel_edit.zasilat = fcd['zasilat'] | ||||||
| 				resitel_edit.zasilat_cislo_emailem = fcd['zasilat_cislo_emailem'] | 				resitel_edit.zasilat_cislo_emailem = fcd['zasilat_cislo_emailem'] | ||||||
|  | 				resitel_edit.zasilat_cislo_papirove = fcd['zasilat_cislo_papirove'] | ||||||
| 				if fcd.get('skola'): | 				if fcd.get('skola'): | ||||||
| 					resitel_edit.skola = fcd['skola'] | 					resitel_edit.skola = fcd['skola'] | ||||||
| 				else: | 				else: | ||||||
|  | @ -267,7 +268,8 @@ def prihlaskaView(request): | ||||||
| 					prezdivka_resitele=fcd['prezdivka_resitele'], | 					prezdivka_resitele=fcd['prezdivka_resitele'], | ||||||
| 					rok_maturity = fcd['rok_maturity'], | 					rok_maturity = fcd['rok_maturity'], | ||||||
| 					zasilat = fcd['zasilat'], | 					zasilat = fcd['zasilat'], | ||||||
| 					zasilat_cislo_emailem = fcd['zasilat_cislo_emailem'] | 					zasilat_cislo_emailem = fcd['zasilat_cislo_emailem'], | ||||||
|  | 					zasilat_cislo_papirove = fcd['zasilat_cislo_papirove'], | ||||||
| 					) | 					) | ||||||
| 
 | 
 | ||||||
| 				if fcd.get('skola'): | 				if fcd.get('skola'): | ||||||
|  | @ -284,7 +286,7 @@ def prihlaskaView(request): | ||||||
| 				except m.Resitel.DoesNotExist: | 				except m.Resitel.DoesNotExist: | ||||||
| 					# Stejný trik: | 					# Stejný trik: | ||||||
| 					orig_resitel = r | 					orig_resitel = r | ||||||
| 				resitel_attrs = ['skola', 'rok_maturity', 'zasilat', 'zasilat_cislo_emailem'] | 				resitel_attrs = ['skola', 'rok_maturity', 'zasilat', 'zasilat_cislo_emailem', 'zasilat_cislo_papirove'] | ||||||
| 				for attr in resitel_attrs: | 				for attr in resitel_attrs: | ||||||
| 					new = getattr(r, attr) | 					new = getattr(r, attr) | ||||||
| 					old = getattr(orig_resitel, attr) | 					old = getattr(orig_resitel, attr) | ||||||
|  | @ -345,6 +347,7 @@ def dataResiteluCsvResponse(queryset, columns=None, with_header=True): | ||||||
| 		'rok_maturity', | 		'rok_maturity', | ||||||
| 		'zasilat', | 		'zasilat', | ||||||
| 		'zasilat_cislo_emailem', | 		'zasilat_cislo_emailem', | ||||||
|  | 		'zasilat_cislo_papirove', | ||||||
| 		'osoba__datum_registrace', | 		'osoba__datum_registrace', | ||||||
| 		'osoba__datum_souhlasu_udaje', | 		'osoba__datum_souhlasu_udaje', | ||||||
| 		'osoba__datum_souhlasu_zasilani', | 		'osoba__datum_souhlasu_zasilani', | ||||||
|  |  | ||||||
							
								
								
									
										42
									
								
								seminar/migrations/0112_resitel_zasilat_cislo_papirove.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								seminar/migrations/0112_resitel_zasilat_cislo_papirove.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,42 @@ | ||||||
|  | # Generated by Django 2.2.28 on 2023-03-13 22:02 | ||||||
|  | 
 | ||||||
|  | from django.db import migrations, models | ||||||
|  | 
 | ||||||
|  | ZASILAT_DOMU = 'domu' | ||||||
|  | ZASILAT_DO_SKOLY = 'do_skoly' | ||||||
|  | ZASILAT_NIKAM = 'nikam' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def default_zasilat_papirove(apps, schema_editor): | ||||||
|  |     Resitel = apps.get_model('seminar', 'Resitel') | ||||||
|  | 
 | ||||||
|  |     for resitel in Resitel.objects.all(): | ||||||
|  |         resitel.zasilat_cislo_papirove = resitel.zasilat != ZASILAT_NIKAM | ||||||
|  |         if resitel.zasilat == ZASILAT_NIKAM: | ||||||
|  |             resitel.zasilat = ZASILAT_DOMU if resitel.osoba.ulice else ZASILAT_DO_SKOLY | ||||||
|  |         resitel.save() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def vrat_nikam(apps, schema_editor): | ||||||
|  |     Resitel = apps.get_model('seminar', 'Resitel') | ||||||
|  | 
 | ||||||
|  |     for resitel in Resitel.objects.all(): | ||||||
|  |         if not resitel.zasilat_cislo_papirove: | ||||||
|  |             resitel.zasilat = ZASILAT_NIKAM | ||||||
|  |             resitel.save() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('seminar', '0111_nikam2nezasilat_papirove'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.AddField( | ||||||
|  |             model_name='resitel', | ||||||
|  |             name='zasilat_cislo_papirove', | ||||||
|  |             field=models.BooleanField(default=True, help_text='True pokud chce řešitel dostávat číslo papírově', verbose_name='zasílat číslo papírově'), | ||||||
|  |         ), | ||||||
|  |         migrations.RunPython(default_zasilat_papirove, vrat_nikam), | ||||||
|  |     ] | ||||||
|  | @ -236,6 +236,8 @@ class Resitel(SeminarModelBase): | ||||||
| 
 | 
 | ||||||
| 	zasilat_cislo_emailem = models.BooleanField('zasílat číslo emailem', help_text='True pokud chce řešitel dostávat číslo emailem', default=False) | 	zasilat_cislo_emailem = models.BooleanField('zasílat číslo emailem', help_text='True pokud chce řešitel dostávat číslo emailem', default=False) | ||||||
| 
 | 
 | ||||||
|  | 	zasilat_cislo_papirove = models.BooleanField('zasílat číslo papírově', help_text='True pokud chce řešitel dostávat číslo papírově', default=True) | ||||||
|  | 
 | ||||||
| 	poznamka = models.TextField('neveřejná poznámka', blank=True, | 	poznamka = models.TextField('neveřejná poznámka', blank=True, | ||||||
| 		help_text='Neveřejná poznámka k řešiteli (plain text)') | 		help_text='Neveřejná poznámka k řešiteli (plain text)') | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -290,9 +290,9 @@ class Cislo(SeminarModelBase): | ||||||
| 
 | 
 | ||||||
| 		paticka = "---\nK odběru těchto e-mailů jste se přihlásili na stránkách https://mam.matfyz.cz. Z odběru se lze odhlásit na https://mam.matfyz.cz/resitel/osobni-udaje/" | 		paticka = "---\nK odběru těchto e-mailů jste se přihlásili na stránkách https://mam.matfyz.cz. Z odběru se lze odhlásit na https://mam.matfyz.cz/resitel/osobni-udaje/" | ||||||
| 
 | 
 | ||||||
| 		posli(text_mailu + paticka, resitele_vsichni.filter(zasilat=pm.Resitel.ZASILAT_NIKAM)) | 		posli(text_mailu + paticka, resitele_vsichni.filter(zasilat=pm.Resitel.zasilat_cislo_papirove)) | ||||||
| 		posli(text_mailu + 'P. S. Brzy budeme též rozesílat papírovou verzi čísla. Připomínáme, že pokud papírovou verzi čísla nevyužijete, můžete v https://mam.mff.cuni.cz/resitel/osobni-udaje/ zaškrtnout, abychom vám ji neposílali. Čísla vždy můžete nalézt v našem archivu a dál vám budou chodit e-mailem. Děkujeme.\n' + paticka, | 		posli(text_mailu + 'P. S. Brzy budeme též rozesílat papírovou verzi čísla. Připomínáme, že pokud papírovou verzi čísla nevyužijete, můžete v https://mam.mff.cuni.cz/resitel/osobni-udaje/ zaškrtnout, abychom vám ji neposílali. Čísla vždy můžete nalézt v našem archivu a dál vám budou chodit e-mailem. Děkujeme.\n' + paticka, | ||||||
| 			  resitele_vsichni.exclude(zasilat=pm.Resitel.ZASILAT_NIKAM)) | 			  resitele_vsichni.exclude(zasilat=pm.Resitel.zasilat_cislo_papirove)) | ||||||
| 
 | 
 | ||||||
| 	def save(self, *args, **kwargs): | 	def save(self, *args, **kwargs): | ||||||
| 		super().save(*args, **kwargs) | 		super().save(*args, **kwargs) | ||||||
|  |  | ||||||
|  | @ -100,6 +100,7 @@ | ||||||
| 	{% with o=r.osoba %} | 	{% with o=r.osoba %} | ||||||
| 	{% with s=r.skola %} | 	{% with s=r.skola %} | ||||||
| 	{% spaceless %} | 	{% spaceless %} | ||||||
|  | 	{% if r.zasilat_cislo_papirove %} | ||||||
| 	{% if r.zasilat == "do_skoly" %}  | 	{% if r.zasilat == "do_skoly" %}  | ||||||
| 		{% if o.stat == "CZ" %} | 		{% if o.stat == "CZ" %} | ||||||
| \obalka{{o.jmeno|sloz}}{{o.prijmeni|sloz}}{{s.nazev|sloz}}{{s.ulice|sloz}}{{s.psc|sloz}}{{s.mesto|sloz}}{{''|sloz}} | \obalka{{o.jmeno|sloz}}{{o.prijmeni|sloz}}{{s.nazev|sloz}}{{s.ulice|sloz}}{{s.psc|sloz}}{{s.mesto|sloz}}{{''|sloz}} | ||||||
|  | @ -115,6 +116,7 @@ | ||||||
| 		{% endif %} | 		{% endif %} | ||||||
| 	{% else %} | 	{% else %} | ||||||
| 	{% endif %} | 	{% endif %} | ||||||
|  | 	{% endif %} | ||||||
| 	{% endspaceless %} | 	{% endspaceless %} | ||||||
| 	{% endwith %} | 	{% endwith %} | ||||||
| 	{% endwith %} | 	{% endwith %} | ||||||
|  |  | ||||||
|  | @ -265,7 +265,7 @@ def merge_resitele(cilovy, zdrojovy): | ||||||
| 	# Postup: | 	# Postup: | ||||||
| 	# Sjednotit / upravit informace cílového řešitele | 	# Sjednotit / upravit informace cílového řešitele | ||||||
| 	print('Upravuji data modelu') | 	print('Upravuji data modelu') | ||||||
| 	fieldy_shoda = ['skola', 'rok_maturity', 'zasilat', 'zasilat_cislo_emailem'] | 	fieldy_shoda = ['skola', 'rok_maturity', 'zasilat', 'zasilat_cislo_emailem', 'zasilat_cislo_papirove'] | ||||||
| 	 | 	 | ||||||
| 	for f in fieldy_shoda: | 	for f in fieldy_shoda: | ||||||
| 		zf = getattr(zdrojovy, f) | 		zf = getattr(zdrojovy, f) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue