Merge pull request #28 from hurrinico/extend_report
Add Module report_element_visibilitypull/31/head
commit
df1ca48604
|
@ -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',
|
||||||
|
],
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | 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>
|
Loading…
Reference in New Issue