From 3babf80a3bd978227536241bef8bccd4fd39b97e Mon Sep 17 00:00:00 2001 From: George Lacey Date: Fri, 7 May 2021 21:12:37 +0100 Subject: [PATCH] Add login form and require permissions --- borgweb/borg/views.py | 4 ++++ borgweb/borgweb/settings.py | 4 +++- borgweb/borgweb/urls.py | 4 ++-- borgweb/templates/registration/login.html | 17 +++++++++++++++++ 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 borgweb/templates/registration/login.html diff --git a/borgweb/borg/views.py b/borgweb/borg/views.py index 9166d7a..18d0ad5 100644 --- a/borgweb/borg/views.py +++ b/borgweb/borg/views.py @@ -4,6 +4,7 @@ from django.http import HttpResponseRedirect from .models import Repo, Label, Archive, Cache, Error from django.urls import reverse from .forms import RepoForm, ArchiveForm, ErrorForm +from django.contrib.auth.decorators import permission_required def index(request): @@ -17,6 +18,7 @@ def index(request): return render(request, 'borg/index.html', context) +@permission_required("borg.add_repo") def get_repo(request): if request.method == 'POST': form = RepoForm(request.POST) @@ -44,6 +46,7 @@ def get_repo(request): return render(request, 'borg/repo.html', {'form': form}) +@permission_required("borg.add_archive") def get_archive(request): if request.method == 'POST': form = ArchiveForm(request.POST) @@ -71,6 +74,7 @@ def get_archive(request): return render(request, 'borg/archive.html', {'form': form}) +@permission_required("borg.add_error") def get_error(request): if request.method == 'POST': form = ErrorForm(request.POST) diff --git a/borgweb/borgweb/settings.py b/borgweb/borgweb/settings.py index 4709968..df1b465 100644 --- a/borgweb/borgweb/settings.py +++ b/borgweb/borgweb/settings.py @@ -54,10 +54,12 @@ MIDDLEWARE = [ ROOT_URLCONF = 'borgweb.urls' +LOGIN_REDIRECT_URL = '/' + TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], + 'DIRS': [str(BASE_DIR.joinpath('templates'))], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ diff --git a/borgweb/borgweb/urls.py b/borgweb/borgweb/urls.py index 5e770fd..db47c5f 100644 --- a/borgweb/borgweb/urls.py +++ b/borgweb/borgweb/urls.py @@ -15,9 +15,9 @@ Including another URLconf """ from django.contrib import admin from django.urls import include, path -from django.http import HttpResponseRedirect urlpatterns = [ - path('', include('borg.urls')), + path('accounts/', include('django.contrib.auth.urls')), path('admin/', admin.site.urls), + path('', include('borg.urls')), ] diff --git a/borgweb/templates/registration/login.html b/borgweb/templates/registration/login.html new file mode 100644 index 0000000..5eb1164 --- /dev/null +++ b/borgweb/templates/registration/login.html @@ -0,0 +1,17 @@ + + + + + Login + + +{% block content %} +

Log In

+
+ {% csrf_token %} + {{ form.as_p }} + +
+{% endblock %} + + \ No newline at end of file