Commit b07b408e authored by Skia's avatar Skia

Fix statements

parent f6d34baf
Pipeline #572 passed with stage
in 2 minutes and 40 seconds
......@@ -5,7 +5,7 @@
{% endblock %}
{% macro display_tables(dict) %}
<h5>{% trans %}Credit{% endtrans %}</h5>
<h6>{% trans %}Credit{% endtrans %}</h6>
<table>
<thead>
<tr>
......@@ -24,7 +24,7 @@
</table>
{% trans %}Total: {% endtrans %}{{ dict['CREDIT_sum'] }}
<h5>{% trans %}Debit{% endtrans %}</h5>
<h6>{% trans %}Debit{% endtrans %}</h6>
<table>
<thead>
<tr>
......@@ -48,7 +48,7 @@
<h3>{% trans %}Statement by nature: {% endtrans %} {{ object.name }}</h3>
{% for k,v in statement.items() %}
<h4>{{ k }}</h4>
<h4 style="background: lightblue; padding: 4px;">{{ k }} : {{ v['CREDIT_sum'] - v['DEBIT_sum'] }}</h4>
{{ display_tables(v) }}
<hr>
{% endfor %}
......
......@@ -22,8 +22,10 @@
<tr>
{% if key.target_type == "OTHER" %}
<td>{{ o.target_label }}</td>
{% else %}
{% elif key %}
<td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td>
{% else %}
<td></td>
{% endif %}
<td>{{ credit_statement[key] }}</td>
</tr>
......@@ -48,8 +50,10 @@
<tr>
{% if key.target_type == "OTHER" %}
<td>{{ o.target_label }}</td>
{% else %}
{% elif key %}
<td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td>
{% else %}
<td></td>
{% endif %}
<td>{{ debit_statement[key] }}</td>
</tr>
......
......@@ -483,12 +483,14 @@ class JournalNatureStatementView(JournalTabsMixin, CanViewMixin, DetailView):
ret = collections.OrderedDict()
statement = collections.OrderedDict()
total_sum = 0
for at in AccountingType.objects.order_by('label').all():
for sat in [None] + list(SimplifiedAccountingType.objects.order_by('label').all()):
sum = queryset.filter(accounting_type__movement_type=movement_type,
accounting_type__code__startswith=at.code).aggregate(amount_sum=Sum('amount'))['amount_sum']
simpleaccounting_type=sat).aggregate(amount_sum=Sum('amount'))['amount_sum']
if sat: sat = sat.label
else: sat = ""
if sum:
total_sum += sum
statement[at.label] = sum
statement[sat] = sum
ret[movement_type] = statement
ret[movement_type+"_sum"] = total_sum
return ret
......@@ -532,8 +534,9 @@ class JournalPersonStatementView(JournalTabsMixin, CanViewMixin, DetailView):
target_id=target_id, target_type=target_type).aggregate(amount_sum=Sum('amount'))['amount_sum']
def statement(self, movement_type):
statement = {}
for op in Operation.objects.filter(accounting_type__movement_type=movement_type):
statement = collections.OrderedDict()
for op in self.object.operations.filter(accounting_type__movement_type=movement_type).order_by('target_type',
'target_id').distinct():
statement[op.target] = self.sum_by_target(op.target_id, op.target_type, movement_type)
return statement
......@@ -563,7 +566,7 @@ class JournalAccountingStatementView(JournalTabsMixin, CanViewMixin, DetailView)
for at in AccountingType.objects.order_by('code').all():
sum_by_type = self.object.operations.filter(
accounting_type__code__startswith=at.code).aggregate(amount_sum=Sum('amount'))['amount_sum']
if sum_by_type != 0:
if sum_by_type:
statement[at] = sum_by_type
return statement
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment