2016-10-27 45 views
0

我試圖隱藏用戶窗體中的編輯和更多按鈕,如果連接的用戶不是管理員。 這裏是我的代碼Odoo隱藏編輯和更多按鈕,如果不是管理員

<xpath expr='//form[@string="Users"]' position='attributes'> 
      <attribute name="edit" >{'false':[('id', '!=', '1')]}</attribute> 
       <attribute name="more">{'false':[('id', '!=', '1')]}</attribute> 
      </xpath> 

我得到以下錯誤:

SyntaxError: JSON.parse: expected property name or '}' at line 1 column 2 of the JSON data 
+0

如果您真的想要這樣的硬訪問規則,您可以更改odoo的客戶端,並通過使用j-query隱藏這兩個「按鈕」。但我不知道爲什麼有人對erp軟件有這樣的要求。 「管理員是唯一編輯記錄」是沒有意義的。 – CZoellner

+1

在odoo中,您可以使用管理創建用戶(經理):訪問權限。然後,該用戶可以編輯管理信息,如密碼,管理......這就是爲什麼我想隱藏這些按鈕爲管理員以外的用戶。 –

+0

對不起,我只是誤解了你的第一部分。這顯然是有道理的。 – CZoellner

回答

0

不幸的是,你想achive是不可能的使用表達式,而我會建議用戶「自定義視圖」

  1. 由用戶表單編輯=「false」這將使編輯按鈕離開所有用戶(res.users.form)。
  2. 現在去Customized Views根據Settings/Technical/User Interface/Customized Views,你需要在debug模式才能夠看到這個菜單。
  3. Customized Views創建一個新的記錄,並選擇用戶:Admin並在原始視圖中進行選擇:res.users.formView Architecture 複製和削減原來的景色景觀建築,只是刪除編輯=「假」

這應該可以幫助我相信。

最好成績

+0

您好@shodowsjedi,我沒有在原始視圖中的edit ='false'。即使我添加它,僅用於測試目的。按鈕總是在那裏。 –

+0

@OumarDiarra:如果您的安全規則允許其他用戶編輯記錄,它將顯示按鈕。 –

0

擴大@ shodowsjedi的答案,要達到你想要什麼,你必須創建兩個視圖(他們基本上是相同的只是一個連接到特定的組,將顯示屬於用戶該組)

這是你的xml文件應該怎麼看

<!--original form view--> 
<record id="model_form_view" model="ir.ui.view"> 
<field name="name">your.model</field> 
<field name="model">your.model</field> 
<field name="arch" type="xml"> 
<form string="Users"> 
    <!--whatever is in your form --> 
</field> 
</record> 

<!--inherited formview to hide edit option --> 
<record id="model_form_view_noedit" model="ir.ui.view"> 
<field name="name">your.model</field> 
<field name="model">your.model</field> 
<field name="inherit_id" ref="model_form_view"/> 
<field name="groups_id" eval="[(6, 0, [ref('base.group_user') ])]"/> 
<field name="arch" type="xml"> 
    <xpath expr='//form[@string="Users"]' position='attributes'> 
     <attribute name="edit">false</attribute> 
    </xpath> 
</field> 
</record> 

它總是更好地懂得東西從後端的Odoo

工作樣機
相關問題