diff --git a/main/views.py b/main/views.py index 52171ab..f6d389f 100644 --- a/main/views.py +++ b/main/views.py @@ -33,62 +33,99 @@ def separate_string(input_string): return separated_string[:8] def api(request): + # Aktuellen Montag abfragen und das Model.week übergeben actual = actualMonday() weeks = MainModel.week.objects + # Datenbank Abfragen vorbereiten db_info = MainModel.info.objects.all() db_service = MainModel.service.objects.all() + db_steward = MainModel.steward.objects.all() + db_regie = MainModel.regie.objects.all() + # Leeres Dict für die Übergabe an TheoDocs my_list = {} + + # Wir wollen 8 Wochen übertragen (Wenn so viele gepflegt sind) for i in range(0, 8): + # Aktuelle Woche abfragen und String generieren new_actual = actual + datetime.timedelta(weeks=+i) new_actual = new_actual.strftime("%d.%m.%y") + + # Wenn kein Eintrag vorhanden ist if weeks.filter(date_of_monday=new_actual).count() > 0: week = weeks.get(date_of_monday=new_actual) else: break + + # ANPASSEN/VERTIEGEN DER ABFRAGEN VON DEN VERSCHIEDENEN MODELS + # Predigtdienst DB abfragen db_service_weekly = db_service.get(week=week) + db_steward_weekly = db_steward.get(week=week) + db_regie_weekly = db_regie.get(week=week) + # PREDIGTDIENST VORBEREITUNG + # Leeres Dict für die eintragung des einzelnen Treffpunktes und der Informationen DatesOfService = {} + # Dict füllen mit den entsprechenden Informationen aus dem Laptop for i in range(1, 7): DatesOfServiceWeek = [] date = wochentage[db_service_weekly.__getattribute__("date_"+str(i)).weekday()] if db_service_weekly.__getattribute__("date_"+str(i)) != None else "" DatesOfServiceWeek.append(date) - time = db_service_weekly.__getattribute__("time_"+str(i)).strftime("%H:%M Uhr") if db_service_weekly.__getattribute__("time_"+str(i)) != None else "" + time = " - " + db_service_weekly.__getattribute__("time_"+str(i)).strftime("%H:%M Uhr") if db_service_weekly.__getattribute__("time_"+str(i)) != None else "" DatesOfServiceWeek.append(time) type = str(db_service_weekly.__getattribute__("type_"+str(i))) if db_service_weekly.__getattribute__("type_"+str(i)) != None else "" DatesOfServiceWeek.append(type) if db_service_weekly.__getattribute__("speaker_"+str(i)) != None: - name = str(db_service_weekly.__getattribute__("speaker_"+str(i)).first_name[:3]) + ". " + str(db_service_weekly.__getattribute__("speaker_"+str(i)).name) + name = " - " + str(db_service_weekly.__getattribute__("speaker_"+str(i)).first_name[:3]) + ". " + str(db_service_weekly.__getattribute__("speaker_"+str(i)).name) else: name = "" DatesOfServiceWeek.append(name) DatesOfService[i] = DatesOfServiceWeek - - print(DatesOfService) + + + # FERTIG + # Das fertige Array zusammenstellen für den Druck dieser Woche week_array = [ # INFO - str(db_info.get(week=week).gast.Name), - str(db_info.get(week=week).cleaning.Name), + 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 "", # PREDIGTDIENST - DatesOfService[1][0] + " - " + DatesOfService[1][1], - DatesOfService[1][2] + " - " + DatesOfService[1][3], - DatesOfService[2][0] + " - " + DatesOfService[2][1], - DatesOfService[2][2] + " - " + DatesOfService[2][3], - DatesOfService[3][0] + " - " + DatesOfService[3][1], - DatesOfService[3][2] + " - " + DatesOfService[3][3], - DatesOfService[4][0] + " - " + DatesOfService[4][1], - DatesOfService[4][2] + " - " + DatesOfService[4][3], - DatesOfService[5][0] + " - " + DatesOfService[5][1], - DatesOfService[5][2] + " - " + DatesOfService[5][3], - DatesOfService[6][0] + " - " + DatesOfService[6][1], - DatesOfService[6][2] + " - " + DatesOfService[6][3], + DatesOfService[1][0] + DatesOfService[1][1], + DatesOfService[1][2] + DatesOfService[1][3], + DatesOfService[2][0] + DatesOfService[2][1], + DatesOfService[2][2] + DatesOfService[2][3], + DatesOfService[3][0] + DatesOfService[3][1], + DatesOfService[3][2] + DatesOfService[3][3], + DatesOfService[4][0] + DatesOfService[4][1], + DatesOfService[4][2] + DatesOfService[4][3], + DatesOfService[5][0] + DatesOfService[5][1], + DatesOfService[5][2] + DatesOfService[5][3], + DatesOfService[6][0] + DatesOfService[6][1], + DatesOfService[6][2] + DatesOfService[6][3], + + # ORDNER + str(db_steward_weekly.hall_1.first_name[:3]) + ". " + str(db_steward_weekly.hall_1.name) if db_steward_weekly.hall_1 != None else "", + str(db_steward_weekly.hall_2.first_name[:3]) + ". " + str(db_steward_weekly.hall_2.name) if db_steward_weekly.hall_2 != None else "", + str(db_steward_weekly.foyer_1.first_name[:3]) + ". " + str(db_steward_weekly.foyer_1.name) if db_steward_weekly.foyer_1 != None else "", + str(db_steward_weekly.foyer_2.first_name[:3]) + ". " + str(db_steward_weekly.foyer_2.name) if db_steward_weekly.foyer_2 != None else "", + + # ANLAGE + str(db_regie_weekly.regie_1.first_name[:3]) + ". " + str(db_regie_weekly.regie_1.name) if db_regie_weekly.regie_1 != None else "", + str(db_regie_weekly.regie_2.first_name[:3]) + ". " + str(db_regie_weekly.regie_2.name) if db_regie_weekly.regie_2 != None else "", + str(db_regie_weekly.zoom_1.first_name[:3]) + ". " + str(db_regie_weekly.zoom_1.name) if db_regie_weekly.zoom_1 != None else "", + str(db_regie_weekly.zoom_2.first_name[:3]) + ". " + str(db_regie_weekly.zoom_2.name) if db_regie_weekly.zoom_2 != None else "", + str(db_regie_weekly.stage.first_name[:3]) + ". " + str(db_regie_weekly.stage.name) if db_regie_weekly.stage != None else "", + ] + + # Dict erstellen mit dem Array hinter dem Datum des Montags der Woche my_list[str(week.date_of_monday)] = week_array + # JSON Array zurückgeben return JsonResponse(my_list, safe=False) @login_required