Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3 Odpowiedzi
13628 Widoki

Dear all,
I am using Odoo 12 and having problems on using xpath for 2 expressions.
The original code for the views I want to inherit and replace are:

1.
<t t-foreach="payments_vals" t-as="payment_vals">
<tr>
<td>
<i class="oe_form_field text-right oe_payment_label">Paid on <t t-esc="payment_vals['date']"/></i>
</td>
<td class="text-right">
<span t-esc="payment_vals['amount']" t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</tr>
</t>

2.
<t t-if="len(payments_vals) > 0">
<tr class="border-black">
<td>
<strong>Amount Due</strong>
</td>
<td class="text-right">
<span t-field="o.residual"/>
</td>
</tr>
</t>

On the first code I want to use xpath to locate: <t t-foreach="payments_vals" t-as="payment_vals">
On the second case, I want to use xpath to locate: <t t-if="len(payments_vals) > 0">

Can anyone help me please?

Thank you all in advance

Best regards

PM


Awatar
Odrzuć
Najlepsza odpowiedź
Hello Paulo Matos,

Try below code, it will work in my case so it will help you.

<template id="report_invoice_payments" inherit_id="account.report_invoice_document_with_payments">
    <xpath expr="//t[2]/tr" position="replace">
        <tr>
            do you custom code here ....
        </tr>
    </xpath>
    <xpath expr="//t[3]/tr" position="replace">
        <tr class="border-black">
            do you custom code here ....
        </tr>
    </xpath>
</template>​

-------
Thanks

Sunny Sheth ​
Awatar
Odrzuć
Najlepsza odpowiedź

Hi Paulo Matos ,

Please try this.

1.

<xpath expr="//t[@t-foreach='payments_vals']" position="after">
<field name="field_name" string="custom_field"/>
</xpath>

2.
<xpath expr="//t[@t-if='len(payments_vals) > 0']" position="after">
<field name="field_name" string="custom_field"/>
</xpath


Awatar
Odrzuć
Autor

Hi @Sugeesh Ps

I have tried both options with position='replace' because want to replace the full code inside but it does not work.

Odoo cannot locate the expression and I am sure I am inheriting the correct xlm id.

I think the problem is related to the fact that each expression have more data inside of it... ie. <t t-foreach="payments_vals" t-as="payment_vals">... is not just 'payment_vals'.

Regards

PM

Powiązane posty Odpowiedzi Widoki Czynność
3
paź 23
8632
1
wrz 23
3243
1
maj 23
2218
2
kwi 23
2746
1
mar 23
2142