From 938be8c808966f069add7b4e88dfec0414f62177 Mon Sep 17 00:00:00 2001 From: George Lacey Date: Wed, 13 Apr 2022 01:33:09 +0100 Subject: [PATCH] Implement basic error display --- borgweb/borg/templates/borg/errors.html | 35 +++++++++++++++++++ .../borg/templates/borg/repo-template.html | 23 ------------ borgweb/borg/urls.py | 1 + borgweb/borg/views/views.py | 7 ++++ 4 files changed, 43 insertions(+), 23 deletions(-) create mode 100644 borgweb/borg/templates/borg/errors.html delete mode 100644 borgweb/borg/templates/borg/repo-template.html diff --git a/borgweb/borg/templates/borg/errors.html b/borgweb/borg/templates/borg/errors.html new file mode 100644 index 0000000..11c36fa --- /dev/null +++ b/borgweb/borg/templates/borg/errors.html @@ -0,0 +1,35 @@ +{% extends "borg/base.html" %} +{% load cache %} +{% load static %} + +{% block title %}{{ repo.label }} errors{% endblock %} +{% block script %} +{% endblock %} + +{% block style %} + {{ block.super }} + .error-container { + padding: 8px; + margin: 8px; + } +{% endblock %} +{% block body %} + {% if errors %} +
+ + {% else %} +
+
+

No errors found

+
+
+ {% endif %} +
+{% endblock %} + diff --git a/borgweb/borg/templates/borg/repo-template.html b/borgweb/borg/templates/borg/repo-template.html deleted file mode 100644 index 416157b..0000000 --- a/borgweb/borg/templates/borg/repo-template.html +++ /dev/null @@ -1,23 +0,0 @@ - \ No newline at end of file diff --git a/borgweb/borg/urls.py b/borgweb/borg/urls.py index 79da24e..1e299d5 100644 --- a/borgweb/borg/urls.py +++ b/borgweb/borg/urls.py @@ -20,6 +20,7 @@ urlpatterns = [ # Repo page path('repo/', cache_page(60)(views.repo), name='repo'), + path('repo//errors', cache_page(60)(views.repo_errors), name='repo'), # POST path('post/repo', views.post_repo, name='post repo'), diff --git a/borgweb/borg/views/views.py b/borgweb/borg/views/views.py index 085f79c..6a63843 100644 --- a/borgweb/borg/views/views.py +++ b/borgweb/borg/views/views.py @@ -1,3 +1,4 @@ +from django.contrib.auth.decorators import permission_required from django.shortcuts import render, get_object_or_404 from ..models import Repo @@ -16,5 +17,11 @@ def repo(request, repo_label: str): return render(request, 'borg/repo.html', {'repo': s_repo}) +@permission_required("borg.view_error") +def repo_errors(request, repo_label: str): + s_repo = get_object_or_404(Repo, label__label=repo_label) + return render(request, 'borg/errors.html', {'errors': s_repo.label.errors.all().order_by('-time')}) + + def axes(request, credentials, *args, **kwargs): return render(request, 'error/axes.html', {})