django-ledger 0.5.6.2__py3-none-any.whl → 0.5.6.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of django-ledger might be problematic. Click here for more details.

Files changed (65) hide show
  1. django_ledger/__init__.py +1 -1
  2. django_ledger/admin/coa.py +3 -3
  3. django_ledger/forms/account.py +2 -0
  4. django_ledger/forms/coa.py +1 -6
  5. django_ledger/forms/transactions.py +3 -1
  6. django_ledger/io/io_core.py +95 -79
  7. django_ledger/io/io_digest.py +4 -5
  8. django_ledger/io/io_generator.py +5 -4
  9. django_ledger/io/io_library.py +241 -16
  10. django_ledger/io/roles.py +32 -10
  11. django_ledger/migrations/0015_remove_chartofaccountmodel_locked_and_more.py +22 -0
  12. django_ledger/models/accounts.py +13 -9
  13. django_ledger/models/bill.py +3 -3
  14. django_ledger/models/closing_entry.py +39 -28
  15. django_ledger/models/coa.py +244 -35
  16. django_ledger/models/entity.py +119 -51
  17. django_ledger/models/invoice.py +3 -2
  18. django_ledger/models/journal_entry.py +8 -4
  19. django_ledger/models/ledger.py +63 -11
  20. django_ledger/models/mixins.py +2 -2
  21. django_ledger/models/transactions.py +20 -11
  22. django_ledger/report/balance_sheet.py +1 -1
  23. django_ledger/report/cash_flow_statement.py +5 -5
  24. django_ledger/report/core.py +2 -2
  25. django_ledger/report/income_statement.py +2 -2
  26. django_ledger/static/django_ledger/bundle/djetler.bundle.js +1 -1
  27. django_ledger/static/django_ledger/bundle/djetler.bundle.js.LICENSE.txt +10 -11
  28. django_ledger/templates/django_ledger/account/account_create.html +17 -11
  29. django_ledger/templates/django_ledger/account/account_list.html +12 -9
  30. django_ledger/templates/django_ledger/account/tags/account_txs_table.html +6 -1
  31. django_ledger/templates/django_ledger/account/tags/accounts_table.html +97 -93
  32. django_ledger/templates/django_ledger/chart_of_accounts/coa_list.html +17 -0
  33. django_ledger/templates/django_ledger/{code_of_accounts → chart_of_accounts}/coa_update.html +1 -4
  34. django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html +74 -0
  35. django_ledger/templates/django_ledger/financial_statements/tags/cash_flow_statement.html +1 -1
  36. django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html +6 -6
  37. django_ledger/templates/django_ledger/includes/widget_ic.html +1 -1
  38. django_ledger/templates/django_ledger/invoice/invoice_list.html +91 -94
  39. django_ledger/templates/django_ledger/journal_entry/includes/card_journal_entry.html +16 -7
  40. django_ledger/templates/django_ledger/journal_entry/je_detail.html +1 -1
  41. django_ledger/templates/django_ledger/ledger/tags/ledgers_table.html +10 -0
  42. django_ledger/templatetags/django_ledger.py +9 -8
  43. django_ledger/tests/base.py +134 -8
  44. django_ledger/tests/test_accounts.py +16 -0
  45. django_ledger/tests/test_auth.py +5 -7
  46. django_ledger/tests/test_bill.py +1 -1
  47. django_ledger/tests/test_chart_of_accounts.py +46 -0
  48. django_ledger/tests/test_closing_entry.py +16 -19
  49. django_ledger/tests/test_entity.py +3 -3
  50. django_ledger/tests/test_io.py +192 -2
  51. django_ledger/tests/test_transactions.py +290 -0
  52. django_ledger/urls/account.py +18 -3
  53. django_ledger/urls/chart_of_accounts.py +21 -1
  54. django_ledger/urls/ledger.py +7 -0
  55. django_ledger/views/account.py +29 -4
  56. django_ledger/views/coa.py +79 -4
  57. django_ledger/views/djl_api.py +4 -1
  58. django_ledger/views/journal_entry.py +1 -1
  59. django_ledger/views/mixins.py +3 -0
  60. {django_ledger-0.5.6.2.dist-info → django_ledger-0.5.6.4.dist-info}/METADATA +1 -1
  61. {django_ledger-0.5.6.2.dist-info → django_ledger-0.5.6.4.dist-info}/RECORD +65 -59
  62. {django_ledger-0.5.6.2.dist-info → django_ledger-0.5.6.4.dist-info}/AUTHORS.md +0 -0
  63. {django_ledger-0.5.6.2.dist-info → django_ledger-0.5.6.4.dist-info}/LICENSE +0 -0
  64. {django_ledger-0.5.6.2.dist-info → django_ledger-0.5.6.4.dist-info}/WHEEL +0 -0
  65. {django_ledger-0.5.6.2.dist-info → django_ledger-0.5.6.4.dist-info}/top_level.txt +0 -0
@@ -12,17 +12,16 @@
12
12
  */
13
13
 
14
14
  /**
15
- * (c) Vjacheslav Trushkin <cyberalien@gmail.com>
16
- *
17
- * For the full copyright and license information, please view the license.txt or license.gpl.txt
18
- * files at https://github.com/iconify/iconify
19
- *
20
- * Licensed under Apache 2.0 or GPL 2.0 at your option.
21
- * If derivative product is not compatible with one of licenses, you can pick one of licenses.
22
- *
23
- * @license Apache 2.0
24
- * @license GPL 2.0
25
- */
15
+ * (c) Iconify
16
+ *
17
+ * For the full copyright and license information, please view the license.txt or license.gpl.txt
18
+ * files at https://github.com/iconify/iconify
19
+ *
20
+ * Licensed under MIT.
21
+ *
22
+ * @license MIT
23
+ * @version 3.1.1
24
+ */
26
25
 
27
26
  //! moment.js
28
27
 
@@ -4,17 +4,23 @@
4
4
  {% load django_ledger %}
5
5
 
6
6
  {% block view_content %}
7
- <div class="columns is-centered">
8
- <div class="column is-8-tablet is-6-desktop">
9
- <div class="box">
10
- <form action="{% url 'django_ledger:account-create' entity_slug=view.kwargs.entity_slug %}"
11
- method="post">
12
- {% csrf_token %}
13
- {{ form.as_p }}
14
- <button type="submit" class="button is-primary is-fullwidth djetler_my_1">Submit</button>
15
- <a class="button is-dark is-small is-fullwidth"
16
- href="{% url 'django_ledger:account-list' entity_slug=view.kwargs.entity_slug %}">Back</a>
17
- </form>
7
+ <div class="box">
8
+ <div class="columns is-centered is-multiline">
9
+ <div class="column is-12 has-text-centered">
10
+ <h1 class="is-size-2">{% trans 'Create Account' %}</h1>
11
+ <h2 class="is-size-3 has-text-info">{{ coa_model.name }}</h2>
12
+ <p class="is-size-4 has-text-danger is-italic">({{ coa_model.slug }})</p>
13
+ </div>
14
+ <div class="column is-8-tablet is-6-desktop">
15
+ <div class="box">
16
+ <form method="post">
17
+ {% csrf_token %}
18
+ {{ form.as_p }}
19
+ <button type="submit" class="button is-primary is-fullwidth djetler_my_1">Submit</button>
20
+ <a class="button is-dark is-small is-fullwidth"
21
+ href="{% url 'django_ledger:account-list' entity_slug=view.kwargs.entity_slug %}">Back</a>
22
+ </form>
23
+ </div>
18
24
  </div>
19
25
  </div>
20
26
  </div>
@@ -5,18 +5,21 @@
5
5
 
6
6
  {% block view_content %}
7
7
  <div class="box">
8
- <div class="columns">
9
- <div class="column">
10
- <a href="{% url 'django_ledger:account-create' entity_slug=view.kwargs.entity_slug %}"
11
- class="button is-primary is-outlined">{% trans 'Create Account' %}</a>
12
- <a href="{% url 'django_ledger:entity-dashboard' entity_slug=view.kwargs.entity_slug %}"
13
- class="button is-dark">{% trans 'Back' %}</a>
8
+ <div class="columns is-multiline">
9
+ <div class="column is-12 has-text-centered">
10
+ <h1 class="is-size-3">{% trans 'Accounts List' %}</h1>
11
+ <h2 class="is-size-1 has-text-info">{{ coa_model.name }}</h2>
12
+ <p class="is-italic has-text-danger">({{ coa_model.slug }})</p>
14
13
  </div>
15
- </div>
16
- <div class="columns">
17
- <div class="column">
14
+ <div class="column is-12">
18
15
  {% accounts_table accounts %}
19
16
  </div>
17
+ <div class="column is-12 has-text-centered">
18
+ <a href="{% url 'django_ledger:account-create' entity_slug=view.kwargs.entity_slug %}"
19
+ class="button is-success">{% trans 'Create Account' %}</a>
20
+ <a href="{% url 'django_ledger:coa-list' entity_slug=view.kwargs.entity_slug %}"
21
+ class="button is-dark">{% trans 'Back to CoA List' %}</a>
22
+ </div>
20
23
  </div>
21
24
  </div>
22
25
  {% endblock %}
@@ -4,18 +4,22 @@
4
4
  <div class="table-container">
5
5
  <table class="table is-fullwidth is-narrow is-striped is-bordered django-ledger-table-bottom-margin-75">
6
6
  <tr>
7
+ <th class="has-text-centered">JE Number</th>
7
8
  <th class="has-text-centered">Date</th>
8
9
  <th class="has-text-centered">Credit</th>
9
10
  <th class="has-text-centered">Debit</th>
10
11
  <th class="has-text-centered">Description</th>
12
+ <th class="has-text-centered">Unit</th>
11
13
  <th class="has-text-centered">Actions</th>
12
14
  </tr>
13
15
  {% for tx in transactions %}
14
16
  <tr class="has-text-centered">
17
+ <td>{{ tx.journal_entry.je_number }}</td>
15
18
  <td>{{ tx.journal_entry.timestamp }}</td>
16
19
  <td>{% if tx.tx_type == 'credit' %}${{ tx.amount | currency_format }}{% endif %}</td>
17
20
  <td>{% if tx.tx_type == 'debit' %}${{ tx.amount | currency_format }}{% endif %}</td>
18
21
  <td>{{ tx.description }}</td>
22
+ <td>{{ tx.journal_entry.entity_unit.name }}</td>
19
23
  <td>
20
24
  <div class="dropdown is-right is-hoverable" id="tx-action-{{ tx.uuid }}">
21
25
  <div class="dropdown-trigger">
@@ -37,7 +41,6 @@
37
41
  <a href="{% url 'django_ledger:invoice-detail' entity_slug=entity_slug invoice_pk=tx.journal_entry.ledger.invoicemodel.uuid %}"
38
42
  class="dropdown-item has-text-info">View Invoice</a>
39
43
  {% endif %}
40
-
41
44
  </div>
42
45
  </div>
43
46
  </div>
@@ -45,11 +48,13 @@
45
48
  </tr>
46
49
  {% endfor %}
47
50
  <tr class="has-text-weight-bold">
51
+ <td></td>
48
52
  <td class="has-text-right">Total</td>
49
53
  <td class="has-text-centered">${{ total_credits | currency_format }}</td>
50
54
  <td class="has-text-centered">${{ total_debits | currency_format }}</td>
51
55
  <td></td>
52
56
  <td></td>
57
+ <td></td>
53
58
  </tr>
54
59
  </table>
55
60
  </div>
@@ -3,114 +3,118 @@
3
3
 
4
4
  {% for root_role, role_list in accounts_gb %}
5
5
  {% with title=root_role %}
6
- <div class="table-container">
7
- <table class="table is-fullwidth is-striped is-narrow is-bordered django-ledger-table-bottom-margin-75">
8
- <thead>
9
- {% if title %}
10
- <tr>
11
- <td><h2 class="is-size-3 has-text-weight-light">{{ title | upper }}</h2></td>
12
- <td></td>
13
- <td></td>
14
- <td></td>
15
- <td></td>
16
- <td></td>
17
- <td></td>
18
- </tr>
19
- {% endif %}
20
- <tr>
21
- <th>{% trans 'Account Name' %}</th>
22
- <th>{% trans 'CoA' %}</th>
23
- <th>{% trans 'Balance Type' %}</th>
24
- <th>{% trans 'Active' %}</th>
25
- <th>{% trans 'Locked' %}</th>
26
- <th>{% trans 'CoA Role Default' %}</th>
27
- <th>{% trans 'Actions' %}</th>
28
- </tr>
29
- </thead>
30
- <tbody>
31
- {% for role, acc_list in role_list %}
6
+ <div class="box">
7
+
8
+ <div class="table-container">
9
+ <table class="table is-fullwidth is-striped is-narrow django-ledger-table-bottom-margin-75">
10
+ <thead>
11
+ {% if title %}
12
+ <tr>
13
+ <td><h2 class="is-size-3 has-text-weight-light">{{ title | upper }}</h2></td>
14
+ <td></td>
15
+ <td></td>
16
+ <td></td>
17
+ <td></td>
18
+ {# <td></td>#}
19
+ <td></td>
20
+ </tr>
21
+ {% endif %}
22
+
32
23
  <tr>
33
- <td class="has-text-weight-bold is-underlined">{{ role | upper }}</td>
34
- <td></td>
35
- <td></td>
36
- <td></td>
37
- <td></td>
38
- <td></td>
39
- <td></td>
24
+ <th>{% trans 'Account Name' %}</th>
25
+ <th>{% trans 'CoA' %}</th>
26
+ <th>{% trans 'Balance Type' %}</th>
27
+ <th>{% trans 'Active' %}</th>
28
+ <th>{% trans 'CoA Role Default' %}</th>
29
+ <th>{% trans 'Actions' %}</th>
40
30
  </tr>
41
-
42
- {% for account in acc_list %}
31
+ </thead>
32
+ <tbody>
33
+ {% for role, acc_list in role_list %}
43
34
  <tr>
44
- <td style="{% if account.is_indented %}padding-left: {{ account.get_html_pixel_indent }};{% endif %}">
45
- <span class="has-text-weight-bold">{{ account.code }}</span>: {{ account.name }}</td>
46
- <td>{{ account.coa_model.name }}</td>
47
- <td>{{ account.get_balance_type_display }}</td>
48
- <td class="has-text-centered">
49
- {% if account.active %}
50
- <span class="icon has-text-success-dark">
35
+ <td class="has-text-weight-bold is-underlined">{{ role | upper }}</td>
36
+ <td></td>
37
+ <td></td>
38
+ <td></td>
39
+ <td></td>
40
+ {# <td></td>#}
41
+ <td></td>
42
+ </tr>
43
+
44
+ {% for account in acc_list %}
45
+ <tr>
46
+ <td style="{% if account.is_indented %}padding-left: {{ account.get_html_pixel_indent }};{% endif %}">
47
+ <span class="has-text-weight-bold">{{ account.code }}</span>: {{ account.name }}
48
+ </td>
49
+ <td>{{ account.coa_model.name }}</td>
50
+ <td>{{ account.get_balance_type_display }}</td>
51
+ <td class="has-text-centered">
52
+ {% if account.active %}
53
+ <span class="icon has-text-success-dark">
51
54
  {% icon 'ant-design:check-circle-filled' 24 %}
52
55
  </span>
53
- {% elif not account.active %}
54
- <span class="icon has-text-danger-dark">
56
+ {% elif not account.active %}
57
+ <span class="icon has-text-danger-dark">
55
58
  {% icon 'mdi:dangerous' 24 %}
56
59
  </span>
57
- {% endif %}
58
- </td>
60
+ {% endif %}
61
+ </td>
59
62
 
60
- <td class="has-text-centered">
61
- {% if account.locked %}
62
- <span class="icon has-text-success-dark">
63
- {% icon 'bi:lock-fill' 24 %}
64
- </span>
65
- {% elif not account.locked %}
66
- <span class="icon has-text-danger-dark">
67
- {% icon 'bx:bx-lock-open-alt' 24 %}
68
- </span>
69
- {% endif %}
70
- </td>
71
- <td class="has-text-centered">
72
- {% if account.role_default %}
73
- <span class="icon has-text-success-dark">
63
+ {# <td class="has-text-centered">#}
64
+ {# {% if account.locked %}#}
65
+ {# <span class="icon has-text-success-dark">#}
66
+ {# {% icon 'bi:lock-fill' 24 %}#}
67
+ {# </span>#}
68
+ {# {% elif not account.locked %}#}
69
+ {# <span class="icon has-text-danger-dark">#}
70
+ {# {% icon 'bx:bx-lock-open-alt' 24 %}#}
71
+ {# </span>#}
72
+ {# {% endif %}#}
73
+ {# </td>#}
74
+ <td class="has-text-centered">
75
+ {% if account.role_default %}
76
+ <span class="icon has-text-success-dark">
74
77
  {% icon 'ant-design:check-circle-filled' 24 %}
75
78
  </span>
76
- {% elif not account.role_default %}
77
- <span class="icon has-text-danger-dark">
79
+ {% elif not account.role_default %}
80
+ <span class="icon has-text-danger-dark">
78
81
  {% icon 'mdi:dangerous' 24 %}
79
82
  </span>
80
- {% endif %}
81
- </td>
82
- <td>
83
- <div class="dropdown is-right is-hoverable" id="account-action-{{ account.uuid }}">
84
- <div class="dropdown-trigger">
85
- <button class="button is-small is-rounded is-outlined"
86
- aria-haspopup="true"
87
- aria-controls="dropdown-menu">
88
- <span>{% trans 'Actions' %}</span>
89
- <span class="icon is-small">{% icon 'bi:arrow-down' 24 %}</span>
90
- </button>
91
- </div>
92
- <div class="dropdown-menu" id="dropdown-menu-{{ account.uuid }}" role="menu">
93
- <div class="dropdown-content">
94
- <a href="{% url 'django_ledger:account-detail' entity_slug=entity_slug account_pk=account.uuid %}"
95
- class="dropdown-item has-text-success">{% trans 'Detail' %}</a>
96
- <a href="{% url 'django_ledger:account-update' entity_slug=entity_slug account_pk=account.uuid %}"
97
- class="dropdown-item has-text-warning">{% trans 'Update' %}</a>
98
- {% if account.can_activate %}
99
- <a href="{% url 'django_ledger:account-action-activate' entity_slug=entity_slug account_pk=account.uuid %}"
100
- class="dropdown-item has-text-success has-text-weight-bold">{% trans 'Activate' %}</a>
101
- {% endif %}
102
- {% if account.can_deactivate %}
103
- <a href="{% url 'django_ledger:account-action-deactivate' entity_slug=entity_slug account_pk=account.uuid %}"
104
- class="dropdown-item has-text-danger has-text-weight-bold">{% trans 'Deactivate' %}</a>
105
- {% endif %}
83
+ {% endif %}
84
+ </td>
85
+ <td>
86
+ <div class="dropdown is-right is-hoverable" id="account-action-{{ account.uuid }}">
87
+ <div class="dropdown-trigger">
88
+ <button class="button is-small is-rounded is-outlined"
89
+ aria-haspopup="true"
90
+ aria-controls="dropdown-menu">
91
+ <span>{% trans 'Actions' %}</span>
92
+ <span class="icon is-small">{% icon 'bi:arrow-down' 24 %}</span>
93
+ </button>
94
+ </div>
95
+ <div class="dropdown-menu" id="dropdown-menu-{{ account.uuid }}" role="menu">
96
+ <div class="dropdown-content">
97
+ <a href="{% url 'django_ledger:account-detail' entity_slug=entity_slug account_pk=account.uuid %}"
98
+ class="dropdown-item has-text-success">{% trans 'Detail' %}</a>
99
+ <a href="{% url 'django_ledger:account-update' entity_slug=entity_slug account_pk=account.uuid %}"
100
+ class="dropdown-item has-text-warning">{% trans 'Update' %}</a>
101
+ {% if account.can_activate %}
102
+ <a href="{% url 'django_ledger:account-action-activate' entity_slug=entity_slug account_pk=account.uuid %}"
103
+ class="dropdown-item has-text-success has-text-weight-bold">{% trans 'Activate' %}</a>
104
+ {% endif %}
105
+ {% if account.can_deactivate %}
106
+ <a href="{% url 'django_ledger:account-action-deactivate' entity_slug=entity_slug account_pk=account.uuid %}"
107
+ class="dropdown-item has-text-danger has-text-weight-bold">{% trans 'Deactivate' %}</a>
108
+ {% endif %}
109
+ </div>
106
110
  </div>
107
111
  </div>
108
- </div>
109
- </td>
110
- </tr>
112
+ </td>
113
+ </tr>
114
+ {% endfor %}
111
115
  {% endfor %}
112
- {% endfor %}
113
- </table>
116
+ </table>
117
+ </div>
114
118
  </div>
115
119
  {% endwith %}
116
120
  {% endfor %}
@@ -0,0 +1,17 @@
1
+ {% extends 'django_ledger/layouts/content_layout_1.html' %}
2
+ {% load i18n %}
3
+ {% load static %}
4
+
5
+ {% block view_content %}
6
+ <div class="box">
7
+ <div class="columns is-centered is-multiline">
8
+ {% for coa_model in coa_list %}
9
+ <div class="column is-6">
10
+ {% include 'django_ledger/chart_of_accounts/includes/coa_card.html' with coa_model=coa_model %}
11
+ </div>
12
+ {% endfor %}
13
+ </div>
14
+ </div>
15
+ {% endblock %}
16
+
17
+
@@ -19,7 +19,4 @@
19
19
  </div>
20
20
  </div>
21
21
  </div>
22
- {% endblock %}
23
-
24
-
25
-
22
+ {% endblock %}
@@ -0,0 +1,74 @@
1
+ {% load django_ledger %}
2
+ {% load i18n %}
3
+ {% now "Y" as current_year %}
4
+
5
+
6
+ <div class="card">
7
+ <div class="card-header" {% if coa_model.is_default %}style="background-color: #04e304"{% endif %}>
8
+ <div class="card-header-icon">
9
+ {% icon "ic:baseline-business" 36 %}
10
+ </div>
11
+ <div class="card-header-title">
12
+ {{ coa_model.name }} {% if coa_model.is_default %} | {% trans 'DEFAULT' %}{% endif %}
13
+ </div>
14
+ </div>
15
+ <div class="card-content">
16
+ <h3 class="is-size-4">{% trans 'Entity Default' %}:
17
+ {% if coa_model.is_default %}
18
+ <span class="icon has-text-success">{% icon 'lets-icons:check-fill' 24 %}</span>
19
+ {% else %}
20
+ <span class="icon has-text-danger">{% icon 'mdi:stop-remove' 24 %}</span>
21
+ {% endif %}
22
+ </h3>
23
+ <h3 class="is-size-4">{% trans 'Is Active' %}:
24
+ {% if coa_model.is_active %}
25
+ <span class="icon has-text-success">{% icon 'lets-icons:check-fill' 24 %}</span>
26
+ {% else %}
27
+ <span class="icon has-text-danger">{% icon 'mdi:stop-remove' 24 %}</span>
28
+ {% endif %}
29
+ </h3>
30
+ <h4>CoA ID: <span class="has-text-danger has-font-weight-light">{{ coa_model.slug }}</span></h4>
31
+ <h4>{% trans 'Total Accounts' %}: {{ coa_model.accountmodel_total__count }}</h4>
32
+ <h4><span class="has-text-info">{% trans 'Active Accounts' %}</span>: {{ coa_model.accountmodel_active__count }}
33
+ </h4>
34
+ <h4><span
35
+ class="has-text-danger">{% trans 'Locked Accounts' %}</span>: {{ coa_model.accountmodel_locked__count }}
36
+ </h4>
37
+ <p class="mt-2"><span class="has-text-weight-bold">
38
+ {% trans 'Created' %}</span>: {{ coa_model.created | date }}
39
+ </p>
40
+ <p><span class="has-text-weight-bold">
41
+ {% trans 'Updated' %}</span>: {{ coa_model.created | timesince }} {% trans 'ago' %}
42
+ </p>
43
+ </div>
44
+
45
+ <footer class="card-footer">
46
+ <a href="{{ coa_model.get_account_list_url }}"
47
+ class="card-footer-item has-text-success has-text-weight-bold">
48
+ {% trans 'Accounts' %}
49
+ </a>
50
+ <a href="{{ coa_model.get_create_coa_account_url }}"
51
+ class="card-footer-item has-text-info has-text-weight-bold">
52
+ {% trans 'Add Account' %}
53
+ </a>
54
+
55
+ {% if not coa_model.is_default %}
56
+ <a href="{{ coa_model.mark_as_default_url }}"
57
+ class="card-footer-item has-text-danger has-text-weight-bold">
58
+ {% trans 'Mark as Default' %}
59
+ </a>
60
+ {% endif %}
61
+
62
+ {% if coa_model.can_deactivate %}
63
+ <a href="{{ coa_model.mark_as_inactive_url }}"
64
+ class="card-footer-item has-text-warning has-text-weight-bold">
65
+ {% trans 'Mark as Inactive' %}
66
+ </a>
67
+ {% elif coa_model.can_activate %}
68
+ <a href="{{ coa_model.mark_as_active_url }}"
69
+ class="card-footer-item has-text-success has-text-weight-bold">
70
+ {% trans 'Mark as Active' %}
71
+ </a>
72
+ {% endif %}
73
+ </footer>
74
+ </div>
@@ -40,7 +40,7 @@
40
40
  {{ tx_digest.cash_flow_statement.operating.GROUP_CFS_OP_INVESTMENT_GAINS.description }}
41
41
  </td>
42
42
  <td class="has-text-right">
43
- {% currency_symbol %}{{ tx_digest.cash_flow_statement.operating.GROUP_CFS_OP_INVESTMENT_GAINS.balance }}</td>
43
+ {% currency_symbol %}{{ tx_digest.cash_flow_statement.operating.GROUP_CFS_OP_INVESTMENT_GAINS.balance | currency_format }}</td>
44
44
  </tr>
45
45
 
46
46
  {# Non-cash Charges to Current Accounts #}
@@ -76,7 +76,7 @@
76
76
  <span class="icon">{% icon 'bi:arrow-bar-up' 24 %}</span>
77
77
  {% endif %}
78
78
  </td>
79
- <td>{% currency_symbol %}{{ acc.balance_abs | currency_format }}</td>
79
+ <td>{% currency_symbol %}{{ acc.balance | reverse_sign | currency_format }}</td>
80
80
  </tr>
81
81
  {% endfor %}
82
82
  <tr>
@@ -126,7 +126,7 @@
126
126
  <span class="icon">{% icon 'bi:arrow-bar-up' 24 %}</span>
127
127
  {% endif %}
128
128
  </td>
129
- <td>{% currency_symbol %}{{ acc.balance_abs | currency_format }}</td>
129
+ <td>{% currency_symbol %}{{ acc.balance | reverse_sign | currency_format }}</td>
130
130
  </tr>
131
131
  {% endfor %}
132
132
  <tr>
@@ -137,7 +137,7 @@
137
137
  <td></td>
138
138
  <td><h2 class="is-size-5 has-text-right">{% trans 'Net Operating Expenses' %}</h2></td>
139
139
  <td class="is-size-5 has-text-weight-bold">
140
- {% currency_symbol %}{{ tx_digest.income_statement.operating.net_operating_expenses | absolute | currency_format }}</td>
140
+ {% currency_symbol %}{{ tx_digest.income_statement.operating.net_operating_expenses | reverse_sign | currency_format }}</td>
141
141
  </tr>
142
142
 
143
143
 
@@ -177,7 +177,7 @@
177
177
  <span class="icon">{% icon 'bi:arrow-bar-up' 24 %}</span>
178
178
  {% endif %}
179
179
  </td>
180
- <td class="is-size-5">{% currency_symbol %}{{ acc.balance_abs | currency_format }}</td>
180
+ <td class="is-size-5">{% currency_symbol %}{{ acc.balance | currency_format }}</td>
181
181
  </tr>
182
182
  {% endfor %}
183
183
  <tr>
@@ -216,7 +216,7 @@
216
216
  <span class="icon">{% icon 'bi:arrow-bar-up' 24 %}</span>
217
217
  {% endif %}
218
218
  </td>
219
- <td class="is-size-5">{% currency_symbol %}{{ acc.balance_abs | currency_format }}</td>
219
+ <td class="is-size-5">{% currency_symbol %}{{ acc.balance | reverse_sign | currency_format }}</td>
220
220
  </tr>
221
221
  {% endfor %}
222
222
  <tr>
@@ -239,7 +239,7 @@
239
239
  <td></td>
240
240
  <td><h2 class="is-size-4 has-text-right">{% trans 'Net Other Income (Loss)' %}</h2></td>
241
241
  <td class="is-size-3">
242
- {% currency_symbol %}{{ tx_digest.income_statement.other.net_other_income| currency_format }}</td>
242
+ {% currency_symbol %}{{ tx_digest.income_statement.other.net_other_income | currency_format }}</td>
243
243
  </tr>
244
244
 
245
245
 
@@ -7,7 +7,7 @@
7
7
  {% currency_symbol %}{{ tx_digest.group_balance.GROUP_INCOME | currency_format }}</h1>
8
8
  <h2 class="has-text-centered has-text-weight-light">{% trans 'Expenses' %}</h2>
9
9
  <h1 class="has-text-centered">
10
- {% currency_symbol %}{{ tx_digest.group_balance.GROUP_EXPENSES | reverse_sing | currency_format }}</h1>
10
+ {% currency_symbol %}{{ tx_digest.group_balance.GROUP_EXPENSES | reverse_sign | currency_format }}</h1>
11
11
  <h2 class="has-text-centered has-text-weight-light">{% trans 'Earnings (Loss)' %}</h2>
12
12
  <h1 class="has-text-centered">
13
13
  {% currency_symbol %}{{ tx_digest.group_balance.GROUP_EARNINGS | currency_format }}</h1>