azube/core/views.py

47 lines
1.2 KiB
Python
Raw Normal View History

2024-12-02 16:49:45 +01:00
from django.shortcuts import render
from .azure_auth import AzureUser
from .models import Berichtsheft
import datetime
import json
# Create your views here.
def next_date(year: int, week: int) -> (int, int):
if week >= 52:
return (year + 1, 1)
else:
return (year, week + 1)
def write_new_report(request):
user = AzureUser(request)
# TODO : Get template for user
definition = json.loads(open("report_weekly.json").read())
# Get the latest year and week
latest = Berichtsheft.objects.filter(user=user).order_by('-year', '-week').first()
if latest is not None:
current_year, current_week = next_date(latest.year, latest.week)
else:
current_year, current_week, _ = datetime.datetime.today().isocalendar()
# Get cookies for persistent saves
return render(request, "write.html", {
"user": user,
"year": current_year,
"week": current_week,
"definition": definition
})
def index(request):
user = AzureUser(request)
# Get all berichtshefte
all_reports = Berichtsheft.objects.filter(user=user)
return render(request, "index.html", {"user": user, "reports": all_reports})
def test(request):
return render(request, "test.html", {})