Files
reporting-engine/report_qweb_element_page_visibility/views/layouts.xml
2023-11-07 14:20:35 +01:00

64 lines
3.3 KiB
XML

<odoo>
<template id="minimal_layout" inherit_id="web.minimal_layout" priority="99">
<xpath expr="//t[@t-if='subst_needed']" position="replace">
<t t-if="subst is True">
<script>
function subst() {
var vars = {};
var x = document.location.search.substring(1).split('&amp;');
for (var i in x) {
var z = x[i].split('=', 2);
vars[z[0]] = unescape(z[1]);
}
var fromPage = document.getElementsByClassName('page');
for(var j = 0; j&lt;fromPage.length; j++)
fromPage[j].textContent = vars['sitepage'];
var toPage = document.getElementsByClassName('topage');
for(var j = 0; j&lt;toPage.length; j++)
toPage[j].textContent = vars['sitepages'];
var index = vars['webpage'].split('.', 4)[3]
var header = document.getElementById('minimal_layout_report_headers');
if(header !== null){
var companyHeader = header.children[index];
header.textContent = '';
header.appendChild(companyHeader);
}
var footer = document.getElementById('minimal_layout_report_footers');
if(footer !== null){
var companyFooter = footer.children[index];
footer.textContent = '';
footer.appendChild(companyFooter);
}
var operations = {
'not-first-page': function (elt) {
elt.style.display = (vars.sitepage === vars.frompage) ? "none" : "inherit";
},
'not-last-page': function (elt) {
elt.style.display = (vars.sitepage === vars.sitepages) ? "none" : "inherit";
},
'first-page': function (elt) {
elt.style.display = (vars.sitepage === vars.frompage) ? "inherit" : "none";
},
'last-page': function (elt) {
elt.style.display = (vars.sitepage === vars.sitepages) ? "inherit" : "none";
},
'single-page': function (elt) {
elt.style.display = (vars.sitepages === 1) ? "inherit" : "none";
},
'multi-page': function (elt) {
elt.style.display = (vars.sitepages > 1) ? "inherit" : "none";
},
};
for (var klass in operations) {
var y = document.getElementsByClassName(klass);
for (var j=0; j&lt;y.length; ++j)
operations[klass](y[j]);
}
}
</script>
</t>
</xpath>
</template>
</odoo>