* The compiled templates are cached per user, lang, inherit context values * ir.ui.fields: attributes method return an dict, and record_to_html return only the content value of the field * all rendered text use build_text and all attributes use build_attribute * t-esc-options is removed and replace by format_value method * AssetsBundle receive the list files and remains
104 lines
5.2 KiB
XML
104 lines
5.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<template id="report_journal">
|
|
<t t-call="report.html_container">
|
|
<t t-set="data_report_margin_top" t-value="12"/>
|
|
<t t-set="data_report_header_spacing" t-value="9"/>
|
|
<t t-set="data_report_dpi" t-value="110"/>
|
|
<t t-foreach="docs" t-as="o">
|
|
<t t-call="report.internal_layout">
|
|
<div class="page">
|
|
<h2><t t-esc="o.name"/> Journal</h2>
|
|
|
|
<div class="row mt32">
|
|
<div class="col-xs-3">
|
|
<strong>Company:</strong>
|
|
<p t-esc="res_company.name"/>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<strong>Journal:</strong>
|
|
<p t-esc="o.name"/>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<strong>Entries Sorted By:</strong>
|
|
<p t-if="data['form'].get('sort_selection') != 'l.date'">Journal Entry Number</p>
|
|
<p t-if="data['form'].get('sort_selection') == 'l.date'">Date</p>
|
|
</div>
|
|
<div class="col-xs-3">
|
|
<strong>Target Moves:</strong>
|
|
<p t-if="data['form']['target_move'] == 'all'">All Entries</p>
|
|
<p t-if="data['form']['target_move'] == 'posted'">All Posted Entries</p>
|
|
</div>
|
|
</div>
|
|
|
|
<table class="table table-condensed">
|
|
<thead>
|
|
<tr>
|
|
<th>Move</th>
|
|
<th>Date</th>
|
|
<th>Account</th>
|
|
<th>Partner</th>
|
|
<th>Label</th>
|
|
<th>Debit</th>
|
|
<th>Credit</th>
|
|
<th t-if="data['form']['amount_currency']">Currency</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr t-foreach="lines[o.id]" t-as="aml">
|
|
<td><span t-esc="aml.move_id.name <> '/' and aml.move_id.name or ('*'+str(aml.move_id.id))"/></td>
|
|
<td><span t-field="aml.date"/></td>
|
|
<td><span t-field="aml.account_id.code"/></td>
|
|
<td><span t-esc="aml.partner_id and aml.partner_id.name[:23] or ''"/></td>
|
|
<td><span t-esc="aml.name[:35]"/></td>
|
|
<td><span t-esc="format(aml.debit, 'monetary', res_company.currency_id)"/></td>
|
|
<td><span t-esc="format(aml.credit, 'monetary', res_company.currency_id)"/></td>
|
|
<td t-if="data['form']['amount_currency'] and aml.amount_currency">
|
|
<span t-esc="format(aml.amount_currency, 'monetary', aml.currency_id)"/>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="row">
|
|
<div class="col-xs-4 pull-right">
|
|
<table class="table table-condensed">
|
|
<tr>
|
|
<td><strong>Total</strong></td>
|
|
<td><span t-esc="format(sum_debit(data, o), 'monetary', res_company.currency_id)"/></td>
|
|
<td><span t-esc="format(sum_credit(data, o), 'monetary', res_company.currency_id)"/></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-xs-4">
|
|
<table class="table table-condensed">
|
|
<thead>
|
|
<tr><th colspan="3">Tax Declaration</th></tr>
|
|
<tr>
|
|
<th>Name</th>
|
|
<th>Base Amount</th>
|
|
<th>Tax Amount</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-set="taxes" t-value="get_taxes(data, o)"/>
|
|
<tr t-foreach="taxes" t-as="tax">
|
|
<td><span t-esc="tax.name"/></td>
|
|
<td><span t-esc="format(taxes[tax]['base_amount'], 'monetary', res_company.currency_id)"/></td>
|
|
<td><span t-esc="format(taxes[tax]['tax_amount'], 'monetary', res_company.currency_id)"/></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</t>
|
|
</t>
|
|
</t>
|
|
</template>
|
|
</odoo>
|