Add Template and create API - start dev of api Link data

main
Samuel Zielke 2 years ago
parent 8ae761205f
commit 9c2c90e431

BIN
.DS_Store vendored

Binary file not shown.

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

@ -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 = [

@ -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')
]

@ -13,7 +13,17 @@
<meta name="version" content="5.0.1">
<title>Combined Schedule (colorful)</title>
<link href="http://fonts.googleapis.com/css?family=Ubuntu+Condensed|Lato:400,400italic,700" rel="stylesheet" type="text/css">
<script src="http://api.samuelzielke.de/db.js"></script>
<!-- <script src="http://api.samuelzielke.de/db.js"></script> -->
<script>
const test = "";
fetch('http://localhost:8000/api/')
.then(response => response.json())
.then(data => {
console.log(data);
test1 = data
})
.catch(error => console.error('Error:', error));
</script>
<script>window.weekdate = [];</script>
<style type="text/css">
body { margin: 0; padding: 0; font-family: 'Lato',sans-serif; font-size: 0.750rem; }
@ -758,10 +768,8 @@
myIndex = 0;
weeklistpos = weeklistpos + 1;
}
element.innerHTML = test[window.weekdate[weeklistpos]][myIndex];
console.log(window.weekdate);
console.log(weeklistpos);
console.log(myIndex);
element.innerHTML = test1[window.weekdate[weeklistpos]][myIndex];
// element.innerHTML = test1[1];
myIndex = myIndex + 1;
});
</script>

Loading…
Cancel
Save

Powered by TurnKey Linux.