Reworked the structure of the HTML and the SCSS to adhere to the official specs: - 5mm padding inside the two main sections - Correct font sizes - Bold headers - Increased the Swiss Cross inside the logo (7mm x 7mm) - Scissors pictogram on the outline - Dashed borders Sizes now take the wkhtmltopdf (1/1.25 factor) shrinking into consideration. closes odoo/odoo#80544 X-original-commit: f02622684c6a220a425044d8d4a5fd474efdb519 Signed-off-by: William André (wan) <wan@odoo.com>
211 lines
10 KiB
XML
211 lines
10 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data>
|
|
|
|
<record id="l10n_ch_qr_report" model="ir.actions.report">
|
|
<field name="name">QR-bill</field>
|
|
<field name="model">account.move</field>
|
|
<field name="report_type">qweb-pdf</field>
|
|
<field name="report_name">l10n_ch.qr_report_main</field>
|
|
<field name="report_file">l10n_ch.qr_report_main</field>
|
|
<field name="print_report_name">'QR-bill-%s' % object.name</field>
|
|
<field name="paperformat_id" ref="l10n_ch.paperformat_euro_no_margin"/>
|
|
<field name="attachment">'QR-bill-' + object.name + '.pdf'</field>
|
|
</record>
|
|
|
|
<template id="l10n_ch_swissqr_template">
|
|
<t t-set="o" t-value="o.with_context(lang=lang)"/>
|
|
<t t-call="web.external_layout">
|
|
|
|
<!-- add default margin for header (matching A4 European margin) -->
|
|
<t t-set="report_header_style">padding-top:6.2mm; padding-left:8.2mm; padding-right:8.2mm;</t>
|
|
|
|
<t t-set="formated_amount" t-value="'{:,.2f}'.format(o.amount_residual).replace(',','\xa0')"/>
|
|
|
|
<div class="swissqr_page_title">
|
|
<h1>QR-bill for invoice <t t-esc="o.name"/></h1>
|
|
</div>
|
|
|
|
<div class="swissqr_content_v2">
|
|
|
|
<div class="swissqr_receipt">
|
|
|
|
<img src="/l10n_ch/static/src/img/scissors_h.png" class="scissors horizontal_scissors"/>
|
|
|
|
<div id="receipt_title_zone" class="swissqr_section_title">
|
|
<span>Receipt</span>
|
|
</div>
|
|
|
|
<div id="receipt_indication_zone" class="receipt_indication_zone">
|
|
|
|
<div class="swissqr_text title">
|
|
<span>Account / Payable to</span>
|
|
</div>
|
|
<div class="swissqr_text content">
|
|
<span t-field="o.partner_bank_id.acc_number" t-if="not o.partner_bank_id.l10n_ch_qr_iban"/>
|
|
<span t-field="o.partner_bank_id.l10n_ch_qr_iban" t-if="o.partner_bank_id.l10n_ch_qr_iban"/>
|
|
<br/>
|
|
<span t-field="o.company_id.name"/><br/>
|
|
<span t-field="o.company_id.street"/><br/>
|
|
<span t-field="o.company_id.country_id.code"/>
|
|
<span t-field="o.company_id.zip"/>
|
|
<span t-field="o.company_id.city"/><br/>
|
|
<br/>
|
|
</div>
|
|
|
|
<t t-if="o.partner_bank_id.l10n_ch_qr_iban">
|
|
<div class="swissqr_text title">
|
|
<span>Reference</span>
|
|
</div>
|
|
<div class="swissqr_text content">
|
|
<span t-esc="o.space_qrr_reference(o.payment_reference)"/><br/>
|
|
<br/>
|
|
</div>
|
|
</t>
|
|
|
|
<div class="swissqr_text title">
|
|
<span>Payable by</span>
|
|
</div>
|
|
<div class="swissqr_text content">
|
|
<span t-field="o.partner_id.commercial_partner_id.name"/><br/>
|
|
<span t-field="o.partner_id.street"/>
|
|
<span t-field="o.partner_id.street2"/><br/>
|
|
<span t-field="o.partner_id.country_id.code"/>
|
|
<span t-field="o.partner_id.zip"/>
|
|
<span t-field="o.partner_id.city"/>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="receipt_amount_zone" class="swissqr_column_left receipt_amount_zone">
|
|
<div class="swissqr_text">
|
|
<div class="column">
|
|
<div class="title">
|
|
<span>Currency</span>
|
|
</div>
|
|
<div class="content">
|
|
<span t-field="o.currency_id.name"/>
|
|
</div>
|
|
</div>
|
|
<div class="column">
|
|
<div class="title">
|
|
<span>Amount</span>
|
|
</div>
|
|
<div class="content">
|
|
<span t-esc="formated_amount"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="receipt_acceptance_point_zone" class="receipt_acceptance_point_zone">
|
|
<div class="swissqr_text content">
|
|
<span class="title">Acceptance point</span>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="swissqr_body">
|
|
|
|
<img src="/l10n_ch/static/src/img/scissors_v.png" class="scissors vertical_scissors"/>
|
|
|
|
<div class="swissqr_column_left">
|
|
|
|
<div class="swissqr_section_title">
|
|
<span>Payment part</span>
|
|
</div>
|
|
|
|
<img class="swissqr" t-att-src="qr_code_urls[o.id]"/>
|
|
|
|
<div id="amount_zone" class="amount_zone">
|
|
<div class="swissqr_text">
|
|
<div class="column">
|
|
<div class="title">
|
|
<span>Currency</span>
|
|
</div>
|
|
<div class="content">
|
|
<span t-field="o.currency_id.name"/>
|
|
</div>
|
|
</div>
|
|
<div class="column">
|
|
<div class="title">
|
|
<span>Amount</span><br/>
|
|
</div>
|
|
<div class="content">
|
|
<span t-esc="formated_amount"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="indications_zone" class="swissqr_column_right">
|
|
<div class="swissqr_text title">
|
|
<span>Account / Payable to</span><br/>
|
|
</div>
|
|
<div class="swissqr_text content">
|
|
<span t-field="o.partner_bank_id.acc_number" t-if="not o.partner_bank_id.l10n_ch_qr_iban"/>
|
|
<span t-field="o.partner_bank_id.l10n_ch_qr_iban" t-if="o.partner_bank_id.l10n_ch_qr_iban"/>
|
|
<br/>
|
|
<span t-field="o.company_id.name"/><br/>
|
|
<span t-field="o.company_id.street"/><br/>
|
|
<span t-field="o.company_id.country_id.code"/>
|
|
<span t-field="o.company_id.zip"/>
|
|
<span t-field="o.company_id.city"/><br/>
|
|
<br/>
|
|
</div>
|
|
|
|
<t t-if="o.partner_bank_id.l10n_ch_qr_iban">
|
|
<div class="swissqr_text title">
|
|
<span class="title">Reference</span>
|
|
</div>
|
|
<div class="swissqr_text content">
|
|
<span t-esc="o.space_qrr_reference(o.payment_reference)"/><br/>
|
|
<br/>
|
|
</div>
|
|
</t>
|
|
|
|
<t t-set="additional_info" t-value="(o.ref or o.name if o.partner_bank_id.l10n_ch_qr_iban else o.payment_reference or o.ref or o.name)"/>
|
|
<t t-if="additional_info">
|
|
<div class="swissqr_text title">
|
|
<span>Additional information</span>
|
|
</div>
|
|
<div class="swissqr_text content">
|
|
<span t-esc="additional_info"/><br/>
|
|
<br/>
|
|
</div>
|
|
</t>
|
|
|
|
<div class="swissqr_text title">
|
|
<span>Payable by</span>
|
|
</div>
|
|
<div class="swissqr_text content">
|
|
<span t-field="o.partner_id.commercial_partner_id.name"/><br/>
|
|
<span t-field="o.partner_id.street"> </span>
|
|
<span t-field="o.partner_id.street2"/><br/>
|
|
<span t-field="o.partner_id.country_id.code"/>
|
|
<span t-field="o.partner_id.zip"/>
|
|
<span t-field="o.partner_id.city"/><br/>
|
|
<br/>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</template>
|
|
|
|
<template id="l10n_ch.qr_report_main">
|
|
<t t-call="web.html_container">
|
|
<t t-foreach="docs" t-as="o">
|
|
<t t-set="lang" t-value="o.partner_id.lang"/>
|
|
<t t-call="l10n_ch.l10n_ch_swissqr_template" t-lang="lang"/>
|
|
</t>
|
|
</t>
|
|
</template>
|
|
</data>
|
|
</odoo>
|