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.zasilat = fcd['zasilat'] | ||||
| 				resitel_edit.zasilat_cislo_emailem = fcd['zasilat_cislo_emailem'] | ||||
| 				resitel_edit.zasilat_cislo_papirove = fcd['zasilat_cislo_papirove'] | ||||
| 				if fcd.get('skola'): | ||||
| 					resitel_edit.skola = fcd['skola'] | ||||
| 				else: | ||||
|  | @ -267,7 +268,8 @@ def prihlaskaView(request): | |||
| 					prezdivka_resitele=fcd['prezdivka_resitele'], | ||||
| 					rok_maturity = fcd['rok_maturity'], | ||||
| 					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'): | ||||
|  | @ -284,7 +286,7 @@ def prihlaskaView(request): | |||
| 				except m.Resitel.DoesNotExist: | ||||
| 					# Stejný trik: | ||||
| 					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: | ||||
| 					new = getattr(r, attr) | ||||
| 					old = getattr(orig_resitel, attr) | ||||
|  | @ -345,6 +347,7 @@ def dataResiteluCsvResponse(queryset, columns=None, with_header=True): | |||
| 		'rok_maturity', | ||||
| 		'zasilat', | ||||
| 		'zasilat_cislo_emailem', | ||||
| 		'zasilat_cislo_papirove', | ||||
| 		'osoba__datum_registrace', | ||||
| 		'osoba__datum_souhlasu_udaje', | ||||
| 		'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_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, | ||||
| 		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/" | ||||
| 
 | ||||
| 		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, | ||||
| 			  resitele_vsichni.exclude(zasilat=pm.Resitel.ZASILAT_NIKAM)) | ||||
| 			  resitele_vsichni.exclude(zasilat=pm.Resitel.zasilat_cislo_papirove)) | ||||
| 
 | ||||
| 	def save(self, *args, **kwargs): | ||||
| 		super().save(*args, **kwargs) | ||||
|  |  | |||
|  | @ -100,6 +100,7 @@ | |||
| 	{% with o=r.osoba %} | ||||
| 	{% with s=r.skola %} | ||||
| 	{% spaceless %} | ||||
| 	{% if r.zasilat_cislo_papirove %} | ||||
| 	{% if r.zasilat == "do_skoly" %}  | ||||
| 		{% if o.stat == "CZ" %} | ||||
| \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 %} | ||||
| 	{% else %} | ||||
| 	{% endif %} | ||||
| 	{% endif %} | ||||
| 	{% endspaceless %} | ||||
| 	{% endwith %} | ||||
| 	{% endwith %} | ||||
|  |  | |||
|  | @ -265,7 +265,7 @@ def merge_resitele(cilovy, zdrojovy): | |||
| 	# Postup: | ||||
| 	# Sjednotit / upravit informace cílového řešitele | ||||
| 	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: | ||||
| 		zf = getattr(zdrojovy, f) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue