mreficent
5 years ago
20 changed files with 855 additions and 649 deletions
-
38partner_statement/__manifest__.py
-
95partner_statement/report/activity_statement.py
-
55partner_statement/report/outstanding_statement.py
-
300partner_statement/report/report_statement_common.py
-
9partner_statement/security/statement_security.xml
-
6partner_statement/static/src/scss/layout_statement.scss
-
96partner_statement/tests/test_activity_statement.py
-
78partner_statement/tests/test_outstanding_statement.py
-
31partner_statement/tests/test_res_config_settings.py
-
228partner_statement/views/activity_statement.xml
-
43partner_statement/views/aging_buckets.xml
-
16partner_statement/views/assets.xml
-
221partner_statement/views/outstanding_statement.xml
-
64partner_statement/views/res_config_settings.xml
-
21partner_statement/wizard/activity_statement_wizard.py
-
11partner_statement/wizard/outstanding_statement_wizard.py
-
32partner_statement/wizard/res_config_settings.py
-
54partner_statement/wizard/statement_common.py
-
104partner_statement/wizard/statement_wizard.xml
@ -1,14 +1,11 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
<odoo> |
<odoo> |
||||
|
|
||||
<record id="group_activity_statement" model="res.groups"> |
<record id="group_activity_statement" model="res.groups"> |
||||
<field name="name">Use activity statements</field> |
<field name="name">Use activity statements</field> |
||||
<field name="category_id" ref="base.module_category_hidden"/> |
|
||||
|
<field name="category_id" ref="base.module_category_hidden" /> |
||||
</record> |
</record> |
||||
|
|
||||
<record id="group_outstanding_statement" model="res.groups"> |
<record id="group_outstanding_statement" model="res.groups"> |
||||
<field name="name">Use outstanding statements</field> |
<field name="name">Use outstanding statements</field> |
||||
<field name="category_id" ref="base.module_category_hidden"/> |
|
||||
|
<field name="category_id" ref="base.module_category_hidden" /> |
||||
</record> |
</record> |
||||
|
|
||||
</odoo> |
</odoo> |
@ -1,140 +1,172 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
<!-- Copyright 2018 Eficent Business and IT Consulting Services S.L. |
<!-- Copyright 2018 Eficent Business and IT Consulting Services S.L. |
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> |
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> |
||||
<odoo> |
<odoo> |
||||
|
|
||||
<template id="partner_statement.activity_statement_document"> |
<template id="partner_statement.activity_statement_document"> |
||||
<t t-call="web.external_layout"> |
<t t-call="web.external_layout"> |
||||
<t t-set="o" t-value="o.with_context({'lang': lang})"/> |
|
||||
|
<t t-set="o" t-value="o.with_context({'lang': lang})" /> |
||||
<t t-set="address"> |
<t t-set="address"> |
||||
<address t-esc="get_inv_addr(o)" t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": True}' /> |
|
||||
<div t-if="o.vat" class="mt16"><t t-esc="company.country_id.vat_label or 'Tax ID'"/>: <span t-field="o.vat"/></div> |
|
||||
|
<address |
||||
|
t-esc="get_inv_addr(o)" |
||||
|
t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": True}' |
||||
|
/> |
||||
|
<div t-if="o.vat" class="mt16"><t |
||||
|
t-esc="company.country_id.vat_label or 'Tax ID'" |
||||
|
/>: <span t-field="o.vat" /></div> |
||||
</t> |
</t> |
||||
<div class="page"> |
<div class="page"> |
||||
<h2 >Statement of Account</h2> |
|
||||
|
<h2>Statement of Account</h2> |
||||
<div id="informations" class="row mt32 mb32"> |
<div id="informations" class="row mt32 mb32"> |
||||
<div class="col-3 bm-2"> |
<div class="col-3 bm-2"> |
||||
<strong>Date:</strong> |
<strong>Date:</strong> |
||||
<p t-esc="d['today']" class="m-0"/> |
|
||||
|
<p t-esc="d['today']" class="m-0" /> |
||||
</div> |
</div> |
||||
<div t-if="o.ref" class="col-3 bm-2"> |
<div t-if="o.ref" class="col-3 bm-2"> |
||||
<strong>Partner Code:</strong> |
<strong>Partner Code:</strong> |
||||
<p t-field="o.ref" class="m-0" /> |
<p t-field="o.ref" class="m-0" /> |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
|
|
||||
<t t-if="d['currencies']"> |
|
||||
<br/> |
|
||||
<t t-foreach="d['currencies'].items()" t-as="currency"> |
|
||||
<t t-set="display_currency" t-value="Currencies[currency[0]]" /> |
|
||||
<t t-set="currency" t-value="currency[1]" /> |
|
||||
<p> |
|
||||
<span t-if="account_type == 'payable'">Supplier </span>Statement between <span t-esc="d['start']" /> and <span t-esc="d['end']" /> in <span t-esc="display_currency.name"/> |
|
||||
|
<t t-if="d['currencies']"> |
||||
|
<br /> |
||||
|
<t t-foreach="d['currencies'].items()" t-as="currency"> |
||||
|
<t t-set="display_currency" t-value="Currencies[currency[0]]" /> |
||||
|
<t t-set="currency" t-value="currency[1]" /> |
||||
|
<p> |
||||
|
<span |
||||
|
t-if="account_type == 'payable'" |
||||
|
>Supplier </span>Statement between <span |
||||
|
t-esc="d['start']" |
||||
|
/> and <span t-esc="d['end']" /> in <span |
||||
|
t-esc="display_currency.name" |
||||
|
/> |
||||
</p> |
</p> |
||||
<table class="table table-condensed table-statement"> |
|
||||
<thead> |
|
||||
<tr> |
|
||||
<th>Reference number</th> |
|
||||
<th>Date</th> |
|
||||
<th>Description</th> |
|
||||
<th class="amount">Amount</th> |
|
||||
<th class="amount">Balance</th> |
|
||||
</tr> |
|
||||
</thead> |
|
||||
<tbody> |
|
||||
<tr> |
|
||||
<td /> |
|
||||
<td> |
|
||||
<span t-esc="d['start']"/> |
|
||||
</td> |
|
||||
<td> |
|
||||
|
<table class="table table-condensed table-statement"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Reference number</th> |
||||
|
<th>Date</th> |
||||
|
<th>Description</th> |
||||
|
<th class="amount">Amount</th> |
||||
|
<th class="amount">Balance</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<tr> |
||||
|
<td /> |
||||
|
<td> |
||||
|
<span t-esc="d['start']" /> |
||||
|
</td> |
||||
|
<td> |
||||
Balance Forward |
Balance Forward |
||||
</td> |
</td> |
||||
<td /> |
|
||||
<td class="amount"> |
|
||||
<span t-esc="currency['balance_forward']" t-options="{'widget': 'monetary', 'display_currency': display_currency}"/> |
|
||||
</td> |
|
||||
|
|
||||
</tr> |
|
||||
<tr t-foreach="currency['lines']" t-as="line" t-att-class="'statement-blocked' if line['blocked'] else ''"> |
|
||||
|
|
||||
<td> |
|
||||
<span t-esc="line['move_id']"/> |
|
||||
</td> |
|
||||
<td> |
|
||||
<span t-esc="line['date']"/> |
|
||||
</td> |
|
||||
<td> |
|
||||
<t t-if="line['name'] != '/'"> |
|
||||
<t t-if="not line['ref']"> |
|
||||
<span t-esc="line['name']"/> |
|
||||
|
<td /> |
||||
|
<td class="amount"> |
||||
|
<span |
||||
|
t-esc="currency['balance_forward']" |
||||
|
t-options="{'widget': 'monetary', 'display_currency': display_currency}" |
||||
|
/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr |
||||
|
t-foreach="currency['lines']" |
||||
|
t-as="line" |
||||
|
t-att-class="'statement-blocked' if line['blocked'] else ''" |
||||
|
> |
||||
|
<td> |
||||
|
<span t-esc="line['move_id']" /> |
||||
|
</td> |
||||
|
<td> |
||||
|
<span t-esc="line['date']" /> |
||||
|
</td> |
||||
|
<td> |
||||
|
<t t-if="line['name'] != '/'"> |
||||
|
<t t-if="not line['ref']"> |
||||
|
<span t-esc="line['name']" /> |
||||
|
</t> |
||||
|
<t t-if="line['ref'] and line['name']"> |
||||
|
<t |
||||
|
t-if="line['name'] not in line['ref']" |
||||
|
> |
||||
|
<span t-esc="line['name']" /> |
||||
</t> |
</t> |
||||
<t t-if="line['ref'] and line['name']"> |
|
||||
<t t-if="line['name'] not in line['ref']"> |
|
||||
<span t-esc="line['name']"/> |
|
||||
</t> |
|
||||
<t t-if="line['ref'] not in line['name']"> |
|
||||
<span t-esc="line['ref']"/> |
|
||||
</t> |
|
||||
<t t-if="line['name'] == line['ref']"> |
|
||||
<span t-esc="line['name']"/> |
|
||||
</t> |
|
||||
|
<t |
||||
|
t-if="line['ref'] not in line['name']" |
||||
|
> |
||||
|
<span t-esc="line['ref']" /> |
||||
|
</t> |
||||
|
<t t-if="line['name'] == line['ref']"> |
||||
|
<span t-esc="line['name']" /> |
||||
</t> |
</t> |
||||
</t> |
</t> |
||||
<t t-if="line['name'] == '/'"> |
|
||||
<span t-if="line['ref'] == 'Payment'">Payment</span> |
|
||||
<span t-else="" t-esc="line['ref']"/> |
|
||||
</t> |
|
||||
</td> |
|
||||
<td class="amount"> |
|
||||
<span t-esc="line['amount']" t-options="{'widget': 'monetary', 'display_currency': display_currency}"/> |
|
||||
</td> |
|
||||
<td class="amount"> |
|
||||
<span t-esc="line['balance']" t-options="{'widget': 'monetary', 'display_currency': display_currency}"/> |
|
||||
</td> |
|
||||
|
|
||||
</tr> |
|
||||
<tr> |
|
||||
<td /> |
|
||||
<td> |
|
||||
<span t-esc="d['end']"/> |
|
||||
</td> |
|
||||
<td> |
|
||||
|
</t> |
||||
|
<t t-if="line['name'] == '/'"> |
||||
|
<span |
||||
|
t-if="line['ref'] == 'Payment'" |
||||
|
>Payment</span> |
||||
|
<span t-else="" t-esc="line['ref']" /> |
||||
|
</t> |
||||
|
</td> |
||||
|
<td class="amount"> |
||||
|
<span |
||||
|
t-esc="line['amount']" |
||||
|
t-options="{'widget': 'monetary', 'display_currency': display_currency}" |
||||
|
/> |
||||
|
</td> |
||||
|
<td class="amount"> |
||||
|
<span |
||||
|
t-esc="line['balance']" |
||||
|
t-options="{'widget': 'monetary', 'display_currency': display_currency}" |
||||
|
/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td /> |
||||
|
<td> |
||||
|
<span t-esc="d['end']" /> |
||||
|
</td> |
||||
|
<td> |
||||
Ending Balance |
Ending Balance |
||||
</td> |
</td> |
||||
<td /> |
|
||||
<td class="amount"> |
|
||||
<span t-esc="currency['amount_due']" t-options="{'widget': 'monetary', 'display_currency': display_currency}"/> |
|
||||
</td> |
|
||||
</tr> |
|
||||
</tbody> |
|
||||
</table> |
|
||||
<t t-call="partner_statement.aging_buckets" t-if="currency['buckets']" /> |
|
||||
</t> |
|
||||
|
<td /> |
||||
|
<td class="amount"> |
||||
|
<span |
||||
|
t-esc="currency['amount_due']" |
||||
|
t-options="{'widget': 'monetary', 'display_currency': display_currency}" |
||||
|
/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
<t |
||||
|
t-call="partner_statement.aging_buckets" |
||||
|
t-if="currency['buckets']" |
||||
|
/> |
||||
</t> |
</t> |
||||
<p t-if="d.get('no_entries')"> |
|
||||
<strong>The partner doesn't have due entries.</strong> |
|
||||
</p> |
|
||||
</div> |
|
||||
|
</t> |
||||
|
<p t-if="d.get('no_entries')"> |
||||
|
<strong>The partner doesn't have due entries.</strong> |
||||
|
</p> |
||||
|
</div> |
||||
</t> |
</t> |
||||
</template> |
</template> |
||||
|
|
||||
<template id="activity_statement"> |
<template id="activity_statement"> |
||||
<t t-call="web.html_container"> |
<t t-call="web.html_container"> |
||||
<t t-foreach="docs" t-as="o"> |
<t t-foreach="docs" t-as="o"> |
||||
<t t-set="d" t-value="data.get(o.id)" /> |
<t t-set="d" t-value="data.get(o.id)" /> |
||||
<t t-call="partner_statement.activity_statement_document" t-lang="o.lang"/> |
|
||||
|
<t |
||||
|
t-call="partner_statement.activity_statement_document" |
||||
|
t-lang="o.lang" |
||||
|
/> |
||||
</t> |
</t> |
||||
</t> |
</t> |
||||
</template> |
</template> |
||||
|
|
||||
<report id="action_print_activity_statement" |
|
||||
|
<report |
||||
|
id="action_print_activity_statement" |
||||
model="res.partner" |
model="res.partner" |
||||
report_type="qweb-pdf" |
report_type="qweb-pdf" |
||||
menu="False" |
menu="False" |
||||
string="Activity Statement" |
string="Activity Statement" |
||||
name="partner_statement.activity_statement" |
name="partner_statement.activity_statement" |
||||
file="partner_statement.activity_statement" |
file="partner_statement.activity_statement" |
||||
/> |
|
||||
|
|
||||
|
/> |
||||
</odoo> |
</odoo> |
@ -1,12 +1,18 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
<!-- Copyright 2018 Eficent Business and IT Consulting Services S.L. |
<!-- Copyright 2018 Eficent Business and IT Consulting Services S.L. |
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> |
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> |
||||
<odoo> |
<odoo> |
||||
|
|
||||
<template id="report_assets_common" name="oca_statements report assets" inherit_id="web.report_assets_common"> |
|
||||
|
<template |
||||
|
id="report_assets_common" |
||||
|
name="oca_statements report assets" |
||||
|
inherit_id="web.report_assets_common" |
||||
|
> |
||||
<xpath expr="." position="inside"> |
<xpath expr="." position="inside"> |
||||
<link rel="stylesheet" href="/partner_statement/static/src/scss/layout_statement.scss" type="text/scss" /> |
|
||||
|
<link |
||||
|
rel="stylesheet" |
||||
|
href="/partner_statement/static/src/scss/layout_statement.scss" |
||||
|
type="text/scss" |
||||
|
/> |
||||
</xpath> |
</xpath> |
||||
</template> |
</template> |
||||
|
|
||||
</odoo> |
</odoo> |
@ -1,136 +1,165 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
<!-- Copyright 2018 Eficent Business and IT Consulting Services S.L. |
<!-- Copyright 2018 Eficent Business and IT Consulting Services S.L. |
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> |
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> |
||||
<odoo> |
<odoo> |
||||
|
|
||||
<template id="partner_statement.outstanding_statement_document"> |
<template id="partner_statement.outstanding_statement_document"> |
||||
<t t-call="web.external_layout"> |
<t t-call="web.external_layout"> |
||||
<t t-set="o" t-value="o.with_context({'lang': lang})"/> |
|
||||
|
<t t-set="o" t-value="o.with_context({'lang': lang})" /> |
||||
<t t-set="address"> |
<t t-set="address"> |
||||
<address t-esc="get_inv_addr(o)" t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": True}' /> |
|
||||
<div t-if="o.vat" class="mt16"><t t-esc="company.country_id.vat_label or 'Tax ID'"/>: <span t-field="o.vat"/></div> |
|
||||
|
<address |
||||
|
t-esc="get_inv_addr(o)" |
||||
|
t-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": True}' |
||||
|
/> |
||||
|
<div t-if="o.vat" class="mt16"><t |
||||
|
t-esc="company.country_id.vat_label or 'Tax ID'" |
||||
|
/>: <span t-field="o.vat" /></div> |
||||
</t> |
</t> |
||||
<div class="page"> |
<div class="page"> |
||||
<div class="oe_structure"/> |
|
||||
<h2 >Statement of Account</h2> |
|
||||
|
<div class="oe_structure" /> |
||||
|
<h2>Statement of Account</h2> |
||||
<div id="informations" class="row mt32 mb32"> |
<div id="informations" class="row mt32 mb32"> |
||||
<div class="col-3 bm-2"> |
<div class="col-3 bm-2"> |
||||
<strong>Date:</strong> |
<strong>Date:</strong> |
||||
<p t-esc="d['today']" class="m-0"/> |
|
||||
|
<p t-esc="d['today']" class="m-0" /> |
||||
</div> |
</div> |
||||
<div t-if="o.ref" class="col-3 bm-2"> |
<div t-if="o.ref" class="col-3 bm-2"> |
||||
<strong>Partner Code:</strong> |
<strong>Partner Code:</strong> |
||||
<p t-field="o.ref" class="m-0" /> |
<p t-field="o.ref" class="m-0" /> |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
|
|
||||
<t t-if="d['currencies']"> |
|
||||
<br/> |
|
||||
<t t-foreach="d['currencies'].items()" t-as="currency"> |
|
||||
<t t-set="display_currency" t-value="Currencies[currency[0]]" /> |
|
||||
<t t-set="currency" t-value="currency[1]" /> |
|
||||
<p> |
|
||||
<span t-esc="'' if account_type == 'receivable' else 'Supplier '"/>Statement up to <span t-esc="d['end']" /> in <span t-esc="display_currency.name"/> |
|
||||
|
<t t-if="d['currencies']"> |
||||
|
<br /> |
||||
|
<t t-foreach="d['currencies'].items()" t-as="currency"> |
||||
|
<t t-set="display_currency" t-value="Currencies[currency[0]]" /> |
||||
|
<t t-set="currency" t-value="currency[1]" /> |
||||
|
<p> |
||||
|
<span |
||||
|
t-esc="'' if account_type == 'receivable' else 'Supplier '" |
||||
|
/>Statement up to <span t-esc="d['end']" /> in <span |
||||
|
t-esc="display_currency.name" |
||||
|
/> |
||||
</p> |
</p> |
||||
<table class="table table-sm table-statement"> |
|
||||
<thead> |
|
||||
<tr> |
|
||||
<th>Reference number</th> |
|
||||
<th>Date</th> |
|
||||
<th>Due Date</th> |
|
||||
<th>Description</th> |
|
||||
<th class="amount">Original</th> |
|
||||
<th class="amount">Open Amount</th> |
|
||||
<th class="amount">Balance</th> |
|
||||
</tr> |
|
||||
</thead> |
|
||||
<tbody> |
|
||||
<tr t-foreach="currency['lines']" t-as="line" t-att-class="'statement-blocked' if line['blocked'] else ''"> |
|
||||
|
|
||||
<td> |
|
||||
<span t-esc="line['move_id']"/> |
|
||||
</td> |
|
||||
<td> |
|
||||
<span t-esc="line['date']"/> |
|
||||
</td> |
|
||||
<td> |
|
||||
<span t-esc="line['date_maturity']"/> |
|
||||
</td> |
|
||||
<td> |
|
||||
<t t-if="line['name'] != '/'"> |
|
||||
<t t-if="not line['ref']"> |
|
||||
<span t-esc="line['name']"/> |
|
||||
|
<table class="table table-sm table-statement"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Reference number</th> |
||||
|
<th>Date</th> |
||||
|
<th>Due Date</th> |
||||
|
<th>Description</th> |
||||
|
<th class="amount">Original</th> |
||||
|
<th class="amount">Open Amount</th> |
||||
|
<th class="amount">Balance</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
<tr |
||||
|
t-foreach="currency['lines']" |
||||
|
t-as="line" |
||||
|
t-att-class="'statement-blocked' if line['blocked'] else ''" |
||||
|
> |
||||
|
<td> |
||||
|
<span t-esc="line['move_id']" /> |
||||
|
</td> |
||||
|
<td> |
||||
|
<span t-esc="line['date']" /> |
||||
|
</td> |
||||
|
<td> |
||||
|
<span t-esc="line['date_maturity']" /> |
||||
|
</td> |
||||
|
<td> |
||||
|
<t t-if="line['name'] != '/'"> |
||||
|
<t t-if="not line['ref']"> |
||||
|
<span t-esc="line['name']" /> |
||||
|
</t> |
||||
|
<t t-if="line['ref'] and line['name']"> |
||||
|
<t |
||||
|
t-if="line['name'] not in line['ref']" |
||||
|
> |
||||
|
<span t-esc="line['name']" /> |
||||
</t> |
</t> |
||||
<t t-if="line['ref'] and line['name']"> |
|
||||
<t t-if="line['name'] not in line['ref']"> |
|
||||
<span t-esc="line['name']"/> |
|
||||
</t> |
|
||||
<t t-if="line['ref'] not in line['name']"> |
|
||||
<span t-esc="line['ref']"/> |
|
||||
</t> |
|
||||
<t t-if="line['ref'] == line['name']"> |
|
||||
<span t-esc="line['name']"/> |
|
||||
</t> |
|
||||
|
<t |
||||
|
t-if="line['ref'] not in line['name']" |
||||
|
> |
||||
|
<span t-esc="line['ref']" /> |
||||
|
</t> |
||||
|
<t t-if="line['ref'] == line['name']"> |
||||
|
<span t-esc="line['name']" /> |
||||
</t> |
</t> |
||||
</t> |
</t> |
||||
<t t-if="line['name'] == '/'"> |
|
||||
<span t-esc="line['ref']"/> |
|
||||
</t> |
|
||||
</td> |
|
||||
<td class="amount"> |
|
||||
<span t-esc="line['amount']" t-options="{'widget': 'monetary', 'display_currency': display_currency}"/> |
|
||||
</td> |
|
||||
<td class="amount"> |
|
||||
<span t-esc="line['open_amount']" t-options="{'widget': 'monetary', 'display_currency': display_currency}"/> |
|
||||
</td> |
|
||||
<td class="amount"> |
|
||||
<span t-esc="line['balance']" t-options="{'widget': 'monetary', 'display_currency': display_currency}"/> |
|
||||
</td> |
|
||||
|
|
||||
</tr> |
|
||||
<tr> |
|
||||
<td /> |
|
||||
<td> |
|
||||
<span t-esc="d['end']"/> |
|
||||
</td> |
|
||||
<td> |
|
||||
|
</t> |
||||
|
<t t-if="line['name'] == '/'"> |
||||
|
<span t-esc="line['ref']" /> |
||||
|
</t> |
||||
|
</td> |
||||
|
<td class="amount"> |
||||
|
<span |
||||
|
t-esc="line['amount']" |
||||
|
t-options="{'widget': 'monetary', 'display_currency': display_currency}" |
||||
|
/> |
||||
|
</td> |
||||
|
<td class="amount"> |
||||
|
<span |
||||
|
t-esc="line['open_amount']" |
||||
|
t-options="{'widget': 'monetary', 'display_currency': display_currency}" |
||||
|
/> |
||||
|
</td> |
||||
|
<td class="amount"> |
||||
|
<span |
||||
|
t-esc="line['balance']" |
||||
|
t-options="{'widget': 'monetary', 'display_currency': display_currency}" |
||||
|
/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td /> |
||||
|
<td> |
||||
|
<span t-esc="d['end']" /> |
||||
|
</td> |
||||
|
<td> |
||||
Ending Balance |
Ending Balance |
||||
</td> |
</td> |
||||
<td /> |
|
||||
<td /> |
|
||||
<td /> |
|
||||
<td class="amount"> |
|
||||
<span t-esc="currency['amount_due']" t-options="{'widget': 'monetary', 'display_currency': display_currency}"/> |
|
||||
</td> |
|
||||
</tr> |
|
||||
</tbody> |
|
||||
</table> |
|
||||
<t t-call="partner_statement.aging_buckets" t-if="currency['buckets']" /> |
|
||||
</t> |
|
||||
|
<td /> |
||||
|
<td /> |
||||
|
<td /> |
||||
|
<td class="amount"> |
||||
|
<span |
||||
|
t-esc="currency['amount_due']" |
||||
|
t-options="{'widget': 'monetary', 'display_currency': display_currency}" |
||||
|
/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
<t |
||||
|
t-call="partner_statement.aging_buckets" |
||||
|
t-if="currency['buckets']" |
||||
|
/> |
||||
</t> |
</t> |
||||
<p t-if="d.get('no_entries')"> |
|
||||
<strong>The partner doesn't have due entries.</strong> |
|
||||
</p> |
|
||||
</div> |
|
||||
|
|
||||
|
</t> |
||||
|
<p t-if="d.get('no_entries')"> |
||||
|
<strong>The partner doesn't have due entries.</strong> |
||||
|
</p> |
||||
|
</div> |
||||
</t> |
</t> |
||||
</template> |
</template> |
||||
|
|
||||
<template id="outstanding_statement"> |
<template id="outstanding_statement"> |
||||
<t t-call="web.html_container"> |
<t t-call="web.html_container"> |
||||
<t t-foreach="docs" t-as="o"> |
<t t-foreach="docs" t-as="o"> |
||||
<t t-set="d" t-value="data.get(o.id)" /> |
<t t-set="d" t-value="data.get(o.id)" /> |
||||
<t t-call="partner_statement.outstanding_statement_document" t-lang="o.lang"/> |
|
||||
|
<t |
||||
|
t-call="partner_statement.outstanding_statement_document" |
||||
|
t-lang="o.lang" |
||||
|
/> |
||||
</t> |
</t> |
||||
</t> |
</t> |
||||
</template> |
</template> |
||||
|
|
||||
<report id="action_print_outstanding_statement" |
|
||||
|
<report |
||||
|
id="action_print_outstanding_statement" |
||||
model="res.partner" |
model="res.partner" |
||||
report_type="qweb-pdf" |
report_type="qweb-pdf" |
||||
menu="False" |
menu="False" |
||||
string="Outstanding Statement" |
string="Outstanding Statement" |
||||
name="partner_statement.outstanding_statement" |
name="partner_statement.outstanding_statement" |
||||
file="partner_statement.outstanding_statement" |
file="partner_statement.outstanding_statement" |
||||
/> |
|
||||
|
/> |
||||
</odoo> |
</odoo> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue