2013-05-17 28 views
2

我在openerp中創建了一個新模塊,現在我想爲該模塊提供安全性,以便在模塊文件夾中創建名爲「security」的文件夾並創建一個xml文件和ir.model.access.csv文件。我的目標是我想爲我的模塊創建兩個角色,一個是管理員,另一個是用戶。對於我已經添加了下面的代碼在xml文件爲openerp中的模塊添加安全性時出錯

<record id="group_mat_mgmt_user" model="res.groups"> 
     <field name="name">User</field> 
     <field name="category_id" ref="base.module_category_mat_mgmt"/> 
     <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> 
    </record> 
    <record id="group_mat_mgmt_manager" model="res.groups"> 
     <field name="name">Manager</field> 
     <field name="category_id" ref="base.module_category_mat_mgmt"/> 
     <field name="implied_ids" eval="[(4, ref('group_mat_mgmt_user'))]"/> 
     <field name="users" eval="[(4, ref('base.user_root'))]"/> 
    </record> 

在視圖部分 我加入這樣

<menuitem name="Materials Management" id="menu_mat_mgmt_root" 
     groups="group_mat_mgmt_manager,group_mat_mgmt_user" 
     sequence="80"/> 

由許可在CSV給出,但我得到了這樣的錯誤

File "C:\OpenErp\openerp\openobject-server\openerp\addons\base\ir\ir_model.py", line 850, in _get_id raise ValueError('No such external ID currently defined in the system: %s.%s' % (module, xml_id)) alueError: No such external ID currently defined in the system: mat_mgmt.group_mat_mgmt_manager

回答

3

看起來你並沒有添加文件的OpenERP井順序的.py。您是從CSV文件還是從View.xml文件中獲取此錯誤?

您需要檢查openerp .py文件。您可能會先指定ir.model.access.csv/module_view.xml,然後再指定'data'屬性中的module_security.xml。所以它會首先檢查ir.model.access.csv/module_view.xml,它不會找到你在security.xml中創建的那個組,並且在加載ir.model.access.csv/module_view.xml文件。您可以檢查它,並且您需要先傳遞security.xml,然後在openerp .py中插入ir.model.access.csv/module_view.xml文件。

您還可以通過如下分配組來檢查:module_name.GROUP_XML_ID無論您分配/使用這些組。

+0

是的,我已經在openerp.py文件中添加了這樣的''data':['security/mat_mgmt_security.xml','security/ir.model.access.csv',],' –

+0

但我添加了查看xml seperatly,現在我已經添加了它,現在它正在工作。謝謝你 :-) –