From 0dd6f9c8bfbba3fc710cdb3bb89d37caab1756ed Mon Sep 17 00:00:00 2001 From: Samuel Zielke Date: Fri, 3 May 2024 19:32:03 +0200 Subject: [PATCH] Edit API and Form --- main/views.py | 47 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/main/views.py b/main/views.py index 9cf7b31..b9b64c2 100644 --- a/main/views.py +++ b/main/views.py @@ -87,10 +87,31 @@ def createApi(): else: name = "" DatesOfServiceWeek.append(name) - type = str(db_service_weekly.__getattribute__("type_"+str(i))) if db_service_weekly.__getattribute__("type_"+str(i)) != None else "" - DatesOfServiceWeek.append(str(type)) + # Type + service_type = ['Zoom', 'Saal', 'Gruppe'] + if db_service_weekly.__getattribute__(f"sonder_{i}"): + type = str(db_service_weekly.__getattribute__(f"sonder_{i}_name")) if db_service_weekly.__getattribute__(f"sonder_{i}_name") != None else "" + else: + type = str(service_type[db_service_weekly.__getattribute__(f"type_{i}")-1]) if db_service_weekly.__getattribute__(f"type_{i}") != 0 else "" + DatesOfServiceWeek.append(type) DatesOfService[i] = DatesOfServiceWeek + # Infos Vorbereiten + if db_info.get(week=week).gast != None: + gast_info = str("Gruppe " + db_info.get(week=week).gast.Name) if db_info.get(week=week).gast.Name != "Russisch" else str(db_info.get(week=week).gast.Name) + else: + gast_info = "" + + if db_info.get(week=week).cleaning != None: + cleaning_info = str("Gruppe " + db_info.get(week=week).cleaning.Name) if db_info.get(week=week).cleaning.Name != "Russisch" else str(db_info.get(week=week).cleaning.Name) + else: + cleaning_info = "" + + if db_info.get(week=week).additional_cleaning != None: + additional_cleaning_info = str("Gruppe " + db_info.get(week=week).additional_cleaning.Name) if db_info.get(week=week).additional_cleaning.Name != "Russisch" else str(db_info.get(week=week).additional_cleaning.Name) + else: + additional_cleaning_info = "" + # FERTIG # Das fertige Array zusammenstellen für den Druck dieser Woche @@ -98,9 +119,9 @@ def createApi(): # INFO str("- " + week.info_field) if week.info_field != "" else "", - str(db_info.get(week=week).gast.Name) if db_info.get(week=week).gast != None else "", - str(db_info.get(week=week).cleaning.Name) if db_info.get(week=week).cleaning != None else "", - str(db_info.get(week=week).additional_cleaning.Name) if db_info.get(week=week).additional_cleaning != None else "", + gast_info, + cleaning_info, + additional_cleaning_info, # PREDIGTDIENST DatesOfService[1][0], DatesOfService[1][1], @@ -165,6 +186,9 @@ def index(request): if request.method == "POST": if 'formsend' in request.POST: + # FOR DEBUG + # print(request.POST) + # ÜBERPRÜFEN OB DIE "WEEK" SCHON EINEN EINTRAG HAT - SONST ANLEGEN MainModel.week.objects.create(date_of_monday=strDate) if MainModel.week.objects.filter(date_of_monday=strDate).count() < 1 else ... @@ -197,10 +221,12 @@ def index(request): week = MainModel.week.objects.get(date_of_monday=strDate), gast = gruppen_data.get(id=post_info[0]) if post_info[0] != "0" else None, cleaning = gruppen_data.get(id=post_info[1]) if post_info[1] != "0" else None, + additional_cleaning = gruppen_data.get(id=post_info[2]) if post_info[2] != "0" else None, ) else: info_data.gast = gruppen_data.get(id=post_info[0]) if post_info[0] != "0" else None info_data.cleaning = gruppen_data.get(id=post_info[1]) if post_info[1] != "0" else None + info_data.additional_cleaning = gruppen_data.get(id=post_info[2]) if post_info[2] != "0" else None info_data.save() # PREDIGTDIENST @@ -210,8 +236,15 @@ def index(request): service_data.__setattr__("date_"+str(i), post_service_date[i-1]) if post_service_date[i-1] != "" else service_data.__setattr__("date_"+str(i), None) # Uhrzeit service_data.__setattr__("time_"+str(i), post_service_time[i-1]) if post_service_time[i-1] != "" else service_data.__setattr__("time_"+str(i), None) - # Type - service_data.__setattr__("type_"+str(i), post_service_type[i-1]) if post_service_type[i-1] != "0" else service_data.__setattr__("type_"+str(i), None) + # ORT/TYP + if str(request.POST.get(f'smm_{i}')).find("sonder") > 0: + service_data.__setattr__(f"sonder_{i}", True) + service_data.__setattr__(f"type_{i}", None) + service_data.__setattr__(f"sonder_{i}_name", post_service_type[i-1]) + else: + service_data.__setattr__(f"sonder_{i}", False) + service_data.__setattr__(f"type_{i}", post_service_type[i-1]) + service_data.__setattr__(f"sonder_{i}_name", None) # Leiter service_data.__setattr__("speaker_"+str(i), persons.get(id=post_service_speaker[i-1])) if post_service_speaker[i-1] != "0" else service_data.__setattr__("speaker_"+str(i), None) service_data.save()