[14.0][IMP] add layout for clean template

This commit is contained in:
Iryna Vyshnevska
2021-12-30 11:44:08 +02:00
committed by Duy (Đỗ Anh)
parent 388b186bac
commit 4d0a93e6d5
12 changed files with 362 additions and 167 deletions

View File

@@ -2,10 +2,13 @@
Report layout configuration
===========================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:b3b41741aeb7edc57c143d58911a9c2496218b8731d56e52f9510e6a979967a0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
@@ -14,16 +17,16 @@ Report layout configuration
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github
:target: https://github.com/OCA/reporting-engine/tree/13.0/report_layout_config
:target: https://github.com/OCA/reporting-engine/tree/14.0/report_layout_config
:alt: OCA/reporting-engine
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-report_layout_config
:target: https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_layout_config
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/143/13.0
:alt: Try me on Runbot
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=14.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
|badge1| |badge2| |badge3| |badge4| |badge5|
This module provides new report template
with possibility to add image to replace header and footer.
@@ -46,8 +49,8 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/reporting-engine/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_layout_config%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_layout_config%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
@@ -63,6 +66,7 @@ Contributors
~~~~~~~~~~~~
* Thomas Nowicki <thomas.nowicki@camptocamp.com>
* Iryna Vyshnevska <iryna.vyshnevska@camptocamp.com>
Maintainers
~~~~~~~~~~~
@@ -77,6 +81,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/13.0/report_layout_config>`_ project on GitHub.
This module is part of the `OCA/reporting-engine <https://github.com/OCA/reporting-engine/tree/14.0/report_layout_config>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -12,6 +12,7 @@
"depends": ["web", "base"],
"data": [
"views/document_layout.xml",
"templates/assets.xml",
"templates/report_templates.xml",
"data/report_layout.xml",
],

View File

@@ -1,14 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="external_layout_images" model="report.layout">
<field name="name">Layout images</field>
<record id="external_layout_images_standard" model="report.layout">
<field name="name">Layout images standard</field>
<field
name="view_id"
ref="report_layout_config.external_layout_images_template"
ref="report_layout_config.external_standard_layout_images_template"
/>
<field
name="image"
>/report_layout_config/static/img/preview_standard.png</field>
<field name="pdf">/report_layout_config/static/pdf/preview_standard.pdf</field>
</record>
<record id="external_layout_images_clean" model="report.layout">
<field name="name">Layout images clean</field>
<field
name="view_id"
ref="report_layout_config.external_clean_layout_images_template"
/>
<field
name="image"
>/report_layout_config/static/img/preview_standard.png</field>
<field name="pdf">/report_layout_config/static/pdf/preview_standard.pdf</field>
</record>
</odoo>

View File

@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -13,42 +13,124 @@ msgstr ""
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
"!important;\n"
" }\n"
" }\n"
" tbody {\n"
" tr:last-child td {\n"
" border-bottom: 3px solid"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
"&amp;.o_clean_footer {\n"
" border-top: 3px solid"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
"&amp;.o_report_layout_standard {\n"
" h2 {\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" #informations strong {\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" #total strong{\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" table {\n"
" thead {\n"
" h2 {\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" background-color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" tr th {\n"
" border-top: 3px solid"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" }\n"
" }\n"
" #total {\n"
" strong {\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" h4 {\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" .pagenumber {\n"
" border: 3px solid"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" }\n"
" &amp;.o_report_layout_clean {\n"
" h1, h2, h3 {\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" #informations strong {\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" #total strong{\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" strong {\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.styles_company_report
msgid ""
";\n"
" }\n"
" table {\n"
" thead {\n"
" color:"
msgstr ""
#. module: report_layout_config
#: model:ir.model,name:report_layout_config.model_res_company
msgid "Companies"
@@ -60,8 +142,14 @@ msgid "Company Document Layout"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.external_layout_images_template
#: model_terms:ir.ui.view,arch_db:report_layout_config.footer_image
#: model:ir.model.fields,field_description:report_layout_config.field_base_document_layout__display_name
#: model:ir.model.fields,field_description:report_layout_config.field_res_company__display_name
msgid "Display Name"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.external_clean_layout_images_template
#: model_terms:ir.ui.view,arch_db:report_layout_config.external_standard_layout_images_template
msgid "Footer logo"
msgstr ""
@@ -78,29 +166,45 @@ msgid "Full header image"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.external_layout_images_template
#: model_terms:ir.ui.view,arch_db:report_layout_config.header_image
#: model:ir.model.fields,field_description:report_layout_config.field_base_document_layout__id
#: model:ir.model.fields,field_description:report_layout_config.field_res_company__id
msgid "ID"
msgstr ""
#. module: report_layout_config
#: model:ir.model.fields,field_description:report_layout_config.field_base_document_layout____last_update
#: model:ir.model.fields,field_description:report_layout_config.field_res_company____last_update
msgid "Last Modified on"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.external_clean_layout_images_template
#: model_terms:ir.ui.view,arch_db:report_layout_config.external_standard_layout_images_template
msgid "Logo"
msgstr ""
#. module: report_layout_config
#: model:ir.model.fields,field_description:report_layout_config.field_base_document_layout__need_images_layout
msgid "Need Images Layout"
msgstr ""
#. module: report_layout_config
#: model_terms:ir.ui.view,arch_db:report_layout_config.external_layout_images_template
#: model_terms:ir.ui.view,arch_db:report_layout_config.external_clean_layout_images_template
#: model_terms:ir.ui.view,arch_db:report_layout_config.external_standard_layout_images_template
msgid "Page: <span class=\"page\"/> / <span class=\"topage\"/>"
msgstr ""
#. module: report_layout_config
#: model:ir.model.fields,help:report_layout_config.field_base_document_layout__full_footer_img
msgid "Replaces whole footer, disables footer logo"
msgstr ""
#. module: report_layout_config
#: model:ir.model.fields,help:report_layout_config.field_base_document_layout__full_header_img
msgid "Replaces whole header with image"
msgstr ""
#. module: report_layout_config
#: model:ir.model.fields,help:report_layout_config.field_res_company__full_footer_img
msgid "This image will replace all footer."
msgstr ""
#. module: report_layout_config
#: model:ir.model.fields,help:report_layout_config.field_base_document_layout__full_header_img
#: model:ir.model.fields,help:report_layout_config.field_res_company__full_header_img
msgid "This image will replace all header."
msgstr ""

View File

@@ -0,0 +1,18 @@
# Copyright 2021 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openupgradelib.openupgrade import rename_xmlids
def migrate(cr, version):
rename_xmlids(
cr,
[
(
"report_layout_config.external_layout_images",
"report_layout_config.external_standard_layout_images_template",
)
],
)

View File

@@ -8,22 +8,16 @@ class BaseDocumentLayout(models.TransientModel):
_inherit = "base.document.layout"
full_header_img = fields.Binary(
related="company_id.full_header_img", readonly=False
related="company_id.full_header_img",
readonly=False,
help="Replaces whole header with image",
)
full_footer_img = fields.Binary(
related="company_id.full_footer_img", readonly=False
related="company_id.full_footer_img",
readonly=False,
help="Replaces whole footer, disables footer logo",
)
need_images_layout = fields.Boolean(
compute="_compute_need_images_layout", readonly=True
)
@api.depends("report_layout_id")
def _compute_need_images_layout(self):
self.ensure_one()
img_lay = self.env.ref("report_layout_config.external_layout_images").view_id
self.need_images_layout = self.external_report_layout_id == img_lay
@api.depends(
"full_footer_img",
"full_header_img",

View File

@@ -1 +1,2 @@
* Thomas Nowicki <thomas.nowicki@camptocamp.com>
* Iryna Vyshnevska <iryna.vyshnevska@camptocamp.com>

View File

@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Report layout configuration</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
@@ -366,25 +366,27 @@ ul.auto-toc {
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:b3b41741aeb7edc57c143d58911a9c2496218b8731d56e52f9510e6a979967a0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/13.0/report_layout_config"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/reporting-engine-13-0/reporting-engine-13-0-report_layout_config"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/143/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/reporting-engine/tree/14.0/report_layout_config"><img alt="OCA/reporting-engine" src="https://img.shields.io/badge/github-OCA%2Freporting--engine-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/reporting-engine-14-0/reporting-engine-14-0-report_layout_config"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&amp;target_branch=14.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module provides new report template
with possibility to add image to replace header and footer.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="id1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="id5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li>
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id1">Usage</a></h1>
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<ul class="simple">
<li><dl class="first docutils">
<dt>In Setting/General Setting/Business Documents:</dt>
@@ -399,35 +401,36 @@ with possibility to add image to replace header and footer.</p>
</ul>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id2">Bug Tracker</a></h1>
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/reporting-engine/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_layout_config%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/reporting-engine/issues/new?body=module:%20report_layout_config%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id3">Credits</a></h1>
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id4">Authors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
<ul class="simple">
<li>Camptocamp</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#id5">Contributors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-5">Contributors</a></h2>
<ul class="simple">
<li>Thomas Nowicki &lt;<a class="reference external" href="mailto:thomas.nowicki&#64;camptocamp.com">thomas.nowicki&#64;camptocamp.com</a>&gt;</li>
<li>Iryna Vyshnevska &lt;<a class="reference external" href="mailto:iryna.vyshnevska&#64;camptocamp.com">iryna.vyshnevska&#64;camptocamp.com</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2>
<h2><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/13.0/report_layout_config">OCA/reporting-engine</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/reporting-engine/tree/14.0/report_layout_config">OCA/reporting-engine</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>

View File

@@ -0,0 +1,11 @@
.footer-image {
max-width: 500px;
}
.header-image {
margin-top: 22px;
}
.header-full-image {
max-height: 60px;
}

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="report_assets_common" inherit_id="web.report_assets_common">
<xpath expr="." position="inside">
<link
href="/report_layout_config/static/src/scss/style.scss"
rel="stylesheet"
type="text/scss"
/>
</xpath>
</template>
</odoo>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template
id="external_layout_images_template"
id="external_standard_layout_images_template"
primary="True"
inherit_id="web.external_layout_standard"
>
@@ -12,13 +12,12 @@
<img
t-if="company.full_header_img"
t-att-src="image_data_uri(company.full_header_img)"
style="max-height: 60px;"
class="header-full-image"
alt="Logo"
/>
</div>
<div
class="col-9 text-right"
style="margin-top:22px;"
class="col-9 text-right header-image"
t-field="company.report_header"
name="report_header"
/>
@@ -31,59 +30,123 @@
<img
t-if="company.full_footer_img"
t-att-src="image_data_uri(company.full_footer_img)"
style="max-width:500px;"
class="footer-image"
alt="Footer logo"
/>
<div t-if="report_type == 'pdf'" class="text-muted">
Page: <span class="page" /> / <span class="topage" />
</div>
Page: <span class="page" /> / <span class="topage" />
</div>
</div>
</div>
</xpath>
</template>
<template id="styles_company_report" inherit_id="web.styles_company_report">
<xpath expr="//t[contains(@t-if, 'layout')]" position="after">
<t
t-elif="layout == 'report_layout_config.external_layout_images_template'"
>
&amp;.o_report_layout_standard {
h2 {
color: <t t-esc='primary' />;
}
#informations strong {
color: <t t-esc='secondary' />;
}
#total strong{
color: <t t-esc='primary' />;
}
table {
thead {
color: <t t-esc='secondary' />;
}
}
}
</t>
<template
id="external_clean_layout_images_template"
primary="True"
inherit_id="web.external_layout_clean"
>
<xpath expr="//div[contains(@t-attf-class, 'header')]" position="replace">
<div class="header">
<div class="row">
<img
t-if="company.full_header_img"
t-att-src="image_data_uri(company.full_header_img)"
class="header-full-image"
alt="Logo"
/>
</div>
<div
class="col-9 text-right header-image"
t-field="company.report_header"
name="report_header"
/>
</div>
</xpath>
<xpath expr="//div[contains(@t-attf-class, 'footer')]" position="replace">
<div class="footer o_standard_footer">
<div class="text-center">
<img
t-if="company.full_footer_img"
t-att-src="image_data_uri(company.full_footer_img)"
class="footer-image"
alt="Footer logo"
/>
<div t-if="report_type == 'pdf'" class="text-muted">
Page: <span class="page" /> / <span class="topage" />
</div>
</div>
</div>
</xpath>
</template>
<template id="header_image">
<div>
<img
t-if="company and company.full_header_img"
t-att-src="image_data_uri(company.full_header_img)"
style="max-height: 60px;"
alt="Logo"
/>
</div>
</template>
<template id="footer_image">
<div>
<img
t-if="company and company.full_footer_img"
t-att-src="image_data_uri(company.full_footer_img)"
style="max-width:420px;"
alt="Footer logo"
/>
</div>
<template id="styles_company_report" inherit_id="web.styles_company_report">
<xpath expr="//t[contains(@t-elif, 'layout')]" position="after">
<!-- next part is the same as in web/views/report_templates web.external_layout_standard -->
<t
t-elif="layout == 'report_layout_config.external_standard_layout_images_template'"
>
&amp;.o_report_layout_standard {
h2 {
color: <t t-esc='primary' />;
}
#informations strong {
color: <t t-esc='secondary' />;
}
#total strong{
color: <t t-esc='primary' />;
}
table {
thead {
color: <t t-esc='secondary' />;
}
}
}
</t>
<!-- next part is the same as in web/views/report_templates web.external_layout_clean -->
<t
t-elif="layout == 'report_layout_config.external_clean_layout_images_template'"
>
&amp;.o_clean_footer {
border-top: 3px solid <t t-esc='secondary' />;
h4 {
color: <t t-esc='secondary' />;
}
.pagenumber {
border: 3px solid <t t-esc='primary' />;
background-color: <t t-esc='secondary' />;
}
}
&amp;.o_report_layout_clean {
h1, h2, h3 {
color: <t t-esc='primary' />;
}
strong {
color: <t t-esc='secondary' />;
}
table {
thead {
color: <t t-esc='secondary' />;
tr th {
border-top: 3px solid <t
t-esc='secondary'
/> !important;
}
}
tbody {
tr:last-child td {
border-bottom: 3px solid <t t-esc='secondary' />;
}
}
}
#total {
strong {
color: <t t-esc='secondary' />;
}
}
}
</t>
</xpath>
</template>
</odoo>

View File

@@ -5,40 +5,9 @@
<field name="model">base.document.layout</field>
<field name="inherit_id" ref="web.view_base_document_layout" />
<field name="arch" type="xml">
<xpath expr="//field[@name='logo']" position="attributes">
<attribute
name='attrs'
>{'invisible': [('need_images_layout', '=', True)]}</attribute>
</xpath>
<xpath expr="//field[@name='report_footer']" position="attributes">
<attribute
name='attrs'
>{'invisible': [('need_images_layout', '=', True)]}</attribute>
</xpath>
<xpath expr="//field[@name='report_header']" position="attributes">
<attribute
name='attrs'
>{'invisible': [('need_images_layout', '=', True)]}</attribute>
</xpath>
<xpath expr="//field[@name='report_header']" position="attributes">
<attribute
name='attrs'
>{'invisible': [('need_images_layout', '=', True)]}</attribute>
</xpath>
<xpath expr="//field[@name='logo']" position="after">
<field name="need_images_layout" invisible="True" />
<field
name="full_header_img"
widget="image"
class="mb-4"
attrs="{'invisible': [('need_images_layout', '=', False)]}"
/>
<field
name="full_footer_img"
widget="image"
class="mb-4"
attrs="{'invisible': [('need_images_layout', '=', False)]}"
/>
<field name="full_header_img" widget="image" class="mb-4" />
<field name="full_footer_img" widget="image" class="mb-4" />
</xpath>
<field name="preview" position="attributes">
<attribute name='style'>max-width: 450px;</attribute>