aboutsummaryrefslogtreecommitdiffstats
path: root/server/views.py
diff options
context:
space:
mode:
authorAndrea Lepori <alepori@student.ethz.ch>2022-10-04 18:37:35 +0200
committerAndrea Lepori <alepori@student.ethz.ch>2022-10-04 18:37:35 +0200
commitbe3686074da9c00faf6ad183cc4494e1130100e6 (patch)
treef8482198d5bde510ea1f80164e476b372805f109 /server/views.py
parentchange "colonia" to "diga" (diff)
downloadscout-subs-be3686074da9c00faf6ad183cc4494e1130100e6.tar.gz
scout-subs-be3686074da9c00faf6ad183cc4494e1130100e6.zip
edit data export format to comply with midata
Diffstat (limited to '')
-rw-r--r--server/views.py31
1 files changed, 27 insertions, 4 deletions
diff --git a/server/views.py b/server/views.py
index 12b79e9..1fb80ac 100644
--- a/server/views.py
+++ b/server/views.py
@@ -1701,7 +1701,8 @@ def data_request(request):
data = ", ".join(users_email)
context["data"] = data
elif request.POST["request"] == "data_user":
- users = User.objects.filter(groups__name=parent_group)
+ perm = Permission.objects.get(codename="approved")
+ users = User.objects.filter(groups__name=parent_group, user_permissions=perm)
# get time for filename
current_time = datetime.strftime(datetime.now(), "%H_%M__%d_%m_%y")
@@ -1712,10 +1713,20 @@ def data_request(request):
writer = csv.writer(response)
# csv header
- writer.writerow(["Codice", "Nome", "Cognome", "Email", "Nome dei genitori", "Via", "CAP", "Comune", "Nazionalita", "Data di nascita", "Telefono di casa", "Telefono", "Scuola", "Anno scolastico", "Numero AVS"])
+ writer.writerow(["Codice", "Nome", "Cognome", "Email", "Nome dei genitori", "Indirizzo", "NAP", "Luogo", "Nazionalita", "Nazionalità secondo G+S", "Data di nascita", "numero di telefono Altro", "numero di telefono Cellulare", "Scuola", "Classe scolastica", "Numero AVS"])
for user in users:
usercode = UserCode.objects.filter(user=user)[0]
+ nationality = usercode.nationality
+
+ nat_gs = ""
+ if "svizzera" in nationality.lower():
+ nat_gs = "CH"
+ elif "ch" == nationality.lower():
+ nat_gs = "CH"
+ else:
+ nat_gs = "DIV"
+
writer.writerow([
"U"+str(usercode.code),
user.first_name,
@@ -1726,6 +1737,7 @@ def data_request(request):
usercode.cap,
usercode.country,
usercode.nationality,
+ nat_gs,
usercode.born_date,
usercode.home_phone,
usercode.phone,
@@ -1737,7 +1749,8 @@ def data_request(request):
return response
elif request.POST["request"] == "data_user_medic":
- users = User.objects.filter(groups__name=parent_group)
+ perm = Permission.objects.get(codename="approved")
+ users = User.objects.filter(groups__name=parent_group, user_permissions=perm)
# get time for filename
current_time = datetime.strftime(datetime.now(), "%H_%M__%d_%m_%y")
@@ -1748,11 +1761,20 @@ def data_request(request):
writer = csv.writer(response)
# csv header
- writer.writerow(["Codice", "Nome", "Cognome", "Email", "Nome dei genitori", "Via", "CAP", "Comune", "Nazionalita", "Data di nascita", "Telefono di casa", "Telefono", "Scuola", "Anno scolastico", "Numero AVS", "Contatto d'emergenza", "Parentela del contatto", "Telefono d'emergenza", "Cellulare emergenza", "Indirizzo completo emergenza", "Cassa malati", "Ass. Infortuni", "Ass. RC", "Socio REGA", "Nome del medico", "Telefono medico", "Indirizzo medico", "Malattie", "Vacinazioni", "Data antitetanica", "Allergie", "Assume medicamenti", "Medicamenti", "Informazioni particolari", "Informazioni"])
+ writer.writerow(["Codice", "Nome", "Cognome", "Email", "Nome dei genitori", "Indirizzo", "NAP", "Luogo", "Nazionalita", "Nazionalità secondo G+S", "Data di nascita", "numero di telefono Altro", "numero di telefono Cellulare", "Scuola", "Classe scolastica", "Numero AVS", "Contatto d'emergenza", "Parentela del contatto", "Telefono d'emergenza", "Cellulare emergenza", "Indirizzo completo emergenza", "Cassa malati", "Ass. Infortuni", "Ass. RC", "Socio REGA", "Nome del medico", "Telefono medico", "Indirizzo medico", "Malattie", "Vacinazioni", "Data antitetanica", "Allergie", "Assume medicamenti", "Medicamenti", "Informazioni particolari", "Informazioni"])
for user in users:
usercode = UserCode.objects.filter(user=user)[0]
medic = usercode.medic
+
+ nat_gs = ""
+ if "svizzera" in nationality.lower():
+ nat_gs = "CH"
+ elif "ch" == nationality.lower():
+ nat_gs = "CH"
+ else:
+ nat_gs = "DIV"
+
writer.writerow([
"U"+str(usercode.code),
user.first_name,
@@ -1763,6 +1785,7 @@ def data_request(request):
usercode.cap,
usercode.country,
usercode.nationality,
+ nat_gs,
usercode.born_date,
usercode.home_phone,
usercode.phone,