[FEAT] Limit Map and Network views to admins

This commit is contained in:
2023-03-25 13:54:55 +00:00
parent e37d5fcb61
commit 21088a1412
5 changed files with 19 additions and 16 deletions

View File

@@ -104,15 +104,15 @@
<a href="{% url 'activities:activity.list' %}" class="nav-link">Activities</a>
</li>
<li class="nav-item">
<a href="{% url 'people:map' %}" class="nav-link">Map</a>
</li>
<li class="nav-item">
<a href="{% url 'people:network' %}" class="nav-link">Network</a>
</li>
{% if request.user.is_superuser %}
<li class="nav-item">
<a href="{% url 'people:map' %}" class="nav-link">Map</a>
</li>
<li class="nav-item">
<a href="{% url 'people:network' %}" class="nav-link">Network</a>
</li>
<li class="nav-item">
<a href="{% url 'export:index' %}" class="nav-link">Export</a>
</li>

View File

@@ -9,6 +9,8 @@ from django.contrib.auth.mixins import LoginRequiredMixin
from django.urls import reverse
from django.views.generic import TemplateView
from django.views.generic.edit import UpdateView
from django.contrib.auth.mixins import UserPassesTestMixin
import typing
from . import forms
@@ -19,6 +21,10 @@ class IndexView(TemplateView):
# Template set in Django settings file - may be customised by a customisation app
template_name = settings.TEMPLATE_NAME_INDEX
class UserIsStaffMixin(UserPassesTestMixin):
def test_func(self) -> typing.Optional[bool]:
return self.request.user.is_staff
class ConsentTextView(LoginRequiredMixin, UpdateView):
"""View with consent text and form for users to indicate consent."""