diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..1b057cb Binary files /dev/null and b/.DS_Store differ diff --git a/main/views.py b/main/views.py index e85700c..52171ab 100644 --- a/main/views.py +++ b/main/views.py @@ -2,6 +2,9 @@ from django.shortcuts import render, redirect from django.contrib.auth.decorators import login_required import datetime from . import models as MainModel +from django.http import JsonResponse + +wochentage = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag'] def actualMonday(): today = datetime.date.today() @@ -29,6 +32,65 @@ def separate_string(input_string): return separated_string[:8] +def api(request): + actual = actualMonday() + weeks = MainModel.week.objects + # Datenbank Abfragen vorbereiten + db_info = MainModel.info.objects.all() + db_service = MainModel.service.objects.all() + + my_list = {} + for i in range(0, 8): + new_actual = actual + datetime.timedelta(weeks=+i) + new_actual = new_actual.strftime("%d.%m.%y") + if weeks.filter(date_of_monday=new_actual).count() > 0: + week = weeks.get(date_of_monday=new_actual) + else: + break + db_service_weekly = db_service.get(week=week) + + DatesOfService = {} + + 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 "" + 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) + else: + name = "" + DatesOfServiceWeek.append(name) + DatesOfService[i] = DatesOfServiceWeek + + print(DatesOfService) + week_array = [ + + # INFO + str(db_info.get(week=week).gast.Name), + str(db_info.get(week=week).cleaning.Name), + + # 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], + ] + my_list[str(week.date_of_monday)] = week_array + + return JsonResponse(my_list, safe=False) + @login_required def index(request): error = False diff --git a/mo/settings.py b/mo/settings.py index bd5fd46..5eb2225 100644 --- a/mo/settings.py +++ b/mo/settings.py @@ -39,7 +39,8 @@ INSTALLED_APPS = [ 'django.contrib.staticfiles', 'login', - 'main' + 'main', + 'corsheaders' ] MIDDLEWARE = [ @@ -50,8 +51,11 @@ MIDDLEWARE = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'corsheaders.middleware.CorsMiddleware' ] +CORS_ORIGIN_ALLOW_ALL = True + ROOT_URLCONF = 'mo.urls' TEMPLATES = [ diff --git a/mo/urls.py b/mo/urls.py index b3825b9..d78b7cb 100644 --- a/mo/urls.py +++ b/mo/urls.py @@ -17,6 +17,7 @@ Including another URLconf from django.contrib import admin from django.urls import path, include from .views import logout_view +from main.views import api urlpatterns = [ path('admin/', admin.site.urls), @@ -24,5 +25,6 @@ urlpatterns = [ path('main/', include(('main.urls', 'login'), namespace='main')), path('', include('login.urls')), path("accounts/login/", include('login.urls')), - path("logout/", logout_view) + path("logout/", logout_view), + path("api/", api, name='api') ] diff --git a/theocbase_templates/COMBO_MO_PC.htm b/theocbase_templates/COMBO_MO_PC.htm index e697335..cdb612b 100644 --- a/theocbase_templates/COMBO_MO_PC.htm +++ b/theocbase_templates/COMBO_MO_PC.htm @@ -13,7 +13,17 @@ Combined Schedule (colorful) - + +