İçereği Atla
Menü
Bu soru işaretlendi
7 Cevaplar
8510 Görünümler

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
Vazgeç
En İyi Yanıt

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
Vazgeç
En İyi Yanıt

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
Vazgeç
Üretici En İyi Yanıt

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
Vazgeç
Üretici

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

Üretici

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

İlgili Gönderiler Cevaplar Görünümler Aktivite
2
Ara 15
4675
1
Ara 24
6595
3
Ağu 24
7399
4
Tem 24
42126
5
Nis 23
100345