Nicola Malcontenti
9 years ago
commit
8d3d5d0459
5 changed files with 182 additions and 0 deletions
-
77README.rst
-
20__init__.py
-
37__openerp__.py
-
BINstatic/description/icon.png
-
48views/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