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]
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

Loading…
Cancel
Save

Powered by TurnKey Linux.