Create error form

This commit is contained in:
George Lacey 2021-05-07 20:31:19 +01:00
parent 194afd9c66
commit 7208421021
5 changed files with 42 additions and 2 deletions

View File

@ -1,2 +1,3 @@
from .repoform import RepoForm
from .archiveform import ArchiveForm
from .errorform import ErrorForm

View File

@ -0,0 +1,7 @@
from django import forms
class ErrorForm(forms.Form):
label = forms.CharField(label='Label')
error = forms.CharField(label='Fingerprint')
time = forms.DateTimeField(label='Last Modified', input_formats=["%Y-%m-%dT%H:%M:%S.%z"])

View File

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Add error</title>
</head>
<body>
<form action="error" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit">
</form>
</body>
</html>

View File

@ -6,4 +6,5 @@ urlpatterns = [
path('', views.index, name='index'),
path('repo', views.get_repo, name='repo'),
path('archive', views.get_archive, name='archive'),
path('error', views.get_error, name='error'),
]

View File

@ -1,9 +1,9 @@
from django.shortcuts import render, get_object_or_404
from django.http import HttpResponseRedirect
from .models import Repo, Label, Archive, Cache
from .models import Repo, Label, Archive, Cache, Error
from django.urls import reverse
from .forms import RepoForm, ArchiveForm
from .forms import RepoForm, ArchiveForm, ErrorForm
def index(request):
@ -69,3 +69,20 @@ def get_archive(request):
form = ArchiveForm()
return render(request, 'borg/archive.html', {'form': form})
def get_error(request):
if request.method == 'POST':
form = ErrorForm(request.POST)
if form.is_valid():
cdata = form.cleaned_data
label, _ = Label.objects.get_or_create(label=cdata['label'])
error = Error(label=label, error=cdata['error'], time=cdata['time'])
error.save()
return HttpResponseRedirect(reverse('index'))
else:
form = ErrorForm()
return render(request, 'borg/error.html', {'form': form})