olive007
olive007

Reputation: 850

qweb t-if in position attribures

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.

Upvotes: 2

Views: 5420

Answers (1)

Prakash Kumar
Prakash Kumar

Reputation: 2594

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.

Upvotes: 6

Related Questions