oprava na query set osob

This commit is contained in:
ticvac 2025-02-26 19:11:50 +01:00
parent 5a1eedb7b1
commit 3814d292ad
2 changed files with 21 additions and 41 deletions

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',
'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)