From d086bb946542854d159e968cdfdc8bc0405c5812 Mon Sep 17 00:00:00 2001 From: mipel Date: Fri, 2 Jul 2021 10:08:00 +0200 Subject: [PATCH] Permission rethinking * No detailed permissions due to django constraints on model-based permissions * instead: logic controlled permission by group membership * adds translations --- konova/utils/user_checks.py | 21 +++++++++++++++++++++ konova/views.py | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 konova/utils/user_checks.py diff --git a/konova/utils/user_checks.py b/konova/utils/user_checks.py new file mode 100644 index 0000000..84834a3 --- /dev/null +++ b/konova/utils/user_checks.py @@ -0,0 +1,21 @@ +""" +Author: Michel Peltriaux +Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany +Contact: michel.peltriaux@sgdnord.rlp.de +Created on: 02.07.21 + +""" +from django.contrib.auth.models import User + + +def in_group(user: User, group: str) -> bool: + """ Checks if the user is part of a group + + Args: + user (User): The user object + group (str): The group's name + + Returns: + bool + """ + return group in user.groups.values("name") diff --git a/konova/views.py b/konova/views.py index 3d8e6a2..3a7fb45 100644 --- a/konova/views.py +++ b/konova/views.py @@ -41,4 +41,4 @@ def home_view(request: HttpRequest): additional_context = {} context = BaseContext(request, additional_context).context - return render(request, template, context) \ No newline at end of file + return render(request, template, context)