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