Compare commits

..

No commits in common. "c7665a1afff1db74d7dbbbe2358a7543bce51d34" and "0a6d5cf19b4e5eb0ceea1dce972a7468d9ad9a3a" have entirely different histories.

24 changed files with 84 additions and 125 deletions

View File

@ -3,11 +3,11 @@
{% block body %} {% block body %}
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<h3>{% trans 'Evaluation report' %} {{office.long_name}}</h3> <h3>{% trans 'Evaluation report' %} {{office.long_name}}</h3>
<h5>{% trans 'From' %} {{report.date_from.date}} {% trans 'to' %} {{report.date_to.date}}</h5> <h5>{% trans 'From' %} {{report.date_from.date}} {% trans 'to' %} {{report.date_to.date}}</h5>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="d-flex justify-content-end"> <div class="d-flex justify-content-end">
<div class="dropdown"> <div class="dropdown">
<div class="btn btn" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> <div class="btn btn" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">

View File

@ -3,8 +3,6 @@ from django.contrib import admin
from compensation.models import Compensation, CompensationAction, CompensationState, Payment, \ from compensation.models import Compensation, CompensationAction, CompensationState, Payment, \
EcoAccountDeduction, EcoAccount EcoAccountDeduction, EcoAccount
from konova.admin import BaseObjectAdmin, BaseResourceAdmin from konova.admin import BaseObjectAdmin, BaseResourceAdmin
from konova.utils.message_templates import COMPENSATION_REMOVED_TEMPLATE
from user.models import UserAction
class AbstractCompensationAdmin(BaseObjectAdmin): class AbstractCompensationAdmin(BaseObjectAdmin):
@ -44,17 +42,6 @@ class CompensationAdmin(AbstractCompensationAdmin):
"intervention", "intervention",
] ]
def restore_deleted_data(self, request, queryset):
super().restore_deleted_data(request, queryset)
for entry in queryset:
# Remove delete log entry from related intervention log history
logs = entry.intervention.log.filter(
action=UserAction.EDITED,
comment=COMPENSATION_REMOVED_TEMPLATE.format(entry.identifier)
)
logs.delete()
class EcoAccountAdmin(AbstractCompensationAdmin): class EcoAccountAdmin(AbstractCompensationAdmin):
list_display = [ list_display = [

View File

@ -20,8 +20,7 @@ from compensation.utils.quality import CompensationQualityChecker
from konova.models import BaseObject, AbstractDocument, Deadline, generate_document_file_upload_path, \ from konova.models import BaseObject, AbstractDocument, Deadline, generate_document_file_upload_path, \
GeoReferencedMixin GeoReferencedMixin
from konova.settings import DEFAULT_SRID_RLP, LANIS_LINK_TEMPLATE from konova.settings import DEFAULT_SRID_RLP, LANIS_LINK_TEMPLATE
from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION, COMPENSATION_REMOVED_TEMPLATE, \ from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION, COMPENSATION_REMOVED_TEMPLATE
DOCUMENT_REMOVED_TEMPLATE
from user.models import UserActionLogEntry from user.models import UserActionLogEntry
@ -359,7 +358,7 @@ class CompensationDocument(AbstractDocument):
max_length=1000, max_length=1000,
) )
def delete(self, user=None, *args, **kwargs): def delete(self, *args, **kwargs):
""" """
Custom delete functionality for CompensationDocuments. Custom delete functionality for CompensationDocuments.
Removes the folder from the file system if there are no further documents for this entry. Removes the folder from the file system if there are no further documents for this entry.
@ -381,9 +380,6 @@ class CompensationDocument(AbstractDocument):
folder_path = self.file.path.split("/")[:-1] folder_path = self.file.path.split("/")[:-1]
folder_path = "/".join(folder_path) folder_path = "/".join(folder_path)
if user:
self.instance.mark_as_edited(user, edit_comment=DOCUMENT_REMOVED_TEMPLATE.format(self.title))
# Remove the file itself # Remove the file itself
super().delete(*args, **kwargs) super().delete(*args, **kwargs)

View File

@ -9,7 +9,7 @@ import shutil
from django.urls import reverse from django.urls import reverse
from konova.utils.message_templates import DEDUCTION_REMOVED, DOCUMENT_REMOVED_TEMPLATE from konova.utils.message_templates import DEDUCTION_REMOVED
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.core.validators import MinValueValidator from django.core.validators import MinValueValidator
from django.db import models from django.db import models
@ -199,7 +199,7 @@ class EcoAccountDocument(AbstractDocument):
max_length=1000, max_length=1000,
) )
def delete(self, user=None, *args, **kwargs): def delete(self, *args, **kwargs):
""" """
Custom delete functionality for EcoAccountDocuments. Custom delete functionality for EcoAccountDocuments.
Removes the folder from the file system if there are no further documents for this entry. Removes the folder from the file system if there are no further documents for this entry.
@ -221,9 +221,6 @@ class EcoAccountDocument(AbstractDocument):
folder_path = self.file.path.split("/")[:-1] folder_path = self.file.path.split("/")[:-1]
folder_path = "/".join(folder_path) folder_path = "/".join(folder_path)
if user:
self.instance.mark_as_edited(user, edit_comment=DOCUMENT_REMOVED_TEMPLATE.format(self.title))
# Remove the file itself # Remove the file itself
super().delete(*args, **kwargs) super().delete(*args, **kwargs)

View File

@ -14,16 +14,16 @@
{% block body %} {% block body %}
<div id="detail-header" class="row"> <div id="detail-header" class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<h3>{% trans 'Compensation' %}<br> {{obj.identifier}}</h3> <h3>{% trans 'Compensation' %}<br> {{obj.identifier}}</h3>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/compensation/includes/controls.html' %} {% include 'compensation/detail/compensation/includes/controls.html' %}
</div> </div>
</div> </div>
<hr> <hr>
<div id="data" class="row"> <div id="data" class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="table-container"> <div class="table-container">
<table class="table table-hover"> <table class="table table-hover">
<tr> <tr>
@ -105,8 +105,7 @@
</table> </table>
</div> </div>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="col">
<div class="row"> <div class="row">
{% include 'map/geom_form.html' %} {% include 'map/geom_form.html' %}
</div> </div>
@ -118,27 +117,26 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<hr> <hr>
<div id="related_data"> <div id="related_data">
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/compensation/includes/states-before.html' %} {% include 'compensation/detail/compensation/includes/states-before.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/compensation/includes/states-after.html' %} {% include 'compensation/detail/compensation/includes/states-after.html' %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/compensation/includes/actions.html' %} {% include 'compensation/detail/compensation/includes/actions.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/compensation/includes/deadlines.html' %} {% include 'compensation/detail/compensation/includes/deadlines.html' %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/compensation/includes/documents.html' %} {% include 'compensation/detail/compensation/includes/documents.html' %}
</div> </div>
</div> </div>

View File

@ -14,16 +14,16 @@
{% block body %} {% block body %}
<div id="detail-header" class="row"> <div id="detail-header" class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<h3>{% trans 'Eco-account' %}<br> {{obj.identifier}}</h3> <h3>{% trans 'Eco-account' %}<br> {{obj.identifier}}</h3>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/eco_account/includes/controls.html' %} {% include 'compensation/detail/eco_account/includes/controls.html' %}
</div> </div>
</div> </div>
<hr> <hr>
<div id="data" class="row"> <div id="data" class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="table-container"> <div class="table-container">
<table class="table table-hover"> <table class="table table-hover">
<tr> <tr>
@ -88,7 +88,7 @@
</table> </table>
</div> </div>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="row"> <div class="row">
{% include 'map/geom_form.html' %} {% include 'map/geom_form.html' %}
</div> </div>
@ -104,26 +104,26 @@
<div id="related_data"> <div id="related_data">
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/eco_account/includes/states-before.html' %} {% include 'compensation/detail/eco_account/includes/states-before.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/eco_account/includes/states-after.html' %} {% include 'compensation/detail/eco_account/includes/states-after.html' %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/eco_account/includes/actions.html' %} {% include 'compensation/detail/eco_account/includes/actions.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/eco_account/includes/deadlines.html' %} {% include 'compensation/detail/eco_account/includes/deadlines.html' %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/eco_account/includes/documents.html' %} {% include 'compensation/detail/eco_account/includes/documents.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'compensation/detail/eco_account/includes/deductions.html' %} {% include 'compensation/detail/eco_account/includes/deductions.html' %}
</div> </div>
</div> </div>

View File

@ -3,7 +3,7 @@
{% block body %} {% block body %}
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<h3>{% trans 'Report' %}</h3> <h3>{% trans 'Report' %}</h3>
<h4>{{obj.identifier}}</h4> <h4>{{obj.identifier}}</h4>
<div class="table-container"> <div class="table-container">
@ -33,7 +33,7 @@
{% include 'compensation/detail/compensation/includes/states-after.html' %} {% include 'compensation/detail/compensation/includes/states-after.html' %}
{% include 'compensation/detail/compensation/includes/actions.html' %} {% include 'compensation/detail/compensation/includes/actions.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="row"> <div class="row">
{% include 'map/geom_form.html' %} {% include 'map/geom_form.html' %}
</div> </div>

View File

@ -3,7 +3,7 @@
{% block body %} {% block body %}
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<h3>{% trans 'Report' %}</h3> <h3>{% trans 'Report' %}</h3>
<h4>{{obj.identifier}}</h4> <h4>{{obj.identifier}}</h4>
<div class="table-container"> <div class="table-container">
@ -50,7 +50,7 @@
{% include 'compensation/detail/compensation/includes/states-after.html' %} {% include 'compensation/detail/compensation/includes/states-after.html' %}
{% include 'compensation/detail/compensation/includes/actions.html' %} {% include 'compensation/detail/compensation/includes/actions.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="row"> <div class="row">
{% include 'map/geom_form.html' %} {% include 'map/geom_form.html' %}
</div> </div>

View File

@ -18,7 +18,7 @@ from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER
from konova.utils.documents import get_document, remove_document from konova.utils.documents import get_document, remove_document
from konova.utils.generators import generate_qr_code 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, COMPENSATION_ADDED_TEMPLATE, COMPENSATION_REMOVED_TEMPLATE, DOCUMENT_ADDED CHECKED_RECORDED_RESET, COMPENSATION_ADDED_TEMPLATE, COMPENSATION_REMOVED_TEMPLATE
from konova.utils.user_checks import in_group from konova.utils.user_checks import in_group
@ -277,7 +277,7 @@ def new_document_view(request: HttpRequest, id: str):
form = NewCompensationDocumentForm(request.POST or None, request.FILES or None, instance=comp, request=request) form = NewCompensationDocumentForm(request.POST or None, request.FILES or None, instance=comp, request=request)
return form.process_request( return form.process_request(
request, request,
msg_success=DOCUMENT_ADDED, msg_success=_("Document added"),
redirect_url=reverse("compensation:detail", args=(id,)) + "#related_data" redirect_url=reverse("compensation:detail", args=(id,)) + "#related_data"
) )

View File

@ -30,7 +30,7 @@ from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER
from konova.utils.documents import get_document, remove_document from konova.utils.documents import get_document, remove_document
from konova.utils.generators import generate_qr_code from konova.utils.generators import generate_qr_code
from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID, DATA_UNSHARED, DATA_UNSHARED_EXPLANATION, \ from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID, DATA_UNSHARED, DATA_UNSHARED_EXPLANATION, \
CANCEL_ACC_RECORDED_OR_DEDUCTED, DEDUCTION_REMOVED, DEDUCTION_ADDED, DOCUMENT_ADDED CANCEL_ACC_RECORDED_OR_DEDUCTED, DEDUCTION_REMOVED, DEDUCTION_ADDED
from konova.utils.user_checks import in_group from konova.utils.user_checks import in_group
@ -493,7 +493,7 @@ def new_document_view(request: HttpRequest, id: str):
form = NewEcoAccountDocumentForm(request.POST or None, request.FILES or None, instance=acc, request=request) form = NewEcoAccountDocumentForm(request.POST or None, request.FILES or None, instance=acc, request=request)
return form.process_request( return form.process_request(
request, request,
msg_success=DOCUMENT_ADDED, msg_success=_("Document added"),
redirect_url=reverse("compensation:acc:detail", args=(id,)) + "#related_data", redirect_url=reverse("compensation:acc:detail", args=(id,)) + "#related_data",
) )

View File

@ -18,7 +18,7 @@ from ema.managers import EmaManager
from ema.utils.quality import EmaQualityChecker from ema.utils.quality import EmaQualityChecker
from konova.models import AbstractDocument, generate_document_file_upload_path, RecordableObjectMixin, ShareableObjectMixin from konova.models import AbstractDocument, generate_document_file_upload_path, RecordableObjectMixin, ShareableObjectMixin
from konova.settings import DEFAULT_SRID_RLP, LANIS_LINK_TEMPLATE from konova.settings import DEFAULT_SRID_RLP, LANIS_LINK_TEMPLATE
from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION, DOCUMENT_REMOVED_TEMPLATE from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION
class Ema(AbstractCompensation, ShareableObjectMixin, RecordableObjectMixin): class Ema(AbstractCompensation, ShareableObjectMixin, RecordableObjectMixin):
@ -143,7 +143,7 @@ class EmaDocument(AbstractDocument):
max_length=1000, max_length=1000,
) )
def delete(self, user=None, *args, **kwargs): def delete(self, *args, **kwargs):
""" """
Custom delete functionality for EcoAccountDocuments. Custom delete functionality for EcoAccountDocuments.
Removes the folder from the file system if there are no further documents for this entry. Removes the folder from the file system if there are no further documents for this entry.
@ -165,9 +165,6 @@ class EmaDocument(AbstractDocument):
folder_path = self.file.path.split("/")[:-1] folder_path = self.file.path.split("/")[:-1]
folder_path = "/".join(folder_path) folder_path = "/".join(folder_path)
if user:
self.instance.mark_as_edited(user, edit_comment=DOCUMENT_REMOVED_TEMPLATE.format(self.title))
# Remove the file itself # Remove the file itself
super().delete(*args, **kwargs) super().delete(*args, **kwargs)

View File

@ -14,16 +14,16 @@
{% block body %} {% block body %}
<div id="detail-header" class="row"> <div id="detail-header" class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<h3>{% trans 'Payment funded compensation' %} <br> {{obj.identifier}}</h3> <h3>{% trans 'Payment funded compensation' %} <br> {{obj.identifier}}</h3>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'ema/detail/includes/controls.html' %} {% include 'ema/detail/includes/controls.html' %}
</div> </div>
</div> </div>
<hr> <hr>
<div id="data" class="row"> <div id="data" class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="table-container"> <div class="table-container">
<table class="table table-hover"> <table class="table table-hover">
<tr> <tr>
@ -82,7 +82,7 @@
</table> </table>
</div> </div>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="row"> <div class="row">
{% include 'map/geom_form.html' %} {% include 'map/geom_form.html' %}
</div> </div>
@ -97,23 +97,23 @@
<hr> <hr>
<div id="related_data"> <div id="related_data">
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'ema/detail/includes/states-before.html' %} {% include 'ema/detail/includes/states-before.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'ema/detail/includes/states-after.html' %} {% include 'ema/detail/includes/states-after.html' %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'ema/detail/includes/actions.html' %} {% include 'ema/detail/includes/actions.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'ema/detail/includes/deadlines.html' %} {% include 'ema/detail/includes/deadlines.html' %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'ema/detail/includes/documents.html' %} {% include 'ema/detail/includes/documents.html' %}
</div> </div>
</div> </div>

View File

@ -3,7 +3,7 @@
{% block body %} {% block body %}
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<h3>{% trans 'Report' %}</h3> <h3>{% trans 'Report' %}</h3>
<h4>{{obj.identifier}}</h4> <h4>{{obj.identifier}}</h4>
<div class="table-container"> <div class="table-container">
@ -37,7 +37,7 @@
{% include 'compensation/detail/compensation/includes/states-after.html' %} {% include 'compensation/detail/compensation/includes/states-after.html' %}
{% include 'compensation/detail/compensation/includes/actions.html' %} {% include 'compensation/detail/compensation/includes/actions.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="row"> <div class="row">
{% include 'map/geom_form.html' %} {% include 'map/geom_form.html' %}
</div> </div>

View File

@ -20,8 +20,7 @@ from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP
from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER
from konova.utils.documents import get_document, remove_document from konova.utils.documents import get_document, remove_document
from konova.utils.generators import generate_qr_code from konova.utils.generators import generate_qr_code
from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID, DATA_UNSHARED, DATA_UNSHARED_EXPLANATION, \ from konova.utils.message_templates import IDENTIFIER_REPLACED, FORM_INVALID, DATA_UNSHARED, DATA_UNSHARED_EXPLANATION
DOCUMENT_ADDED
from konova.utils.user_checks import in_group from konova.utils.user_checks import in_group
@ -357,7 +356,7 @@ def document_new_view(request: HttpRequest, id: str):
form = NewEmaDocumentForm(request.POST or None, request.FILES or None, instance=ema, request=request) form = NewEmaDocumentForm(request.POST or None, request.FILES or None, instance=ema, request=request)
return form.process_request( return form.process_request(
request, request,
msg_success=DOCUMENT_ADDED, msg_success=_("Document added"),
redirect_url=reverse("ema:detail", args=(id,)) + "#related_data" redirect_url=reverse("ema:detail", args=(id,)) + "#related_data"
) )

View File

@ -26,7 +26,7 @@ from konova.models import generate_document_file_upload_path, AbstractDocument,
ShareableObjectMixin, \ ShareableObjectMixin, \
RecordableObjectMixin, CheckableObjectMixin, GeoReferencedMixin RecordableObjectMixin, CheckableObjectMixin, GeoReferencedMixin
from konova.settings import LANIS_LINK_TEMPLATE, LANIS_ZOOM_LUT, DEFAULT_SRID_RLP from konova.settings import LANIS_LINK_TEMPLATE, LANIS_ZOOM_LUT, DEFAULT_SRID_RLP
from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION, DEDUCTION_ADDED, DOCUMENT_REMOVED_TEMPLATE from konova.utils.message_templates import DATA_UNSHARED_EXPLANATION, DEDUCTION_ADDED
from user.models import UserActionLogEntry from user.models import UserActionLogEntry
@ -302,7 +302,7 @@ class InterventionDocument(AbstractDocument):
max_length=1000, max_length=1000,
) )
def delete(self, user=None, *args, **kwargs): def delete(self, *args, **kwargs):
""" """
Custom delete functionality for InterventionDocuments. Custom delete functionality for InterventionDocuments.
Removes the folder from the file system if there are no further documents for this entry. Removes the folder from the file system if there are no further documents for this entry.
@ -324,9 +324,6 @@ class InterventionDocument(AbstractDocument):
folder_path = self.file.path.split("/")[:-1] folder_path = self.file.path.split("/")[:-1]
folder_path = "/".join(folder_path) folder_path = "/".join(folder_path)
if user:
self.instance.mark_as_edited(user, edit_comment=DOCUMENT_REMOVED_TEMPLATE.format(self.title))
# Remove the file itself # Remove the file itself
super().delete(*args, **kwargs) super().delete(*args, **kwargs)

View File

@ -9,8 +9,6 @@ Created on: 15.11.21
import shutil import shutil
from django.contrib.gis.db import models from django.contrib.gis.db import models
from django.core.exceptions import ObjectDoesNotExist
from konova.models import BaseResource, AbstractDocument, generate_document_file_upload_path from konova.models import BaseResource, AbstractDocument, generate_document_file_upload_path
from konova.utils.message_templates import REVOCATION_REMOVED from konova.utils.message_templates import REVOCATION_REMOVED
@ -23,13 +21,10 @@ class Revocation(BaseResource):
legal = models.ForeignKey("Legal", null=False, blank=False, on_delete=models.CASCADE, help_text="Refers to 'Widerspruch am'", related_name="revocations") legal = models.ForeignKey("Legal", null=False, blank=False, on_delete=models.CASCADE, help_text="Refers to 'Widerspruch am'", related_name="revocations")
comment = models.TextField(null=True, blank=True) comment = models.TextField(null=True, blank=True)
def delete(self, user=None, *args, **kwargs): def delete(self, user = None, *args, **kwargs):
# Make sure related objects are being removed as well # Make sure related objects are being removed as well
try: if self.document:
self.document.delete(*args, **kwargs) self.document.delete(*args, **kwargs)
except ObjectDoesNotExist:
# No file to delete
pass
if user is not None: if user is not None:
self.legal.intervention.mark_as_edited(user, edit_comment=REVOCATION_REMOVED) self.legal.intervention.mark_as_edited(user, edit_comment=REVOCATION_REMOVED)

View File

@ -14,16 +14,16 @@
{% block body %} {% block body %}
<div id="detail-header" class="row"> <div id="detail-header" class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<h3>{% trans 'Intervention' %}<br> {{obj.identifier}}</h3> <h3>{% trans 'Intervention' %}<br> {{obj.identifier}}</h3>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'intervention/detail/includes/controls.html' %} {% include 'intervention/detail/includes/controls.html' %}
</div> </div>
</div> </div>
<hr> <hr>
<div id="data" class="row"> <div id="data" class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="table-container"> <div class="table-container">
<table class="table table-hover"> <table class="table table-hover">
<tr {% if not obj.title %}class="alert alert-danger" title="{% trans 'Missing' %}" {% endif %}> <tr {% if not obj.title %}class="alert alert-danger" title="{% trans 'Missing' %}" {% endif %}>
@ -122,7 +122,7 @@
</table> </table>
</div> </div>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="row"> <div class="row">
{% include 'map/geom_form.html' %} {% include 'map/geom_form.html' %}
</div> </div>
@ -138,26 +138,26 @@
<div id="related_data"> <div id="related_data">
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'intervention/detail/includes/compensations.html' %} {% include 'intervention/detail/includes/compensations.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'intervention/detail/includes/payments.html' %} {% include 'intervention/detail/includes/payments.html' %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'intervention/detail/includes/deductions.html' %} {% include 'intervention/detail/includes/deductions.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'intervention/detail/includes/revocation.html' %} {% include 'intervention/detail/includes/revocation.html' %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
{% include 'intervention/detail/includes/documents.html' %} {% include 'intervention/detail/includes/documents.html' %}
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
</div> </div>
</div> </div>
</div> </div>

View File

@ -3,7 +3,7 @@
{% block body %} {% block body %}
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<h3>{% trans 'Report' %}</h3> <h3>{% trans 'Report' %}</h3>
<h4>{{obj.identifier}}</h4> <h4>{{obj.identifier}}</h4>
<div class="table-container"> <div class="table-container">
@ -96,7 +96,7 @@
</table> </table>
</div> </div>
</div> </div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-6"> <div class="col-sm-12 col-md-12 col-lg-6">
<div class="row"> <div class="row">
{% include 'map/geom_form.html' %} {% include 'map/geom_form.html' %}
</div> </div>

View File

@ -17,7 +17,7 @@ from konova.utils.documents import remove_document, get_document
from konova.utils.generators import generate_qr_code from konova.utils.generators import generate_qr_code
from konova.utils.message_templates import INTERVENTION_INVALID, FORM_INVALID, IDENTIFIER_REPLACED, \ from konova.utils.message_templates import INTERVENTION_INVALID, FORM_INVALID, IDENTIFIER_REPLACED, \
CHECKED_RECORDED_RESET, DEDUCTION_REMOVED, DEDUCTION_ADDED, REVOCATION_ADDED, REVOCATION_REMOVED, \ CHECKED_RECORDED_RESET, DEDUCTION_REMOVED, DEDUCTION_ADDED, REVOCATION_ADDED, REVOCATION_REMOVED, \
COMPENSATION_REMOVED_TEMPLATE, DOCUMENT_ADDED COMPENSATION_REMOVED_TEMPLATE
from konova.utils.user_checks import in_group from konova.utils.user_checks import in_group
@ -131,7 +131,7 @@ def new_document_view(request: HttpRequest, id: str):
form = NewInterventionDocumentForm(request.POST or None, request.FILES or None, instance=intervention, request=request) form = NewInterventionDocumentForm(request.POST or None, request.FILES or None, instance=intervention, request=request)
return form.process_request( return form.process_request(
request, request,
msg_success=DOCUMENT_ADDED, msg_success=_("Document added"),
redirect_url=reverse("intervention:detail", args=(id,)) + "#related_data" redirect_url=reverse("intervention:detail", args=(id,)) + "#related_data"
) )

View File

@ -99,6 +99,13 @@ class BaseObjectAdmin(BaseResourceAdmin):
for entry in queryset: for entry in queryset:
entry.deleted.delete() entry.deleted.delete()
# Remove delete log entry from related intervention log history
logs = entry.intervention.log.filter(
action=UserAction.EDITED,
comment=COMPENSATION_REMOVED_TEMPLATE.format(entry.identifier)
)
logs.delete()
# Outcommented for a cleaner admin backend on production # Outcommented for a cleaner admin backend on production

View File

@ -235,15 +235,6 @@ Similar to bootstraps 'shadow-lg'
.select2-results__option--highlighted{ .select2-results__option--highlighted{
background-color: var(--rlp-red) !important; background-color: var(--rlp-red) !important;
} }
.select2-container--default .select2-results__group{
background-color: var(--rlp-gray-light);
}
.select2-container--default .select2-results__option .select2-results__option{
padding-left: 2em !important;
}
.select2-container--default .select2-results > .select2-results__options{ .select2-container--default .select2-results > .select2-results__options{
max-height: 500px !important; max-height: 500px !important;
} }
.select2-container--default .select2-results__option .select2-results__option{
padding-left: 2em;
}

View File

@ -10,7 +10,6 @@ from django.utils.translation import gettext_lazy as _
from konova.forms import RemoveModalForm from konova.forms import RemoveModalForm
from konova.models import AbstractDocument from konova.models import AbstractDocument
from konova.utils.message_templates import DOCUMENT_REMOVED_TEMPLATE
def get_document(doc: AbstractDocument): def get_document(doc: AbstractDocument):
@ -50,5 +49,5 @@ def remove_document(request: HttpRequest, doc: AbstractDocument):
form = RemoveModalForm(request.POST or None, instance=doc, request=request) form = RemoveModalForm(request.POST or None, instance=doc, request=request)
return form.process_request( return form.process_request(
request=request, request=request,
msg_success=DOCUMENT_REMOVED_TEMPLATE.format(title) msg_success=_("Document '{}' deleted").format(title)
) )

View File

@ -37,10 +37,6 @@ PAYMENT_REMOVED = _("Payment removed")
REVOCATION_ADDED = _("Revocation added") REVOCATION_ADDED = _("Revocation added")
REVOCATION_REMOVED = _("Revocation removed") REVOCATION_REMOVED = _("Revocation removed")
# DOCUMENTS
DOCUMENT_REMOVED_TEMPLATE = _("Document '{}' deleted")
DOCUMENT_ADDED = _("Document added")
# Edited # Edited
EDITED_GENERAL_DATA = _("Edited general data") EDITED_GENERAL_DATA = _("Edited general data")
ADDED_COMPENSATION_STATE = _("Added compensation state") ADDED_COMPENSATION_STATE = _("Added compensation state")

View File

@ -30,12 +30,12 @@
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
<div class="container-fluid mt-3 px-4"> <div class="container-fluid mt-3">
{% comment %} {% comment %}
The modal wrapper, which can be used on every view can stay on the base.html template The modal wrapper, which can be used on every view can stay on the base.html template
{% endcomment %} {% endcomment %}
<div class="modal fade" tabindex="-1" role="dialog" id="modal"> <div class="modal fade" tabindex="-1" role="dialog" id="modal">
<div class="modal-dialog modal-md modal-xl" role="document"> <div class="modal-dialog modal-md modal-lg" role="document">
<div class="modal-content"></div> <div class="modal-content"></div>
</div> </div>
</div> </div>