Skip to content
Snippets Groups Projects
Commit b792e0a6 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch '149-relatedobjectdoesnotexist-at-user-has-no-person' into 'master'

Resolve "RelatedObjectDoesNotExist at /  User has no person."

Closes #149

See merge request AlekSIS/AlekSIS!110
parents 415333d8 cb077883
No related branches found
No related tags found
1 merge request!110Resolve "RelatedObjectDoesNotExist at / User has no person."
Pipeline #577 failed
from typing import Callable
from django.contrib.auth.decorators import user_passes_test
from django.contrib.auth.decorators import login_required, user_passes_test
def admin_required(function: Callable = None) -> Callable:
actual_decorator = user_passes_test(lambda u: u.is_active and u.is_superuser)
return actual_decorator(function)
def person_required(function: Callable = None) -> Callable:
""" Requires a logged-in user which is linked to a person. """
actual_decorator = user_passes_test(lambda u: user.person is not None)
return actual_decorator(login_required(function))
......@@ -8,7 +8,7 @@ from django.utils.translation import ugettext_lazy as _
from django_tables2 import RequestConfig
from .decorators import admin_required
from .decorators import admin_required, person_required
from .forms import (
EditGroupForm,
EditPersonForm,
......@@ -21,23 +21,17 @@ from .tables import GroupsTable, PersonsTable
from .util import messages
@login_required
@person_required
def index(request: HttpRequest) -> HttpResponse:
context = {}
if request.user.is_authenticated:
activities = request.user.person.activities.all()[:5]
notifications = (
request.user.person.notifications.all()[:5]
)
unread_notifications = (
request.user.person.notifications.all().filter(read=False)
)
activities = request.user.person.activities.all()[:5]
notifications = request.user.person.notifications.all()[:5]
unread_notifications = request.user.person.notifications.all().filter(read=False)
context["activities"] = activities
context["notifications"] = notifications
context["unread_notifications"] = unread_notifications
context["activities"] = activities
context["notifications"] = notifications
context["unread_notifications"] = unread_notifications
return render(request, "core/index.html", context)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment