2017-03-23 1 views
0

Ich habe eine Formularansicht geerbt und einige Änderungen mit Xpath vorgenommen. Ich brauche eine Schaltfläche in der Kopfzeile der Formularansicht, die nur dem Admin-Benutzer angezeigt wird. Aber wenn ich die Gruppen setzen, sein giving folgende Fehler:Fehler beim Anzeigen der Schaltfläche für einen bestimmten Benutzer (Admin) odoo 8

Fehlerdetails:

error_details

Mein Code ist:

<record id="wms_stock_view_move_form" model="ir.ui.view"> 
     <field name="name">wms.stock.view.move.form</field> 
     <field name="model">stock.move</field> 
     <field name="inherit_id" ref="stock.view_move_form" /> 
     <field name="arch" type="xml"> 
      <field name="location_id" position="attributes"> 
       <attribute name="domain">[('name','!=', 'Scrapped')]</attribute> 
      </field> 
      <field name="location_dest_id" position="attributes"> 
       <attribute name="domain">[('name','!=', 'Scrapped')]</attribute> 
      </field> 
      <xpath expr='//form[@string="Stock Moves"]' position='attributes'> 
       <attribute name="create">false</attribute> 
       <attribute name="edit">false</attribute> 
       <attribute name="delete">false</attribute> 
      </xpath> 
      <xpath expr='//button[@name="action_cancel"]' position='attributes'> 
       <attribute name="invisible">True</attribute> 
      </xpath> 
      <button name="action_done" states="draft,assigned,confirmed" string="Process Entirely" type="object" class="oe_highlight" position="replace" groups="base.group_no_one"/> 
     </field> 
</record> 

Antwort

0

ich schließlich meine eigene Frage gelöst, die Lösung ist:

<xpath expr='//button[@name="action_done"]' position='replace'> 
       <button name="action_done" states="draft,assigned,confirmed" string="Process Entirely" type="object" class="oe_highlight" position="replace" groups="base.group_no_one"/> 
</xpath> 
+0

In Ihrem vorherigen Code, Sie admin Gruppe hinzugefügt. Aber hier haben Sie eine benutzerdefinierte Gruppe hinzugefügt? –

+0

ja, es war mein Tippfehler. Ich korrigiere es jetzt :) – odoobeginner

+0

Ich werde nicht die gesamte Schaltfläche ersetzen, weil andere (Erweiterung) Ansichten Änderungen damit verloren gehen können. – CZoellner

0

Ich muss raten, welche Taste yo Sie möchten neue Gruppen anlegen, weil Ihr Fehler sich auf action_done bezieht, aber Ihre eigene Antwort auf action_cancel. Lass mich das abstrakt machen. Sie haben bereits die Antwort in Ihrer Frage. Verwenden Sie XPath, um die Schaltfläche zu finden, und verwenden Sie position="attributes":

<xpath expr="//button[@name='button_name']" position="attributes"> 
    <attribute name="groups">module_name.group_id</attribute> 
</xpath> 
+0

eigentlich hatte ich 2 Tasten, action_cancel und action_done. Es war mein Fehler, dass ich action_done in Frage stellte und action_cancel als Antwort. Ich bearbeite meine Antwort jetzt. Danke für das Aufzeigen. – odoobeginner

Verwandte Themen