konova/konova/views.py
mipel 6b245a2a06 Dashboard
* finishes work on dashboard
2021-07-07 13:46:33 +02:00

66 lines
1.6 KiB
Python

"""
Author: Michel Peltriaux
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
Contact: michel.peltriaux@sgdnord.rlp.de
Created on: 16.11.20
"""
from django.contrib.auth import logout
from django.contrib.auth.decorators import login_required
from django.http import HttpRequest
from django.shortcuts import redirect, render
from django.utils import timezone
from konova.contexts import BaseContext
from news.models import ServerMessage
from konova.settings import SSO_SERVER_BASE
def logout_view(request: HttpRequest):
"""
Logout route for ending the session manually.
Args:
request (HttpRequest): The used request object
Returns:
A redirect
"""
logout(request)
return redirect(SSO_SERVER_BASE)
@login_required
def home_view(request: HttpRequest):
"""
Renders the landing page
Args:
request (HttpRequest): The used request object
Returns:
A redirect
"""
template = "konova/home.html"
now = timezone.now()
# Fetch the four newest active and published ServerMessages
msgs = ServerMessage.objects.filter(
is_active=True,
publish_on__lte=now,
unpublish_on__gte=now,
).order_by(
"-publish_on"
)[:4]
additional_context = {
"msgs": msgs,
"total_intervention_count": 123,
"user_intervention_count": 5,
"total_compensation_count": 123,
"user_compensation_count": 5,
"total_eco_count": 123,
"user_eco_count": 5,
}
context = BaseContext(request, additional_context).context
return render(request, template, context)