2
votes

I am developing a module in Odoo. I need to change the report of invoice to add some details.

I use xpath with position attribute and check if an affair is linked to hide the default table.

<template id="my_invoice" inherit_id="account.report_invoice_document">
    <xpath expr="//div[@class='page']/table[@class='table table-condensed']" position="attributes">
        <attribute t-if="o.affair_id" name="class">hidden</attribute>
    </xpath>
</template>

This is not working. The default table is hidden in every invoices even if the invoice is not linked to an affair.

I do not understand because the condition works in my second template.

<template id="my_invoice2" inherit_id="account.report_invoice_document">
    <xpath expr="//div[@class='page']/div[@class='row mt32 mb32']" position="after">
        <t t-if="o.affair_id">
            <!-- table with my additional detail -->
        </t>
    </xpath>
</template>

Sorry for my english. I am learning it.

1

1 Answers

5
votes

try this one:

<attribute name="t-att-style">'display: none;' if  o.affair_id else ''</attribute> 

OR even this one also:

  <attribute name="t-att-class">'hidden' if  o.affair_id else ''</attribute> 

it may help in your case.