RemoveModalForm refactoring

* wraps generic request processing logic into RemoveModalForm
* adds delete action to intervention detail compensations.html
* fixes rendering of deleted compensations in intervention detail view
This commit is contained in:
mipel
2021-08-02 10:53:34 +02:00
parent 98de05089e
commit 6bc8ada286
5 changed files with 86 additions and 74 deletions

View File

@@ -61,8 +61,21 @@ def open_view(request: HttpRequest, id: str):
@login_required
def remove_view(request: HttpRequest, id: str):
# ToDo
pass
""" Renders a modal view for removing the compensation
Args:
request (HttpRequest): The incoming request
id (str): The compensation's id
Returns:
"""
comp = get_object_or_404(Compensation, id=id)
form = RemoveModalForm(request.POST or None, instance=comp, user=request.user)
return form.process_request(
request=request,
msg_success=_("Compensation removed"),
)
@login_required
@@ -167,29 +180,10 @@ def payment_remove_view(request: HttpRequest, id: str):
"""
payment = get_object_or_404(Payment, id=id)
form = RemoveModalForm(request.POST or None, instance=payment, user=request.user)
template = form.template
if request.method == "POST":
if form.is_valid():
form.save()
messages.success(
request,
_("Payment removed")
)
return redirect(request.META.get("HTTP_REFERER", "home"))
else:
messages.info(
request,
FORM_INVALID
)
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
return form.process_request(
request=request,
msg_success=_("Payment removed"),
)
@login_required
@@ -211,26 +205,7 @@ def withdraw_remove_view(request: HttpRequest, id: str, withdraw_id: str):
raise Http404("Unknown withdraw")
form = RemoveModalForm(request.POST or None, instance=eco_withdraw, user=request.user)
template = form.template
if request.method == "POST":
if form.is_valid():
form.save()
messages.success(
request,
_("Withdraw removed")
)
return redirect(request.META.get("HTTP_REFERER", "home"))
else:
messages.info(
request,
FORM_INVALID
)
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
return form.process_request(
request=request,
msg_success=_("Withdraw removed")
)