From 428dee998a0891b60acb15d31941fb7311b269e0 Mon Sep 17 00:00:00 2001 From: Samuel Zielke Date: Wed, 10 Apr 2024 12:19:51 +0200 Subject: [PATCH] Edit API --- main/views.py | 104 ++- theocbase_templates/COMBO_MO_PC copy.htm | 790 +++++++++++++++++++++++ theocbase_templates/COMBO_MO_PC.htm | 2 +- 3 files changed, 892 insertions(+), 4 deletions(-) create mode 100644 theocbase_templates/COMBO_MO_PC copy.htm diff --git a/main/views.py b/main/views.py index f6d389f..8e5178b 100644 --- a/main/views.py +++ b/main/views.py @@ -32,7 +32,7 @@ def separate_string(input_string): return separated_string[:8] -def api(request): +def createApi_1(): # Aktuellen Montag abfragen und das Model.week übergeben actual = actualMonday() weeks = MainModel.week.objects @@ -124,9 +124,107 @@ def api(request): # Dict erstellen mit dem Array hinter dem Datum des Montags der Woche my_list[str(week.date_of_monday)] = week_array + + return my_list + +def createApi_2(): + # 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 = {} - # JSON Array zurückgeben - return JsonResponse(my_list, safe=False) + # Dict füllen mit den entsprechenden Informationen aus dem Laptop + for i in range(1, 7): + DatesOfServiceWeek = [] + date = 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 "" + DatesOfServiceWeek.append(time) + type = db_service_weekly.__getattribute__("type_"+str(i)) if db_service_weekly.__getattribute__("type_"+str(i)) != None else "" + DatesOfServiceWeek.append(str(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) + else: + name = "" + DatesOfServiceWeek.append(name) + DatesOfService[i] = DatesOfServiceWeek + + + # FERTIG + # Das fertige Array zusammenstellen für den Druck dieser Woche + week_array = [ + + # INFO + 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], + + # 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 + + return my_list + +def api(request): + + return JsonResponse(createApi_2(), safe=False) @login_required def index(request): diff --git a/theocbase_templates/COMBO_MO_PC copy.htm b/theocbase_templates/COMBO_MO_PC copy.htm new file mode 100644 index 0000000..81cfa21 --- /dev/null +++ b/theocbase_templates/COMBO_MO_PC copy.htm @@ -0,0 +1,790 @@ + + + + + + + + + + + + + + Combined Schedule (colorful) + + + + + + + + +
+

!REPEAT_START!

+
+ +

!Service_START!

+
+ + + + +
+ + +

Infos und Predigtdienst

+
+
+
+ + + + + + + + + + + + + + + + + + + +
Infos

Gastfreundschaft Gruppe:

Reinigung Gruppe:

Zoom-Dienst ID: 922 886 3912 / PW: 918915

Dienst




Dienst




+
+

!Service_END!

+

!MIDWEEK_START!

+
+ + #IF !MWB_NO!# + #ENDIF# + + +
+ + +

!TITLE! (!DATE ddd dd.MM.!#IF !DURATION!# - !BEGIN! !LM_STARTTIME!#ENDIF#)

+
+
+

#IF !NO_MEETING_EXCEPTION! EMPTY#

+
+ + + + + + + + + + + + +
#IF !DURATION! EMPTY# +
!SONG1_STARTTIME!
#ENDIF# +
+

!SONG! !SONG1_NO!#IF !SONG1_NAME!#: !SONG1_NAME!#ENDIF# & !PRAYER! #IF !PRAYER1_NAME!#(!PRAYER1_NAME!)#ENDIF#

+
+

!LM_CHAIRMAN! (!CHAIRMAN!)#IF !COUNSELOR_A1!# / !COUNSELOR_A1! (!COUNSELOR! !AUX_SHORT!1)#IF !COUNSELOR_A2!# / !COUNSELOR_A2! + (!COUNSELOR! !AUX_SHORT!2)

#ENDIF##ENDIF# +
#IF !DURATION!#
1
#ELSE# +
!OC_STARTTIME!
#ENDIF# +
+

!OPENING!

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
#IF !DURATION!#
#ELSE# +
#ENDIF# +
+

!GW! (!LM_SOURCE!)

+
#IF !DURATION!#
!GW1_TIME!
#ELSE# +
!GW1_STARTTIME!
#ENDIF# +
+

!GW1_THEME!

+
+

!GW1_SPEAKER!

+
#IF !DURATION!#
!GW2_TIME!
#ELSE# +
!GW2_STARTTIME!
#ENDIF# +
+

!GW2_THEME!

+
+

!GW2_SPEAKER!

+
#IF !GW3_SPEAKER_B! EMPTY# + #IF !DURATION!#
!GW3_TIME!
+ #ELSE#
!GW3_STARTTIME!
#ENDIF# +
+

!GW3_THEME!

+
+

!GW3_SPEAKER_A!

+
#ENDIF#
+ + + + + + + + + + + + +
#IF !GW3_SPEAKER_B!# + #IF !DURATION!#
!GW3_TIME!
+ #ELSE#
!GW3_STARTTIME!
#ENDIF# +
+

!GW3_THEME!

+
#IF !GW3_SPEAKER_C!# +

!GW3_SPEAKER_C!

+
!AUX_SHORT!2
+
#ENDIF# +

!GW3_SPEAKER_B!

+
!AUX_SHORT!1
+
+

!GW3_SPEAKER_A!

+
#ENDIF#
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #IF !FM3_THEME!# + + + + + + + + + + + + #ENDIF# + + #IF !FM4_THEME!# + + + + + + + + + + + + #ENDIF# +
#IF !DURATION!#
#ELSE# +
#ENDIF# +
+

!FM!

+
+ #IF !DURATION!#
!FM1_TIME!
+ #ELSE#
!FM1_STARTTIME!
#ENDIF# +
+

!FM1_THEME!

+
#IF !FM1_SPEAKER_C!# +

!FM1_SPEAKER_C!#IF !FM1_ASSISTANT_C!#
!FM1_ASSISTANT_C!#ENDIF#

+
!AUX_SHORT!2
+
#ENDIF##IF !FM1_SPEAKER_B!# +

!FM1_SPEAKER_B!#IF !FM1_ASSISTANT_B!#
!FM1_ASSISTANT_B!#ENDIF#

+
!AUX_SHORT!1
+
#ENDIF# +

!FM1_SPEAKER_A!#IF !FM1_ASSISTANT_A!#
!FM1_ASSISTANT_A!#ENDIF#

+
+ #IF !DURATION!#
!FM2_TIME!
+ #ELSE#
!FM2_STARTTIME!
#ENDIF# +
+

!FM2_THEME!

+
#IF !FM2_SPEAKER_C!# +

!FM2_SPEAKER_C!#IF !FM2_ASSISTANT_C!#
!FM2_ASSISTANT_C!#ENDIF#

+
#ENDIF##IF !FM2_SPEAKER_B!# +

!FM2_SPEAKER_B!#IF !FM2_ASSISTANT_B!#
!FM2_ASSISTANT_B!#ENDIF#

+
#ENDIF# +

!FM2_SPEAKER_A!#IF !FM2_ASSISTANT_A!#
!FM2_ASSISTANT_A!#ENDIF#

+
+ #IF !DURATION!#
!FM3_TIME!
+ #ELSE#
!FM3_STARTTIME!
#ENDIF# +
+

!FM3_THEME!

+
#IF !FM3_SPEAKER_C!# +

!FM3_SPEAKER_C!#IF !FM3_ASSISTANT_C!#
!FM3_ASSISTANT_C!#ENDIF#

+
#ENDIF##IF !FM3_SPEAKER_B!# +

!FM3_SPEAKER_B!#IF !FM3_ASSISTANT_B!#
!FM3_ASSISTANT_B!#ENDIF#

+
#ENDIF# +

!FM3_SPEAKER_A!#IF !FM3_ASSISTANT_A!#
!FM3_ASSISTANT_A!#ENDIF#

+
+ #IF !DURATION!#
!FM4_TIME!
+ #ELSE#
!FM4_STARTTIME!
#ENDIF# +
+

!FM4_THEME!

+
#IF !FM4_SPEAKER_C!# +

!FM4_SPEAKER_C!#IF !FM4_ASSISTANT_C!#
!FM4_ASSISTANT_C!#ENDIF#

+
#ENDIF##IF !FM4_SPEAKER_B!# +

!FM4_SPEAKER_B!#IF !FM4_ASSISTANT_B!#
!FM4_ASSISTANT_B!#ENDIF#

+
#ENDIF# +

!FM4_SPEAKER_A!#IF !FM4_ASSISTANT_A!#
!FM4_ASSISTANT_A!#ENDIF#

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
#IF !DURATION!#
#ELSE# +
#ENDIF# +
+

!CL!

+

!SONG! !SONG2_NO!#IF !SONG2_NAME!#: !SONG2_NAME!#ENDIF#

+ +
#IF !DURATION!#
!CL1_TIME!
#ELSE# +
!CL1_STARTTIME!
#ENDIF# +
+

!CL1_THEME!

+
+

!CL1_SPEAKER!

+
#IF !CL2_THEME!##IF !DURATION!#
!CL2_TIME!
#ELSE# +
!CL2_STARTTIME!
#ENDIF# +
+

!CL2_THEME!

+
+

!CL2_SPEAKER!

+
#ENDIF#
#IF !CO_VISIT! EMPTY##IF !DURATION!#
!CBS_TIME!
#ELSE# +
!CBS_STARTTIME!
#ENDIF# +
+

!CBS_THEME!

+
+

!CBS_CONDUCTOR! (!CONDUCTOR!)
!CBS_READER! (!READER!)

+
#ENDIF#
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
#IF !CO_VISIT!##IF !DURATION!#
3
#ELSE# +
!CC_STARTTIME!
#ENDIF# +
+

!CONCLUSION!

+
#IF !DURATION!#
!CO_TIME!
#ELSE# +
!CO_STARTTIME!
#ENDIF# +
+

!CO_THEME!

+
+

!CO_NAME! (!CO!)

+
#ENDIF#
#IF !CO_VISIT! EMPTY!##IF !DURATION!#
3
#ELSE# +
!CC_STARTTIME!
#ENDIF# +
+

!CONCLUSION!

+
#ENDIF#
#IF !DURATION! EMPTY# +
!SONG3_STARTTIME!
#ENDIF# +
+

!SONG! !SONG3_NO!#IF !SONG3_NAME!#: !SONG3_NAME!#ENDIF# & !PRAYER! #IF !PRAYER2_NAME!#(!PRAYER2_NAME!)#ENDIF#

+
+
+

#ENDIF#

+

!MIDWEEK_END!

+

!WEEKEND_START!

+
+ + #IF !WT_NO!# + #ENDIF# + + +
+ + +

!TITLE! (!DATE ddd dd.MM.!#IF !DURATION!# - !BEGIN! !PM_STARTTIME!#ENDIF#) +

+
+

#IF !NO_MEETING_EXCEPTION! EMPTY#

#IF !VIRTUAL_CONVENTION! EMPTY#

+
+ + + + + + +
#IF !DURATION! EMPTY# +
!SONG1_STARTTIME!
#ENDIF# +
+

!SONG! #IF !SONG1_NO!#!SONG1_NO!#IF !SONG1_NAME!#: !SONG1_NAME!#ENDIF##ENDIF# & !PRAYER!

+
+

!PM_CHAIRMAN! (!CHAIRMAN!)

+
+
+
+ + + + + + + +
#IF !DURATION!#
!PT_TIME!
#ELSE# +
Vortrag
#ENDIF# +
+

!PT_THEME!

+
+

!PT_SPEAKER! (!PT_SPEAKER_CONGREGATION!)

+
+
+ +
+ + + + + + + +
#IF !DURATION!#
!WT_TIME!
#ELSE# +
WT
#ENDIF# +
+

!SONG! !SONG2_NO!#IF !SONG2_NAME!#: !SONG2_NAME!#ENDIF#

+

!WT_THEME!

+
+

!WT_CONDUCTOR! (!CONDUCTOR!)#IF !CO_VISIT! EMPTY##IF !WT_READER!#
!WT_READER! (!READER!)#ENDIF##ENDIF#

+
+
+
+ + + + + + +
#IF !DURATION! EMPTY# +
!SONG3_STARTTIME!
#ENDIF# +
+

!SONG! !SONG3_NO!#IF !SONG3_NAME!#: !SONG3_NAME!#ENDIF# & !PRAYER! #IF !PRAYER2_NAME! EMPTY# (!PT_SPEAKER!)#ELSE# (!PRAYER2_NAME!)#ENDIF#

+
+
+

#ENDIF#

+

#ENDIF#

+

#IF !NO_MEETING_EXCEPTION! EMPTY#

#IF !VIRTUAL_CONVENTION!#

+
+ + + + + + +
#IF !DURATION! EMPTY# +
!SONG1_STARTTIME!
#ENDIF# +
+

!SONG! #IF !SONG1_NO!#!SONG1_NO!#IF !SONG1_NAME!#: !SONG1_NAME!#ENDIF##ENDIF# & !PRAYER!

+
+

#IF !PM_CHAIRMAN!# !PM_CHAIRMAN!#ELSE# !WT_CONDUCTOR! #ENDIF# (!CHAIRMAN!)

+
+
+
+ + + + + + + + + + + +
+ + + + + +

!WT!

+
#IF !DURATION!#
!WT_TIME!
#ELSE# +
!WT_STARTTIME!
#ENDIF# +
+

!WT_THEME!

+
+

!WT_CONDUCTOR! (!CONDUCTOR!)#IF !CO_VISIT! EMPTY##IF !WT_READER!#
!WT_READER! (!READER!)#ENDIF##ENDIF#

+
+
+

#IF !CO_VISIT! EMPTY#

+
+ + + + + +
#IF !DURATION! EMPTY# +
!SONG2_STARTTIME!
#ENDIF# +
+

!SONG! !SONG3_NO!#IF !SONG3_NAME!#: !SONG3_NAME!#ENDIF# & !PRAYER! #IF !PRAYER2_NAME!#(!PRAYER2_NAME!)#ENDIF#

+
+
+

#ENDIF#

+

#ENDIF#

+

#ENDIF#

+

!WEEKEND_END!

+

!PTOUT_START!

+ #IF !PT_NO!# +
+ + + + +
+ +

!TITLE!

+
+
+
+ + + + + +
+
!DATE dd.MM.!
+
+

!PT_SPEAKER! (!PT_CONGREGATION! / !PM_STARTTIME!)

+
+
+ #ENDIF# +

!PTOUT_END!

+

!Technik_START!

+
+ + + + +
+ +

Ordner und Technik

+
+
+
+ + + + + + + + + + + + +
Ordner

Saal

Foyer

Technik

Anlage

Zoom

Bühne

+
+

+

!Technik_END!

+
+ +

!REPEAT_END!

+
+ + + + diff --git a/theocbase_templates/COMBO_MO_PC.htm b/theocbase_templates/COMBO_MO_PC.htm index cdb612b..25a8cf2 100644 --- a/theocbase_templates/COMBO_MO_PC.htm +++ b/theocbase_templates/COMBO_MO_PC.htm @@ -16,7 +16,7 @@