How to keep condition for different footer in odoo qweb reports for v9 ?
I want to keep <div> on first page only instead of all the pages.
<div>
Just add the below code into your report <template> code file.
<template>
<template id="report_custom_invoice" inherit_id="account.external_layout_footer"> ... your custom report code </template> <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>
Just add the below code into your report
<template>
code file.