Se rendre au contenu
Menu
Cette question a été signalée
7 Réponses
8281 Vues

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
Ignorer
Meilleure réponse

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
Ignorer
Meilleure réponse

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
Ignorer
Auteur Meilleure réponse

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
Ignorer
Auteur

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

Auteur

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

Publications associées Réponses Vues Activité
2
déc. 15
4453
1
déc. 24
6213
3
août 24
7059
4
juil. 24
41468
5
avr. 23
99410