[EcoAccount] See recorded state of withdraw #6
* adds prefiltering of withdraws --> excludes withdraws of as deleted flagged interventions * renders intervention-recorded icon into eco account withdraws details view * fixes bug in case of document deleting which does not contain any files * renames RecordForm into RecordModalForm for more clarity
This commit is contained in:
@@ -239,7 +239,9 @@ class EcoAccount(AbstractCompensation):
|
||||
|
||||
"""
|
||||
ret_val = 0
|
||||
withdraws = self.withdraws.all()
|
||||
withdraws = self.withdraws.filter(
|
||||
intervention__deleted=None,
|
||||
)
|
||||
withdraw_surfaces = withdraws.aggregate(Sum("surface"))["surface__sum"] or 0
|
||||
after_states_surfaces = self.after_states.all().aggregate(Sum("surface"))["surface__sum"] or withdraw_surfaces ## no division by zero
|
||||
ret_val = after_states_surfaces - withdraw_surfaces
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<h5>
|
||||
<span class="badge badge-light">{{obj.withdraws.count}}</span>
|
||||
<span class="badge badge-light">{{withdraws.count}}</span>
|
||||
{% trans 'Eco Account Withdraws' %}
|
||||
</h5>
|
||||
</div>
|
||||
@@ -27,6 +27,9 @@
|
||||
<th scope="col">
|
||||
{% trans 'Intervention Identifier' %}
|
||||
</th>
|
||||
<th scope="col">
|
||||
{% trans 'Recorded' %}
|
||||
</th>
|
||||
<th scope="col">
|
||||
{% trans 'Amount' %}
|
||||
</th>
|
||||
@@ -39,16 +42,20 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for withdraw in obj.withdraws.all %}
|
||||
<tr {% if withdraw.account.deleted %}class="align-middle alert-danger" title="{% trans 'Eco-account deleted! Withdraw invalid!' %}" {% elif not withdraw.account.recorded %}class="align-middle alert-danger" title="{% trans 'Eco-account not recorded! Withdraw invalid!' %}" {% endif %}>
|
||||
{% for withdraw in withdraws %}
|
||||
<tr>
|
||||
<td class="align-middle">
|
||||
<a href="{% url 'intervention:open' withdraw.intervention.id %}">
|
||||
{% if withdraw.account.deleted or not withdraw.account.recorded %}
|
||||
{% fa5_icon 'exclamation-triangle' %}
|
||||
{% endif %}
|
||||
{{ withdraw.intervention.identifier }}
|
||||
</a>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
{% if withdraw.intervention.recorded %}
|
||||
<em title='{{ withdraw.intervention.recorded_tooltip }}' class='fas fa-bookmark registered-bookmark'></em>
|
||||
{% else %}
|
||||
<em title='{{ withdraw.intervention.recorded_tooltip }}' class='far fa-bookmark'></em>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="align-middle">{{ withdraw.surface|floatformat:2|intcomma }} m²</td>
|
||||
<td class="align-middle">{{ withdraw.created.timestamp|default_if_none:""|naturalday}}</td>
|
||||
<td>
|
||||
|
||||
@@ -19,7 +19,7 @@ from compensation.tables import EcoAccountTable
|
||||
from intervention.forms import NewWithdrawForm
|
||||
from konova.contexts import BaseContext
|
||||
from konova.decorators import any_group_check, default_group_required, conservation_office_group_required
|
||||
from konova.forms import RemoveModalForm, SimpleGeomForm, NewDocumentForm, RecordForm
|
||||
from konova.forms import RemoveModalForm, SimpleGeomForm, NewDocumentForm, RecordModalForm
|
||||
from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP
|
||||
from konova.utils.user_checks import in_group
|
||||
|
||||
@@ -97,6 +97,10 @@ def open_view(request: HttpRequest, id: str):
|
||||
# Calculate rest of available surface for withdraws
|
||||
available = acc.get_available_rest(as_percentage=True)
|
||||
|
||||
withdraws = acc.withdraws.filter(
|
||||
intervention__deleted=None,
|
||||
)
|
||||
|
||||
context = {
|
||||
"obj": acc,
|
||||
"geom_form": geom_form,
|
||||
@@ -111,6 +115,7 @@ def open_view(request: HttpRequest, id: str):
|
||||
"is_zb_member": in_group(_user, ZB_GROUP),
|
||||
"is_ets_member": in_group(_user, ETS_GROUP),
|
||||
"LANIS_LINK": acc.get_LANIS_link(),
|
||||
"withdraws": withdraws,
|
||||
}
|
||||
context = BaseContext(request, context).context
|
||||
return render(request, template, context)
|
||||
@@ -200,7 +205,7 @@ def record_view(request: HttpRequest, id:str):
|
||||
|
||||
"""
|
||||
acc = get_object_or_404(EcoAccount, id=id)
|
||||
form = RecordForm(request.POST or None, instance=acc, user=request.user)
|
||||
form = RecordModalForm(request.POST or None, instance=acc, user=request.user)
|
||||
msg_succ = _("{} unrecorded") if acc.recorded else _("{} recorded")
|
||||
msg_succ = msg_succ.format(acc.identifier)
|
||||
return form.process_request(
|
||||
|
||||
Reference in New Issue
Block a user