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:
soustredeni = Soustredeni.objects.get(id=id)
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"
response['Content-Disposition'] = 'attachment; filename="' + name + '"'
return response
@ -526,50 +527,27 @@ def dataOsobCsvResponse(queryset, columns=None, with_header=True):
default_columns = (
'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',
'osoba__prijmeni',
'osoba__prezdivka',
'osoba__email',
'osoba__telefon',
'osoba__user__username',
'osoba__datum_narozeni',
'osoba__osloveni',
'osoba__ulice',
'osoba__mesto',
'osoba__psc',
'osoba__stat',
'osoba__jak_se_dozvedeli',
'osoba__poznamka',
'osoba__datum_registrace',
'osoba__datum_souhlasu_udaje',
'osoba__datum_souhlasu_zasilani',
'jmeno',
'prijmeni',
'prezdivka',
'email',
'telefon',
'datum_narozeni',
'osloveni',
'ulice',
'mesto',
'psc',
'stat',
'jak_se_dozvedeli',
'poznamka',
'datum_registrace',
'datum_souhlasu_udaje',
'datum_souhlasu_zasilani',
)
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):
if column_name in field_name_overrides:
return field_name_overrides[column_name]
return column_name
response = HttpResponse(content_type='text/csv')

View file

@ -48,6 +48,8 @@ def resitele_co_neodmaturovali():
from datetime import datetime
current_year = datetime.now().year
'''Č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)