[IMP] partner_statement: Translate statement title
This commit is contained in:
committed by
Miquel Raïch
parent
736e816bae
commit
a792d29e16
@@ -15,6 +15,42 @@ class ActivityStatement(models.AbstractModel):
|
||||
_name = "report.partner_statement.activity_statement"
|
||||
_description = "Partner Activity Statement"
|
||||
|
||||
def _get_title(self, partner, **kwargs):
|
||||
kwargs["context"] = {
|
||||
"lang": partner.lang,
|
||||
}
|
||||
if kwargs.get("is_detailed"):
|
||||
if kwargs.get("account_type") == "receivable":
|
||||
title = _(
|
||||
"Detailed Statement "
|
||||
"between %(starting_date)s and %(ending_date)s "
|
||||
"in %(currency)s",
|
||||
**kwargs,
|
||||
)
|
||||
else:
|
||||
title = _(
|
||||
"Detailed Supplier Statement "
|
||||
"between %(starting_date)s and %(ending_date)s "
|
||||
"in %(currency)s",
|
||||
**kwargs,
|
||||
)
|
||||
else:
|
||||
if kwargs.get("account_type") == "receivable":
|
||||
title = _(
|
||||
"Statement between "
|
||||
"%(starting_date)s and %(ending_date)s "
|
||||
"in %(currency)s",
|
||||
**kwargs,
|
||||
)
|
||||
else:
|
||||
title = _(
|
||||
"Supplier Statement "
|
||||
"between %(starting_date)s and %(ending_date)s "
|
||||
"in %(currency)s",
|
||||
**kwargs,
|
||||
)
|
||||
return title
|
||||
|
||||
def _initial_balance_sql_q1(self, partners, date_start, account_type):
|
||||
return str(
|
||||
self._cr.mogrify(
|
||||
|
||||
@@ -38,15 +38,14 @@ class ActivityStatementXslx(models.AbstractModel):
|
||||
currency_data = partner_data.get("currencies", {}).get(currency.id)
|
||||
account_type = data.get("account_type", False)
|
||||
row_pos += 2
|
||||
statement_header = _(
|
||||
"%(payable)sStatement between %(start)s and %(end)s in %(currency)s"
|
||||
) % {
|
||||
"payable": account_type == "liability_payable" and _("Supplier ") or "",
|
||||
"start": partner_data.get("start"),
|
||||
"end": partner_data.get("end"),
|
||||
"currency": currency.display_name,
|
||||
}
|
||||
|
||||
statement_header = data["get_title"](
|
||||
partner,
|
||||
is_detailed=False,
|
||||
account_type=account_type,
|
||||
starting_date=partner_data.get("start"),
|
||||
ending_date=partner_data.get("end"),
|
||||
currency=currency.display_name,
|
||||
)
|
||||
sheet.merge_range(
|
||||
row_pos, 0, row_pos, 6, statement_header, FORMATS["format_left_bold"]
|
||||
)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Copyright 2022 ForgeFlow, S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import models
|
||||
from odoo import _, models
|
||||
|
||||
from .outstanding_statement import OutstandingStatement
|
||||
|
||||
@@ -13,6 +13,34 @@ class DetailedActivityStatement(models.AbstractModel):
|
||||
_name = "report.partner_statement.detailed_activity_statement"
|
||||
_description = "Partner Detailed Activity Statement"
|
||||
|
||||
def _get_title(self, partner, **kwargs):
|
||||
kwargs["context"] = {
|
||||
"lang": partner.lang,
|
||||
}
|
||||
if kwargs.get("line_type") == "prior_lines":
|
||||
if kwargs.get("account_type") == "receivable":
|
||||
title = _(
|
||||
"Prior Balance up to %(ending_date)s in %(currency)s", **kwargs
|
||||
)
|
||||
else:
|
||||
title = _(
|
||||
"Supplier Prior Balance up to %(ending_date)s in %(currency)s",
|
||||
**kwargs,
|
||||
)
|
||||
elif kwargs.get("line_type") == "ending_lines":
|
||||
if kwargs.get("account_type") == "receivable":
|
||||
title = _(
|
||||
"Ending Balance up to %(ending_date)s in %(currency)s", **kwargs
|
||||
)
|
||||
else:
|
||||
title = _(
|
||||
"Supplier Ending Balance up to %(ending_date)s in %(currency)s",
|
||||
**kwargs,
|
||||
)
|
||||
else:
|
||||
title = super()._get_title(partner, **kwargs)
|
||||
return title
|
||||
|
||||
def _get_account_display_prior_lines(
|
||||
self, company_id, partner_ids, date_start, date_end, account_type
|
||||
):
|
||||
|
||||
@@ -40,15 +40,14 @@ class DetailedActivityStatementXslx(models.AbstractModel):
|
||||
currency_data = partner_data.get("currencies", {}).get(currency.id)
|
||||
account_type = data.get("account_type", False)
|
||||
row_pos += 2
|
||||
statement_header = _(
|
||||
"Detailed %(payable)sStatement between %(start)s and %(end)s"
|
||||
" in %(currency)s"
|
||||
) % {
|
||||
"payable": account_type == "liability_payable" and _("Supplier ") or "",
|
||||
"start": partner_data.get("start"),
|
||||
"end": partner_data.get("end"),
|
||||
"currency": currency.display_name,
|
||||
}
|
||||
statement_header = data["get_title"](
|
||||
partner,
|
||||
is_detailed=True,
|
||||
account_type=account_type,
|
||||
starting_date=partner_data.get("start"),
|
||||
ending_date=partner_data.get("end"),
|
||||
currency=currency.display_name,
|
||||
)
|
||||
sheet.merge_range(
|
||||
row_pos,
|
||||
0,
|
||||
@@ -221,13 +220,14 @@ class DetailedActivityStatementXslx(models.AbstractModel):
|
||||
currency_data = partner_data.get("currencies", {}).get(currency.id)
|
||||
account_type = data.get("account_type", False)
|
||||
row_pos += 2
|
||||
statement_header = _(
|
||||
"%(payable)sStatement up to %(prior_day)s in %(currency)s"
|
||||
) % {
|
||||
"payable": account_type == "payable" and _("Supplier ") or "",
|
||||
"prior_day": partner_data.get("prior_day"),
|
||||
"currency": currency.display_name,
|
||||
}
|
||||
statement_header = data["get_title"](
|
||||
partner,
|
||||
is_detailed=False,
|
||||
account_type=account_type,
|
||||
starting_date=partner_data.get("start"),
|
||||
ending_date=partner_data.get("end"),
|
||||
currency=currency.display_name,
|
||||
)
|
||||
sheet.merge_range(
|
||||
row_pos,
|
||||
0,
|
||||
@@ -328,11 +328,14 @@ class DetailedActivityStatementXslx(models.AbstractModel):
|
||||
currency_data = partner_data.get("currencies", {}).get(currency.id)
|
||||
account_type = data.get("account_type", False)
|
||||
row_pos += 2
|
||||
statement_header = _("%(payable)sStatement up to %(end)s in %(currency)s") % {
|
||||
"payable": account_type == "payable" and _("Supplier ") or "",
|
||||
"end": partner_data.get("end"),
|
||||
"currency": currency.display_name,
|
||||
}
|
||||
statement_header = data["get_title"](
|
||||
partner,
|
||||
is_detailed=False,
|
||||
account_type=account_type,
|
||||
starting_date=partner_data.get("start"),
|
||||
ending_date=partner_data.get("end"),
|
||||
currency=currency.display_name,
|
||||
)
|
||||
sheet.merge_range(
|
||||
row_pos,
|
||||
0,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Copyright 2018 ForgeFlow, S.L. (https://www.forgeflow.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import api, models
|
||||
from odoo import _, api, models
|
||||
from odoo.tools.float_utils import float_is_zero
|
||||
|
||||
|
||||
@@ -12,6 +12,18 @@ class OutstandingStatement(models.AbstractModel):
|
||||
_name = "report.partner_statement.outstanding_statement"
|
||||
_description = "Partner Outstanding Statement"
|
||||
|
||||
def _get_title(self, partner, **kwargs):
|
||||
kwargs["context"] = {
|
||||
"lang": partner.lang,
|
||||
}
|
||||
if kwargs.get("account_type") == "receivable":
|
||||
title = _("Statement up to %(ending_date)s in %(currency)s", **kwargs)
|
||||
else:
|
||||
title = _(
|
||||
"Supplier Statement up to %(ending_date)s in %(currency)s", **kwargs
|
||||
)
|
||||
return title
|
||||
|
||||
def _display_outstanding_lines_sql_q1(self, partners, date_end, account_type):
|
||||
partners = tuple(partners)
|
||||
return str(
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
|
||||
from odoo import _, models
|
||||
|
||||
from odoo.addons.report_xlsx_helper.report.report_xlsx_format import ( # type: ignore
|
||||
FORMATS,
|
||||
)
|
||||
from odoo.addons.report_xlsx_helper.report.report_xlsx_format import FORMATS
|
||||
|
||||
|
||||
def copy_format(book, fmt):
|
||||
@@ -158,12 +156,12 @@ class OutstandingStatementXslx(models.AbstractModel):
|
||||
currency_data = partner_data.get("currencies", {}).get(currency.id)
|
||||
account_type = data.get("account_type", False)
|
||||
row_pos += 2
|
||||
statement_header = _("%(payable)sStatement up to %(end)s in %(currency)s") % {
|
||||
"payable": account_type == "liability_payable" and _("Supplier ") or "",
|
||||
"end": partner_data.get("end"),
|
||||
"currency": currency.display_name,
|
||||
}
|
||||
|
||||
statement_header = data["get_title"](
|
||||
partner,
|
||||
account_type=account_type,
|
||||
ending_date=partner_data.get("end"),
|
||||
currency=currency.display_name,
|
||||
)
|
||||
sheet.merge_range(
|
||||
row_pos, 0, row_pos, 6, statement_header, FORMATS["format_left_bold"]
|
||||
)
|
||||
|
||||
@@ -17,6 +17,15 @@ class ReportStatementCommon(models.AbstractModel):
|
||||
inv_addr_id = part.address_get(["invoice"]).get("invoice", part.id)
|
||||
return self.env["res.partner"].browse(inv_addr_id)
|
||||
|
||||
def _get_title(self, partner, **kwargs):
|
||||
raise NotImplementedError
|
||||
|
||||
def _get_aging_buckets_title(self, partner, **kwargs):
|
||||
kwargs["context"] = {
|
||||
"lang": partner.lang,
|
||||
}
|
||||
return _("Aging Report at %(ending_date)s in %(currency)s", **kwargs)
|
||||
|
||||
def _format_date_to_partner_lang(
|
||||
self, date, date_format=DEFAULT_SERVER_DATE_FORMAT
|
||||
):
|
||||
@@ -577,4 +586,6 @@ class ReportStatementCommon(models.AbstractModel):
|
||||
"is_detailed": is_detailed,
|
||||
"bucket_labels": bucket_labels,
|
||||
"get_inv_addr": self._get_invoice_address,
|
||||
"get_title": self._get_title,
|
||||
"get_aging_buckets_title": self._get_aging_buckets_title,
|
||||
}
|
||||
|
||||
@@ -4,12 +4,9 @@
|
||||
<odoo>
|
||||
<template id="activity_balance">
|
||||
<p>
|
||||
<span t-if="is_detailed">Detailed </span>
|
||||
<span
|
||||
t-if="account_type == 'liability_payable'"
|
||||
>Supplier </span>Statement between <span t-out="d['start']" /> and <span
|
||||
t-out="d['end']"
|
||||
/> in <span t-out="display_currency.name" />
|
||||
t-out="get_title(o, is_detailed=is_detailed, account_type=account_type, starting_date=d['start'], ending_date=d['end'], currency=display_currency.name)"
|
||||
/>
|
||||
</p>
|
||||
<table class="table table-condensed table-statement">
|
||||
<thead>
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
<odoo>
|
||||
<template id="aging_buckets">
|
||||
<p>
|
||||
Aging Report at <span t-out="d['end']" /> in <span
|
||||
t-out="display_currency.name"
|
||||
/>:
|
||||
<span
|
||||
t-out="get_aging_buckets_title(o, ending_date=d['end'], currency=display_currency.name)"
|
||||
/>
|
||||
</p>
|
||||
<table class="table table-sm table-statement">
|
||||
<thead>
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
<t t-set="display_currency" t-value="Currencies[currency[0]]" />
|
||||
<t t-set="currency" t-value="currency[1]" />
|
||||
<t t-set="line_type" t-value="'prior_lines'" />
|
||||
<t t-set="title_name" t-value="'Prior Balance'" />
|
||||
<t
|
||||
t-set="ending_amount"
|
||||
t-value="currency['balance_forward']"
|
||||
@@ -51,7 +50,6 @@
|
||||
name="detailed_activity"
|
||||
/>
|
||||
<t t-set="line_type" t-value="'ending_lines'" />
|
||||
<t t-set="title_name" t-value="'Ending Balance'" />
|
||||
<t t-set="ending_amount" t-value="currency['amount_due']" />
|
||||
<t t-set="ending_date" t-value="d['end']" />
|
||||
<t
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
<template id="outstanding_balance">
|
||||
<p>
|
||||
<span
|
||||
t-out="'' if account_type == 'asset_receivable' else 'Supplier '"
|
||||
/><span t-out="title_name" /> up to <span t-out="ending_date" /> in <span
|
||||
t-out="display_currency.name"
|
||||
t-out="get_title(o, account_type=account_type, line_type=line_type, ending_date=ending_date, currency=display_currency.name)"
|
||||
/>
|
||||
</p>
|
||||
<table class="table table-sm table-statement">
|
||||
@@ -135,7 +133,6 @@
|
||||
<t t-set="display_currency" t-value="Currencies[currency[0]]" />
|
||||
<t t-set="currency" t-value="currency[1]" />
|
||||
<t t-set="line_type" t-value="'lines'" />
|
||||
<t t-set="title_name" t-value="'Statement'" />
|
||||
<t t-set="ending_amount" t-value="currency['amount_due']" />
|
||||
<t t-set="ending_date" t-value="d['end']" />
|
||||
<t
|
||||
|
||||
Reference in New Issue
Block a user