diff --git a/account_financial_report/__manifest__.py b/account_financial_report/__manifest__.py
index 6027e28b..bac74a3b 100644
--- a/account_financial_report/__manifest__.py
+++ b/account_financial_report/__manifest__.py
@@ -6,7 +6,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Account Financial Reports",
- "version": "14.0.2.0.1",
+ "version": "15.0.1.0.0",
"category": "Reporting",
"summary": "OCA Financial Reports",
"author": "Camptocamp SA,"
@@ -34,7 +34,6 @@
"report/templates/trial_balance.xml",
"report/templates/vat_report.xml",
"view/account_view.xml",
- "view/report_template.xml",
"view/report_general_ledger.xml",
"view/report_journal_ledger.xml",
"view/report_trial_balance.xml",
@@ -42,7 +41,18 @@
"view/report_aged_partner_balance.xml",
"view/report_vat_report.xml",
],
- "qweb": ["static/src/xml/report.xml"],
+ "assets": {
+ "web.assets_backend": [
+ "account_financial_report/static/src/js/action_manager_report.js",
+ "account_financial_report/static/src/js/client_action.js",
+ ],
+ "web.report_assets_common": [
+ "account_financial_report/static/src/js/report.js"
+ ],
+ "web.assets_qweb": [
+ "account_financial_report/static/src/xml/**/*",
+ ],
+ },
"installable": True,
"application": True,
"auto_install": False,
diff --git a/account_financial_report/i18n/ar.po b/account_financial_report/i18n/ar.po
index f53d9520..f5b1dda3 100644
--- a/account_financial_report/i18n/ar.po
+++ b/account_financial_report/i18n/ar.po
@@ -1136,7 +1136,7 @@ msgstr "المستوى"
#: code:addons/account_financial_report/report/trial_balance_xlsx.py:0
#, fuzzy, python-format
msgid "Level %s"
-msgstr "المستوى"
+msgstr "المستوى %s"
#. module: account_financial_report
#: code:addons/account_financial_report/report/trial_balance_xlsx.py:0
diff --git a/account_financial_report/models/account.py b/account_financial_report/models/account.py
index c1131b8a..6f649b3d 100644
--- a/account_financial_report/models/account.py
+++ b/account_financial_report/models/account.py
@@ -7,7 +7,6 @@ class AccountAccount(models.Model):
_inherit = "account.account"
centralized = fields.Boolean(
- "Centralized",
help="If flagged, no details will be displayed in "
"the General Ledger report (the webkit one only), "
"only centralized amounts per period.",
diff --git a/account_financial_report/models/account_group.py b/account_financial_report/models/account_group.py
index a7227b0d..d61e2453 100644
--- a/account_financial_report/models/account_group.py
+++ b/account_financial_report/models/account_group.py
@@ -10,7 +10,7 @@ class AccountGroup(models.Model):
group_child_ids = fields.One2many(
comodel_name="account.group", inverse_name="parent_id", string="Child Groups"
)
- level = fields.Integer(string="Level", compute="_compute_level")
+ level = fields.Integer(compute="_compute_level", recursive=True)
account_ids = fields.One2many(
comodel_name="account.account", inverse_name="group_id", string="Accounts"
)
@@ -20,8 +20,12 @@ class AccountGroup(models.Model):
string="Compute accounts",
store=True,
)
- complete_name = fields.Char("Full Name", compute="_compute_complete_name")
- complete_code = fields.Char("Full Code", compute="_compute_complete_code")
+ complete_name = fields.Char(
+ "Full Name", compute="_compute_complete_name", recursive=True
+ )
+ complete_code = fields.Char(
+ "Full Code", compute="_compute_complete_code", recursive=True
+ )
@api.depends("name", "parent_id.complete_name")
def _compute_complete_name(self):
diff --git a/account_financial_report/models/ir_actions_report.py b/account_financial_report/models/ir_actions_report.py
index 852f0440..c7e45b59 100644
--- a/account_financial_report/models/ir_actions_report.py
+++ b/account_financial_report/models/ir_actions_report.py
@@ -15,11 +15,11 @@ class IrActionsReport(models.Model):
@api.model
def _render_qweb_html(self, docids, data=None):
context = self._prepare_account_financial_report_context(data)
- obj = self.with_context(context) if context else self
+ obj = self.with_context(**context) if context else self
return super(IrActionsReport, obj)._render_qweb_html(docids, data)
@api.model
def _render_xlsx(self, docids, data):
context = self._prepare_account_financial_report_context(data)
- obj = self.with_context(context) if context else self
+ obj = self.with_context(**context) if context else self
return super(IrActionsReport, obj)._render_xlsx(docids, data)
diff --git a/account_financial_report/report/aged_partner_balance_xlsx.py b/account_financial_report/report/aged_partner_balance_xlsx.py
index def43e97..8efce7b5 100644
--- a/account_financial_report/report/aged_partner_balance_xlsx.py
+++ b/account_financial_report/report/aged_partner_balance_xlsx.py
@@ -40,7 +40,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
"width": 14,
},
3: {
- "header": _(u"Age ≤ 30 d."),
+ "header": _("Age ≤ 30 d."),
"field": "30_days",
"field_footer_total": "30_days",
"field_footer_percent": "percent_30_days",
@@ -48,7 +48,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
"width": 14,
},
4: {
- "header": _(u"Age ≤ 60 d."),
+ "header": _("Age ≤ 60 d."),
"field": "60_days",
"field_footer_total": "60_days",
"field_footer_percent": "percent_60_days",
@@ -56,7 +56,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
"width": 14,
},
5: {
- "header": _(u"Age ≤ 90 d."),
+ "header": _("Age ≤ 90 d."),
"field": "90_days",
"field_footer_total": "90_days",
"field_footer_percent": "percent_90_days",
@@ -64,7 +64,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
"width": 14,
},
6: {
- "header": _(u"Age ≤ 120 d."),
+ "header": _("Age ≤ 120 d."),
"field": "120_days",
"field_footer_total": "120_days",
"field_footer_percent": "percent_120_days",
@@ -106,7 +106,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
"width": 14,
},
9: {
- "header": _(u"Age ≤ 30 d."),
+ "header": _("Age ≤ 30 d."),
"field": "30_days",
"field_footer_total": "30_days",
"field_footer_percent": "percent_30_days",
@@ -115,7 +115,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
"width": 14,
},
10: {
- "header": _(u"Age ≤ 60 d."),
+ "header": _("Age ≤ 60 d."),
"field": "60_days",
"field_footer_total": "60_days",
"field_footer_percent": "percent_60_days",
@@ -124,7 +124,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
"width": 14,
},
11: {
- "header": _(u"Age ≤ 90 d."),
+ "header": _("Age ≤ 90 d."),
"field": "90_days",
"field_footer_total": "90_days",
"field_footer_percent": "percent_90_days",
@@ -133,7 +133,7 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
"width": 14,
},
12: {
- "header": _(u"Age ≤ 120 d."),
+ "header": _("Age ≤ 120 d."),
"field": "120_days",
"field_footer_total": "120_days",
"field_footer_percent": "percent_120_days",
@@ -282,7 +282,9 @@ class AgedPartnerBalanceXslx(models.AbstractModel):
"""
name = None
label = _("Partner cumul aged balance")
- super().write_ending_balance_from_dict(my_object, name, label, report_data)
+ return super().write_ending_balance_from_dict(
+ my_object, name, label, report_data
+ )
def write_account_footer_from_dict(
self,
diff --git a/account_financial_report/report/general_ledger_xlsx.py b/account_financial_report/report/general_ledger_xlsx.py
index 7f0583a9..20651695 100644
--- a/account_financial_report/report/general_ledger_xlsx.py
+++ b/account_financial_report/report/general_ledger_xlsx.py
@@ -97,7 +97,8 @@ class GeneralLedgerXslx(models.AbstractModel):
return [
[
_("Date range filter"),
- _("From: %s To: %s") % (report.date_from, report.date_to),
+ _("From: %(date_from)s To: %(date_to)s")
+ % ({"date_from": report.date_from, "date_to": report.date_to}),
],
[
_("Target moves filter"),
@@ -329,7 +330,7 @@ class GeneralLedgerXslx(models.AbstractModel):
label = _("Partner Initial balance")
elif "account" in my_object["type"]:
label = _("Initial balance")
- super(GeneralLedgerXslx, self).write_initial_balance_from_dict(
+ return super(GeneralLedgerXslx, self).write_initial_balance_from_dict(
my_object, label, report_data
)
@@ -341,6 +342,6 @@ class GeneralLedgerXslx(models.AbstractModel):
elif "account" in my_object["type"]:
name = my_object["code"] + " - " + my_object["name"]
label = _("Ending balance")
- super(GeneralLedgerXslx, self).write_ending_balance_from_dict(
+ return super(GeneralLedgerXslx, self).write_ending_balance_from_dict(
my_object, name, label, report_data
)
diff --git a/account_financial_report/report/journal_ledger.py b/account_financial_report/report/journal_ledger.py
index e64a8c5c..a1533768 100644
--- a/account_financial_report/report/journal_ledger.py
+++ b/account_financial_report/report/journal_ledger.py
@@ -86,11 +86,11 @@ class JournalLedgerReport(models.AbstractModel):
def _get_move_lines_order(self, move_ids, wizard, journal_ids):
return ""
- def _get_move_lines_data(self, ml, wizard, ml_taxes, auto_sequence):
+ def _get_move_lines_data(self, ml, wizard, ml_taxes, auto_sequence, exigible):
base_debit = (
base_credit
) = tax_debit = tax_credit = base_balance = tax_balance = 0.0
- if ml.tax_exigible:
+ if exigible:
base_debit = ml_taxes and ml.debit or 0.0
base_credit = ml_taxes and ml.credit or 0.0
base_balance = ml_taxes and ml.balance or 0.0
@@ -179,6 +179,10 @@ class JournalLedgerReport(models.AbstractModel):
self._get_move_lines_domain(move_ids, wizard, journal_ids),
order=self._get_move_lines_order(move_ids, wizard, journal_ids),
)
+ move_lines_exigible = self.env["account.move.line"].search(
+ self._get_move_lines_domain(move_ids, wizard, journal_ids)
+ + self.env["account.move.line"]._get_tax_exigible_domain(),
+ )
move_line_ids_taxes_data = {}
if move_lines:
# Get the taxes ids for the move lines
@@ -221,8 +225,9 @@ class JournalLedgerReport(models.AbstractModel):
and move_line_ids_taxes_data[ml.id]
or {}
)
+ exigible = ml in move_lines_exigible
Move_Lines[ml.move_id.id].append(
- self._get_move_lines_data(ml, wizard, taxes, auto_sequence)
+ self._get_move_lines_data(ml, wizard, taxes, auto_sequence, exigible)
)
account_ids_data = self._get_account_data(accounts)
partner_ids_data = self._get_partner_data(partners)
diff --git a/account_financial_report/report/journal_ledger_xlsx.py b/account_financial_report/report/journal_ledger_xlsx.py
index 4a886b70..cccb6f78 100644
--- a/account_financial_report/report/journal_ledger_xlsx.py
+++ b/account_financial_report/report/journal_ledger_xlsx.py
@@ -134,7 +134,8 @@ class JournalLedgerXslx(models.AbstractModel):
[_("Company"), report.company_id.name],
[
_("Date range filter"),
- _("From: %s To: %s") % (report.date_from, report.date_to),
+ _("From: %(date_from)s To: %(date_to)s")
+ % ({"date_from": report.date_from, "date_to": report.date_to}),
],
[
_("Target moves filter"),
diff --git a/account_financial_report/report/open_items_xlsx.py b/account_financial_report/report/open_items_xlsx.py
index 5be01939..2e412448 100644
--- a/account_financial_report/report/open_items_xlsx.py
+++ b/account_financial_report/report/open_items_xlsx.py
@@ -211,6 +211,6 @@ class OpenItemsXslx(models.AbstractModel):
name = my_object["code"] + " - " + my_object["name"]
my_object["residual"] = total_amount[account_id]["residual"]
label = _("Ending balance")
- super(OpenItemsXslx, self).write_ending_balance_from_dict(
+ return super(OpenItemsXslx, self).write_ending_balance_from_dict(
my_object, name, label, report_data
)
diff --git a/account_financial_report/report/templates/aged_partner_balance.xml b/account_financial_report/report/templates/aged_partner_balance.xml
index 83e6eb53..b216bb2c 100644
--- a/account_financial_report/report/templates/aged_partner_balance.xml
+++ b/account_financial_report/report/templates/aged_partner_balance.xml
@@ -17,9 +17,9 @@