#35 Sanity command
* refactors "toggling" of recorded/checked state * introduces mark_as_edited() for RecordableObjectMixin
This commit is contained in:
@@ -15,7 +15,8 @@ from konova.decorators import *
|
||||
from konova.forms import RemoveModalForm, SimpleGeomForm
|
||||
from konova.utils.documents import get_document, remove_document
|
||||
from konova.utils.generators import generate_qr_code
|
||||
from konova.utils.message_templates import FORM_INVALID, IDENTIFIER_REPLACED, DATA_UNSHARED_EXPLANATION
|
||||
from konova.utils.message_templates import FORM_INVALID, IDENTIFIER_REPLACED, DATA_UNSHARED_EXPLANATION, \
|
||||
CHECKED_RECORDED_RESET
|
||||
from konova.utils.user_checks import in_group
|
||||
|
||||
|
||||
@@ -130,8 +131,15 @@ def edit_view(request: HttpRequest, id: str):
|
||||
geom_form = SimpleGeomForm(request.POST or None, read_only=False, instance=comp)
|
||||
if request.method == "POST":
|
||||
if data_form.is_valid() and geom_form.is_valid():
|
||||
# Preserve state of intervention recorded/checked to determine whether the user must be informed or not
|
||||
# about a change of the recorded/checked state
|
||||
intervention_recorded = comp.intervention.recorded is not None
|
||||
intervention_checked = comp.intervention.checked is not None
|
||||
|
||||
# The data form takes the geom form for processing, as well as the performing user
|
||||
comp = data_form.save(request.user, geom_form)
|
||||
if intervention_recorded or intervention_checked:
|
||||
messages.info(request, CHECKED_RECORDED_RESET)
|
||||
messages.success(request, _("Compensation {} edited").format(comp.identifier))
|
||||
return redirect("compensation:detail", id=comp.id)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user