Document upload
* adds document upload form * refactors modal form templates into form classes * adds document upload route to intervention routes of urls.py
This commit is contained in:
@@ -9,7 +9,7 @@ from intervention.models import Intervention
|
||||
from intervention.tables import InterventionTable
|
||||
from konova.contexts import BaseContext
|
||||
from konova.decorators import *
|
||||
from konova.forms import RemoveForm, SimpleGeomForm
|
||||
from konova.forms import RemoveForm, SimpleGeomForm, NewDocumentForm
|
||||
|
||||
|
||||
@login_required
|
||||
@@ -73,6 +73,45 @@ def new_view(request: HttpRequest):
|
||||
return render(request, template, context)
|
||||
|
||||
|
||||
@login_required
|
||||
def new_document_view(request: HttpRequest, id: str):
|
||||
""" Renders a form for uploading new documents
|
||||
|
||||
Args:
|
||||
request (HttpRequest): The incoming request
|
||||
id (str): The intervention's id to which the new document will be related
|
||||
Returns:
|
||||
|
||||
"""
|
||||
form = NewDocumentForm(request.POST, request.FILES, user=request.user)
|
||||
template = form.template
|
||||
if request.method == "POST":
|
||||
if form.is_valid():
|
||||
doc = form.save()
|
||||
intervention = get_object_or_404(Intervention, id=id)
|
||||
intervention.documents.add(doc)
|
||||
messages.success(
|
||||
request,
|
||||
_("Document '{}' added").format(doc.title)
|
||||
)
|
||||
|
||||
return redirect(request.META.get("HTTP_REFERER", "home"))
|
||||
else:
|
||||
messages.info(
|
||||
request,
|
||||
_("There was an error on this form.")
|
||||
)
|
||||
return redirect(request.META.get("HTTP_REFERER", "home"))
|
||||
elif request.method == "GET":
|
||||
context = {
|
||||
"form": form
|
||||
}
|
||||
context = BaseContext(request, context).context
|
||||
return render(request, template, context)
|
||||
else:
|
||||
raise NotImplementedError
|
||||
|
||||
|
||||
@login_required
|
||||
def open_view(request: HttpRequest, id: str):
|
||||
""" Renders a detail view for viewing an intervention's data
|
||||
|
||||
Reference in New Issue
Block a user