ruzne exporty resitelu - zatím určitě ne merge xd spíš potřebuji zpětnou vazbu... #89

Merged
zelvuska merged 5 commits from export_resitelskych_dat into master 2025-02-26 21:01:25 +01:00
2 changed files with 21 additions and 41 deletions
Showing only changes of commit 3814d292ad - Show all commits

View file

@ -187,7 +187,8 @@ def download_export_csv(request, type, id):
if type == PrvniTypExportu.SOUSTREDENI.value: if type == PrvniTypExportu.SOUSTREDENI.value:
soustredeni = Soustredeni.objects.get(id=id) soustredeni = Soustredeni.objects.get(id=id)
organizatori = soustredeni.organizatori.all() organizatori = soustredeni.organizatori.all()
response = dataOsobCsvResponse(organizatori) organizatoriOsoby = Osoba.objects.filter(org__in=organizatori)
response = dataOsobCsvResponse(organizatoriOsoby, columns=("jmeno", "prijmeni", "email", "telefon",))
name = str(soustredeni).replace(" ", "_") + "_organizatori_soustredeni.csv" name = str(soustredeni).replace(" ", "_") + "_organizatori_soustredeni.csv"
response['Content-Disposition'] = 'attachment; filename="' + name + '"' response['Content-Disposition'] = 'attachment; filename="' + name + '"'
return response return response
@ -526,50 +527,27 @@ def dataOsobCsvResponse(queryset, columns=None, with_header=True):
default_columns = ( default_columns = (
'id', 'id',
ticvac marked this conversation as resolved
Review

Tohle iirc nefunguje pro Osoby, protože už nemají field osoba

Tohle iirc nefunguje pro Osoby, protože už nemají field `osoba`…
'osoba__jmeno', 'jmeno',
'osoba__prijmeni', 'prijmeni',
'osoba__prezdivka', 'prezdivka',
'osoba__email', 'email',
'osoba__telefon', 'telefon',
'osoba__user__username', 'datum_narozeni',
'osoba__datum_narozeni', 'osloveni',
'osoba__osloveni', 'ulice',
'osoba__ulice', 'mesto',
'osoba__mesto', 'psc',
'osoba__psc', 'stat',
'osoba__stat', 'jak_se_dozvedeli',
'osoba__jak_se_dozvedeli', 'poznamka',
'osoba__poznamka', 'datum_registrace',
'osoba__datum_registrace', 'datum_souhlasu_udaje',
'osoba__datum_souhlasu_udaje', 'datum_souhlasu_zasilani',
'osoba__datum_souhlasu_zasilani',
) )
if columns is None: columns = default_columns if columns is None: columns = default_columns
field_name_overrides = {
# Zrušení prefixu "osoba__"
'osoba__jmeno': 'jmeno',
'osoba__prijmeni': 'prijmeni',
'osoba__prezdivka': 'prezdivka',
'osoba__email': 'email',
'osoba__telefon': 'telefon',
'osoba__user__username': 'user',
'osoba__datum_narozeni': 'datum_narozeni',
'osoba__osloveni': 'osloveni',
'osoba__ulice': 'ulice',
'osoba__mesto': 'mesto',
'osoba__psc': 'psc',
'osoba__stat': 'stat',
'osoba__jak_se_dozvedeli': 'jak_se_dozvedeli',
'osoba__poznamka': 'poznamka',
'osoba__datum_registrace': 'datum_registrace',
'osoba__datum_souhlasu_udaje': 'datum_souhlasu_udaje',
'osoba__datum_souhlasu_zasilani':'datum_souhlasu_zasilani',
}
def get_field_name(column_name): def get_field_name(column_name):
if column_name in field_name_overrides:
return field_name_overrides[column_name]
return column_name return column_name
response = HttpResponse(content_type='text/csv') response = HttpResponse(content_type='text/csv')

View file

@ -48,6 +48,8 @@ def resitele_co_neodmaturovali():
from datetime import datetime from datetime import datetime
current_year = datetime.now().year current_year = datetime.now().year
'''Člověk odmaturuje když je jeho rok maturity menší nebo stejný jako aktuální rok? ''' '''Člověk odmaturuje když je jeho rok maturity menší nebo stejný jako aktuální rok? '''
if datetime.now().month < 8:
current_year -= 1
return personalni.models.Resitel.objects.filter(rok_maturity__gte=current_year) return personalni.models.Resitel.objects.filter(rok_maturity__gte=current_year)