diff --git a/borgweb/borg/forms/__init__.py b/borgweb/borg/forms/__init__.py
index 7e19013..02dcb0a 100644
--- a/borgweb/borg/forms/__init__.py
+++ b/borgweb/borg/forms/__init__.py
@@ -1,2 +1,3 @@
from .repoform import RepoForm
from .archiveform import ArchiveForm
+from .errorform import ErrorForm
diff --git a/borgweb/borg/forms/errorform.py b/borgweb/borg/forms/errorform.py
new file mode 100644
index 0000000..cbf347e
--- /dev/null
+++ b/borgweb/borg/forms/errorform.py
@@ -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"])
diff --git a/borgweb/borg/templates/borg/error.html b/borgweb/borg/templates/borg/error.html
new file mode 100644
index 0000000..8ac11d8
--- /dev/null
+++ b/borgweb/borg/templates/borg/error.html
@@ -0,0 +1,14 @@
+
+
+
+
+ Add error
+
+
+
+
+
\ No newline at end of file
diff --git a/borgweb/borg/urls.py b/borgweb/borg/urls.py
index d6a7476..10b924e 100644
--- a/borgweb/borg/urls.py
+++ b/borgweb/borg/urls.py
@@ -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'),
]
diff --git a/borgweb/borg/views.py b/borgweb/borg/views.py
index 9aa4507..9166d7a 100644
--- a/borgweb/borg/views.py
+++ b/borgweb/borg/views.py
@@ -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})