API ist ready to use and alle fields filled with db data

main
Samuel Zielke 2 years ago
parent 9c2c90e431
commit 63a8f308c2

@ -33,62 +33,99 @@ def separate_string(input_string):
return separated_string[:8] return separated_string[:8]
def api(request): def api(request):
# Aktuellen Montag abfragen und das Model.week übergeben
actual = actualMonday() actual = actualMonday()
weeks = MainModel.week.objects weeks = MainModel.week.objects
# Datenbank Abfragen vorbereiten # Datenbank Abfragen vorbereiten
db_info = MainModel.info.objects.all() db_info = MainModel.info.objects.all()
db_service = MainModel.service.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 = {} my_list = {}
# Wir wollen 8 Wochen übertragen (Wenn so viele gepflegt sind)
for i in range(0, 8): for i in range(0, 8):
# Aktuelle Woche abfragen und String generieren
new_actual = actual + datetime.timedelta(weeks=+i) new_actual = actual + datetime.timedelta(weeks=+i)
new_actual = new_actual.strftime("%d.%m.%y") new_actual = new_actual.strftime("%d.%m.%y")
# Wenn kein Eintrag vorhanden ist
if weeks.filter(date_of_monday=new_actual).count() > 0: if weeks.filter(date_of_monday=new_actual).count() > 0:
week = weeks.get(date_of_monday=new_actual) week = weeks.get(date_of_monday=new_actual)
else: else:
break break
# ANPASSEN/VERTIEGEN DER ABFRAGEN VON DEN VERSCHIEDENEN MODELS
# Predigtdienst DB abfragen
db_service_weekly = db_service.get(week=week) 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 = {} DatesOfService = {}
# Dict füllen mit den entsprechenden Informationen aus dem Laptop
for i in range(1, 7): for i in range(1, 7):
DatesOfServiceWeek = [] DatesOfServiceWeek = []
date = wochentage[db_service_weekly.__getattribute__("date_"+str(i)).weekday()] if db_service_weekly.__getattribute__("date_"+str(i)) != None else "" date = wochentage[db_service_weekly.__getattribute__("date_"+str(i)).weekday()] if db_service_weekly.__getattribute__("date_"+str(i)) != None else ""
DatesOfServiceWeek.append(date) 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) DatesOfServiceWeek.append(time)
type = str(db_service_weekly.__getattribute__("type_"+str(i))) if db_service_weekly.__getattribute__("type_"+str(i)) != None else "" type = str(db_service_weekly.__getattribute__("type_"+str(i))) if db_service_weekly.__getattribute__("type_"+str(i)) != None else ""
DatesOfServiceWeek.append(type) DatesOfServiceWeek.append(type)
if db_service_weekly.__getattribute__("speaker_"+str(i)) != None: 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: else:
name = "" name = ""
DatesOfServiceWeek.append(name) DatesOfServiceWeek.append(name)
DatesOfService[i] = DatesOfServiceWeek DatesOfService[i] = DatesOfServiceWeek
print(DatesOfService)
# FERTIG
# Das fertige Array zusammenstellen für den Druck dieser Woche
week_array = [ week_array = [
# INFO # INFO
str(db_info.get(week=week).gast.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), str(db_info.get(week=week).cleaning.Name) if db_info.get(week=week).cleaning != None else "",
# PREDIGTDIENST # PREDIGTDIENST
DatesOfService[1][0] + " - " + DatesOfService[1][1], DatesOfService[1][0] + DatesOfService[1][1],
DatesOfService[1][2] + " - " + DatesOfService[1][3], DatesOfService[1][2] + DatesOfService[1][3],
DatesOfService[2][0] + " - " + DatesOfService[2][1], DatesOfService[2][0] + DatesOfService[2][1],
DatesOfService[2][2] + " - " + DatesOfService[2][3], DatesOfService[2][2] + DatesOfService[2][3],
DatesOfService[3][0] + " - " + DatesOfService[3][1], DatesOfService[3][0] + DatesOfService[3][1],
DatesOfService[3][2] + " - " + DatesOfService[3][3], DatesOfService[3][2] + DatesOfService[3][3],
DatesOfService[4][0] + " - " + DatesOfService[4][1], DatesOfService[4][0] + DatesOfService[4][1],
DatesOfService[4][2] + " - " + DatesOfService[4][3], DatesOfService[4][2] + DatesOfService[4][3],
DatesOfService[5][0] + " - " + DatesOfService[5][1], DatesOfService[5][0] + DatesOfService[5][1],
DatesOfService[5][2] + " - " + DatesOfService[5][3], DatesOfService[5][2] + DatesOfService[5][3],
DatesOfService[6][0] + " - " + DatesOfService[6][1], DatesOfService[6][0] + DatesOfService[6][1],
DatesOfService[6][2] + " - " + DatesOfService[6][3], 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 my_list[str(week.date_of_monday)] = week_array
# JSON Array zurückgeben
return JsonResponse(my_list, safe=False) return JsonResponse(my_list, safe=False)
@login_required @login_required

Loading…
Cancel
Save

Powered by TurnKey Linux.