2016-04-05 1 views
0

Dans Odoo 9, j'essaie d'hériter du formulaire de bon de commande (fichier: addons/purchase/purchase_view.xml, record: <record id="purchase_order_form" model="ir.ui.view">). Ce que je dois faire, c'est juste modifier un attribut d'un tag page. J'ai essayé de sélectionner la page désirée en utilisant xpath, mais ça ne marche pas très bien.La sélection de Xpath ne fonctionne pas dans Odoo 9

Parent Structure Voir

<notebook> 
    <page string="Products"> 
     ...... 
     ...... 
     <notebook> 
     <page string="Notes"> 
      <field name="name"/> 
     </page><page string="Invoices and Incoming Shipments"> 
      <field name="invoice_lines"/> 
      <field name="move_ids"/> 
     </page> 
     </notebook> 
     ...... 
     ...... 
    </page> 
    <page string="Deliveries &amp; Invoices"> 


    </page> 
</notebook> 

Dans mon fichier de vue, j'ai utilisé le code suivant pour sélectionner le <page string="Deliveries &amp; Invoices"> et cela ne fonctionne pas comme prévu.

<record model="ir.ui.view" id="purchase_order_type_form_view_inherit"> 
    <field name="name">purchase.order.form.inherit</field> 
    <field name="model">purchase.order</field> 
    <field name="inherit_id" ref="purchase.purchase_order_form"/> 
    <field name="priority">10000</field> 
    <field name="arch" type="xml"> 
     <xpath expr="//notebook/page[2]" position="attributes"> 
      <attribute name="groups">custom_module.manager</attribute> 
     </xpath> 
    </field> 
</record> 

Merci d'avance.

+0

Le problème pourrait être dans deux structures similaires, qui sont imbriquées. Qu'en est-il de '/ notebook/page [2]'? Retirez simplement la première barre oblique. Ou essayez '// page [@ string =" Livraisons & Factures "]'. Votre XPath sélectionne chaque deuxième élément 'page', quel que soit le niveau. –

+0

@HonzaHejzl Merci pour votre aide. En fait, je ne peux pas utiliser '// page [@ string =" Livraisons & Factures "]' car Odoo 9 ne supporte pas l'utilisation de la sélection d'attribut de chaîne. Je vais essayer la première option très bientôt et vous le faire savoir alors. –

+0

@NikhilMohan montrer le xml de vue s'il vous plaît. Je veux dire avec 'inherit_id' et' model'. –

Répondre

0
<record model="ir.ui.view" id="purchase_order_type_form_view_inherit"> 
     <field name="name">purchase.order.form.inherit</field> 
     <field name="model">hr_employee</field> 
     <field name="inherit_id" ref="purchase.purchase_order_form"/> 
     <field name="priority">10000</field> 
     <field name="arch" type="xml"> 
      <xpath expr="//form/sheet/notebook/" position="after"> 
       <page> 
        <group> 
          <group colspan="4" col="4"> 

           <label for="employment_ids" colspan="4" /> 
           <field name="employment_ids" colspan="4" nolabel="1"> 
            <form string="Employee Employment"> 
             <field name="organization" /> 
             <field name="job_title" /> 
             <field name="entered_date" /> 
             <field name="resigned_date" /> 
             <field name="resigned_reason" /> 
             <field name="responsibility" /> 
             <field name="wage" /> 
            </form> 
            <tree string="Employee Employment" editable="bottom"> 
             <field name="organization" /> 
             <field name="job_title" /> 
             <field name="entered_date" /> 
             <field name="resigned_date" /> 
             <field name="resigned_reason" /> 
             <field name="responsibility" /> 
             <field name="wage" /> 
            </tree> 
           </field> 
          </group> 
        </group> 
       </page> 
      </xpath> 
     </field> 
    </record>