Atchuthan, Sodexis
8 years ago
5 changed files with 182 additions and 0 deletions
-
77report_qweb_element_page_visibility/README.rst
-
20report_qweb_element_page_visibility/__init__.py
-
37report_qweb_element_page_visibility/__openerp__.py
-
BINreport_qweb_element_page_visibility/static/description/icon.png
-
48report_qweb_element_page_visibility/views/layouts.xml
@ -0,0 +1,77 @@ |
|||||
|
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
||||
|
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html |
||||
|
:alt: License: AGPL-3 |
||||
|
|
||||
|
=================================== |
||||
|
Report Qweb Element Page Visibility |
||||
|
=================================== |
||||
|
|
||||
|
This module allows you to use 4 classes in QWEB reports: |
||||
|
|
||||
|
- not-first-page: shows element in every page but first |
||||
|
- not-last-page: shows element in every page but last |
||||
|
- first-page: shows element only on first page |
||||
|
- last-page: shows element only on last page |
||||
|
|
||||
|
Usage |
||||
|
===== |
||||
|
|
||||
|
To use this module, you need to: |
||||
|
|
||||
|
In the QWEB ``ir.ui.views`` used by your report, |
||||
|
you can add an element with css class with any of the classes described above. |
||||
|
For example if you need to improve invoice report header with |
||||
|
invoice's number in every page but first, and sale order report header |
||||
|
with order's name in every page but last, add this code to external_layout_header:: |
||||
|
|
||||
|
<t t-if="o._table=='account_invoice'"> |
||||
|
<div class="not-first-page"> |
||||
|
<span t-esc="o.number"/> |
||||
|
</div> |
||||
|
</t> |
||||
|
<t t-if="o._table=='sale_order'"> |
||||
|
<div class="not-last-page"> |
||||
|
<span t-esc="o.name"/> |
||||
|
</div> |
||||
|
</t> |
||||
|
|
||||
|
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas |
||||
|
:alt: Try me on Runbot |
||||
|
:target: https://runbot.odoo-community.org/runbot/143/8.0 |
||||
|
|
||||
|
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 `here <https://github.com/OCA/reporting-engine/issues/new?body=module:%20 |
||||
|
report_qweb_element_page_visibility%0Aversion:%20 |
||||
|
8.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
||||
|
|
||||
|
|
||||
|
Credits |
||||
|
======= |
||||
|
|
||||
|
Contributors |
||||
|
------------ |
||||
|
|
||||
|
* Nicola Malcontenti <nicola.malcontenti@agilebg.com> |
||||
|
* Lorenzo Battistini <lorenzo.battistini@agilebg.com> |
||||
|
* Alessio Gerace <alessio.gerace@agilebg.com> |
||||
|
* Alex Comba <alex.comba@agilebg.com> |
||||
|
|
||||
|
Maintainer |
||||
|
---------- |
||||
|
|
||||
|
.. image:: https://odoo-community.org/logo.png |
||||
|
:alt: Odoo Community Association |
||||
|
:target: https://odoo-community.org |
||||
|
|
||||
|
This module is maintained by the OCA. |
||||
|
|
||||
|
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. |
||||
|
|
||||
|
To contribute to this module, please visit http://odoo-community.org. |
@ -0,0 +1,20 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
######################################################################### |
||||
|
# # |
||||
|
# Copyright (C) 2015 Agile Business Group # |
||||
|
# # |
||||
|
# This program is free software: you can redistribute it and/or modify # |
||||
|
# it under the terms of the GNU Affero General Public License as # |
||||
|
# published by the Free Software Foundation, either version 3 of the # |
||||
|
# License, or (at your option) any later version. # |
||||
|
# # |
||||
|
# This program is distributed in the hope that it will be useful, # |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of # |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # |
||||
|
# GNU Affero General Public Licensefor more details. # |
||||
|
# # |
||||
|
# You should have received a copy of the # |
||||
|
# GNU Affero General Public License # |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. # |
||||
|
# # |
||||
|
######################################################################### |
@ -0,0 +1,37 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
######################################################################### |
||||
|
# # |
||||
|
# Copyright (C) 2015 Agile Business Group # |
||||
|
# # |
||||
|
# This program is free software: you can redistribute it and/or modify # |
||||
|
# it under the terms of the GNU Affero General Public License as # |
||||
|
# published by the Free Software Foundation, either version 3 of the # |
||||
|
# License, or (at your option) any later version. # |
||||
|
# # |
||||
|
# This program is distributed in the hope that it will be useful, # |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of # |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # |
||||
|
# GNU Affero General Public Licensefor more details. # |
||||
|
# # |
||||
|
# You should have received a copy of the # |
||||
|
# GNU Affero General Public License # |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. # |
||||
|
# # |
||||
|
######################################################################### |
||||
|
|
||||
|
{ |
||||
|
'name': 'Report Qweb Element Page Visibility', |
||||
|
'version': '8.0.1.0.0', |
||||
|
'author': 'Agile Business Group, Odoo Community Association (OCA)', |
||||
|
'category': 'Tools', |
||||
|
"website": "https://odoo-community.org/", |
||||
|
"license": "AGPL-3", |
||||
|
"application": False, |
||||
|
"installable": True, |
||||
|
'data': [ |
||||
|
'views/layouts.xml', |
||||
|
], |
||||
|
'depends': [ |
||||
|
'report', |
||||
|
], |
||||
|
} |
After Width: 300 | Height: 300 | Size: 17 KiB |
@ -0,0 +1,48 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
|
||||
|
<template id="minimal_layout" inherit_id="report.minimal_layout"> |
||||
|
<xpath expr="//t[@t-if='subst is True']" position="replace"> |
||||
|
<t t-if="subst is True"> |
||||
|
<script> |
||||
|
function subst() { |
||||
|
var vars = {}; |
||||
|
var x = document.location.search.substring(1).split('&'); |
||||
|
for (var i in x) { |
||||
|
var z = x[i].split('=', 2); |
||||
|
vars[z[0]] = unescape(z[1]); |
||||
|
} |
||||
|
var x=['frompage', 'topage', 'page', 'webpage', 'section', 'subsection', 'subsubsection']; |
||||
|
for (var i in x) { |
||||
|
var y = document.getElementsByClassName(x[i]); |
||||
|
for (var j=0; j<y.length; ++j) |
||||
|
y[j].textContent = vars[x[i]]; |
||||
|
} |
||||
|
var operations = { |
||||
|
'not-first-page': function (elt) { |
||||
|
elt.style.visibility = (vars.page === vars.frompage) ? "hidden" : "visible"; |
||||
|
}, |
||||
|
'not-last-page': function (elt) { |
||||
|
elt.style.visibility = (vars.page === vars.topage) ? "hidden" : "visible"; |
||||
|
}, |
||||
|
'first-page': function (elt) { |
||||
|
elt.style.visibility = (vars.page === vars.frompage) ? "visible" : "hidden"; |
||||
|
}, |
||||
|
'last-page': function (elt) { |
||||
|
elt.style.visibility = (vars.page === vars.topage) ? "visible" : "hidden"; |
||||
|
}, |
||||
|
}; |
||||
|
for (var klass in operations) { |
||||
|
var y = document.getElementsByClassName(klass); |
||||
|
for (var j=0; j<y.length; ++j) |
||||
|
operations[klass](y[j]); |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
</t> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue