fix: Add login required on all remaining views

This commit is contained in:
James Graham
2020-03-30 20:52:09 +01:00
parent 1bc45b1106
commit 834fb3c644
4 changed files with 18 additions and 8 deletions

View File

@@ -3,6 +3,7 @@ Views for displaying / manipulating models within the Activities app.
"""
import json
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import HttpResponse
from django.views.generic import DetailView, ListView, View
from django.views.generic.detail import SingleObjectMixin
@@ -12,7 +13,7 @@ from people import permissions
from . import models
class ActivitySeriesListView(ListView):
class ActivitySeriesListView(LoginRequiredMixin, ListView):
"""
View displaying a list of :class:`ActivitySeries`.
"""
@@ -21,7 +22,7 @@ class ActivitySeriesListView(ListView):
context_object_name = 'activity_series_list'
class ActivitySeriesDetailView(DetailView):
class ActivitySeriesDetailView(LoginRequiredMixin, DetailView):
"""
View displaying details of a single :class:`ActivitySeries`.
"""
@@ -30,7 +31,7 @@ class ActivitySeriesDetailView(DetailView):
context_object_name = 'activity_series'
class ActivityListView(ListView):
class ActivityListView(LoginRequiredMixin, ListView):
"""
View displaying a list of :class:`Activity`.
"""
@@ -38,7 +39,7 @@ class ActivityListView(ListView):
template_name = 'activities/activity/list.html'
class ActivityDetailView(DetailView):
class ActivityDetailView(LoginRequiredMixin, DetailView):
"""
View displaying details of a single :class:`Activity`.
"""

View File

@@ -1,3 +1,10 @@
"""
Views belonging to the core of the project.
These views don't represent any of the models in the apps.
"""
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import TemplateView
@@ -5,5 +12,5 @@ class IndexView(TemplateView):
template_name = 'index.html'
class ExportListView(TemplateView):
class ExportListView(LoginRequiredMixin, TemplateView):
template_name = 'export.html'

View File

@@ -1,13 +1,14 @@
import csv
import typing
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import HttpResponse
from django.views.generic.list import BaseListView
from .. import models, serializers
class CsvExportView(BaseListView):
class CsvExportView(LoginRequiredMixin, BaseListView):
model = None
serializer_class = None

View File

@@ -2,12 +2,13 @@
Views for displaying or manipulating instances of :class:`Person`.
"""
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import CreateView, DetailView, ListView, UpdateView
from people import forms, models, permissions
class PersonCreateView(CreateView):
class PersonCreateView(LoginRequiredMixin, CreateView):
"""
View to create a new instance of :class:`Person`.
@@ -24,7 +25,7 @@ class PersonCreateView(CreateView):
return super().form_valid(form)
class PersonListView(ListView):
class PersonListView(LoginRequiredMixin, ListView):
"""
View displaying a list of :class:`Person` objects - searchable.
"""