Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
7 Replies
8509 Tampilan

I have created a module that allows me to add some fields in a new page and now in the same xml file i tried to delete another existing page but it gives me the error that the View inheritance may not use attribute 'string' as a selector.

to specify what i want to delete it's the Inventory page of product.product_template_form_view
here is my code using the xpath expression

<record id="view_product_form_inherit" model="ir.ui.view">
     <field name="name">product.template.common.form.inherit</field>
     <field name="model">product.template</field>
     <field name="inherit_id" ref="product.product_template_form_view"/>
     <field name="arch" type="xml">
     	
      <data><xpath expr="//page" position="after">
      	<page name="Sample" string="Caractéristiques">
            <group>
                
                <field name="etat"/>
                <field name="famille"/>
                <field name="description"/>
                <field name="nb_pierre"/>
                <field name="carrat"/>
                <field name="datevt"/>
           </group>
        </page>
      </xpath>
	  <xpath expr="//page[@string='Inventory']" position="replace"/>
	  
	  
     </data></field>
    </record>

 ParseError: "Invalid view definition

Détails de l'erreur :
View inheritance may not use attribute 'string' as a selector.

Avatar
Buang
Jawaban Terbai

Adding on what Axel Mendoza said. You would thus use an Xpath expression such as:

<xpath expr="//page[1]" />

Where the "1" is the *first* page on the form view.

Avatar
Buang
Jawaban Terbai

Hi @amina

In Odoo v9 you cannot use string attribute in your xpath selector expression, you need to switch to another attribute to identify the node or change the xpath expression style like found the nodes by position, but not using the string attribute because it will returned translated so you don't have an static value to compare with

Avatar
Buang
Penulis Jawaban Terbai

following what you said Axel Mendoza it gaves me the error that the attribut i used can not be located in view parent, I used attribut 'name' which i have added  in the base module because that page doesn't have any attribute other than string,please Axel am I doing something wrong here??

worked with Andre's proposition but now it's giving this error 

error
AttributeError: element '<div name="weight">' cannot be located in view parent

Contexte de l'erreur :
Vue `product.template.stock.property.form.inherit`
[view_id: 833, xml_id: stock.view_template_property_form, model: product.template, parent_id: 303]
Avatar
Buang
Penulis

this base module 'sale' which my module inherits from is related to the inventory module so I don't know if I really can delete this page from thid view without modifing base module

@Andre answer and mine what tells you is that the original xpath will not work and you need to change it, if you try the @Andre way and another error shows up means that xpath works. You need to provide more info about the error

Penulis

don't have enough karma to delete this comment it's not well posted

Post Terkait Replies Tampilan Aktivitas
2
Des 15
4662
1
Des 24
6594
3
Agu 24
7398
4
Jul 24
42125
5
Apr 23
100342