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