2015-09-01 43 views
0

我有資產模塊。我在那裏繼承了資產代碼,我將分配用戶。如果我有兩個公司的兩個用戶如何使公司明智的資產 記錄規則,如果分配給用戶 和B公司A公司分配給B的用戶如何製作資產的記錄規則?

我有資產繼承的類和company_id1作爲公司名稱

時,用戶登錄他應該得到只有A公司資產或B中的用戶資產同樣的事情

class asset_asset(osv.osv): 
    _inherit = "asset.asset" 
    #_name = "asset_asset" 
    _rec_name= "folio_num" 
    _columns = { 
     'name': fields.char('Asset Name', size=64), 
     'company_id1': fields.many2one('res.company', 'Company', required=True), 
     'place1': fields.many2one('asset.parentlocation', 'Location'), 
     'asset_catg_id' : fields.many2one('asset.catg', 'Asset Catg Selection',select=True, required=True), 
      'area_id' : fields.many2one('asset.name', 'Asset Name Selection', domain="[('asset_catg_id', '=', asset_catg_id)]", select=True, required=True), 
     'assetmodelid_add' : fields.many2one('agile.portfolio1','Asset Model Code',domain="[('area_id', '=', area_id)]",), 
     'folio_num' : fields.char('Folio No',), 
     'asse_line':fields.one2many('asset.line','emp_id','Name Plate'), 
     'asse_line2':fields.one2many('asset.part','emp_id1','Parts'), 
       #'assed_modelid':fields.many2one('agile.portfolio1','Asset Model ID',select=True, required=True), 
     'quantity': fields.char('Quantity',size=64), 
     'uom': fields.char('Uinit of Measure',size=64), 
     'model_no' : fields.char('Model', size=64), 

     #'asset_id':fields.many2one('agile.portfolio','Asset ID'), 

    } 

我需要完整的代碼,即.xml或記錄規則與解釋

+0

你檢查了https://www.odoo.com/documentation/8.0/reference/security.html#record-rules https://doc.odoo.com/trunk/server/04_security#administration ? –

+0

請幫我任何一個 –

回答

0

進入 - >

  • 設置
    • 技術
      • 安全
        • 記錄規則 創建資產的新規則。

全部取消選中的讀訪問權,寫,創建和刪除。 enter image description here

+0

我無法點擊全局複選框 –

+0

它在一個實例中不工作,但在其他情況下其工作正常 –

+0

無需點擊全局複選框。當您不能在網格中指定任何組時,將自動選中全局複選框。 –

0

在XML設置規則的存取權限,CSV文件,

我創造了新的模塊依賴於項目管理,我想在安全文件夾中添加新的組,用戶,規則和訪問控制。我成功添加了組和用戶,併爲一些擴展訪問控制。

我的問題是:如何爲每個規則指定訪問權限(讀/寫/創建/刪除)?

例如:

1.用戶可以創建/讀/寫任務(ACL)

2.用戶可以讀取/修改只分配給他的任務(規則)

三,項目管理者可以看到所有任務,在他們的項目(規則)

例如:

<record model="ir.rule" id="ir_values_my_costume_rule"> 
    <field name="name">My Rule Name</field> 
    <field name="model_id" ref="model_your_model_name"/> 
    <field name="domain_force">[('field','operator','value'),('user_id','=',user.id)]</field> 
    <field name="perm_read" eval="True"/> 
    <field name="perm_write" eval="True"/> 
    <field name="perm_unlink" eval="True"/> 
    <field name="perm_create" eval="True"/> 
</record> 

您必須在model name之前傳入model_,如下所示:model_sale_order或model_project_task。

在eval中,您可以根據需要傳遞True或False。

記錄規則可以在菜單中定義,也可以不創建任何文件:設置 - >技術 - >安全 - >記錄規則。

還有,你需要以定義「記錄規則」

對象精心配置三個主要領域:您要申請記錄的規則。 (在這個例子中它是「任務」對象)。

域名:用於過濾數據的設置域。 組:添加要應用此記錄規則的組。如果沒有要添加的內容,則此規則適用於全局,通常用於配置多公司記錄規則。 我將以OpenERP的「任務」對象爲例來說明這種訪問規則。

在我的例子,假設我的要求是這樣的:

用戶「RCH」只能訪問以下類型的任務列表...

的未分配給任何所有任務列表用戶。即('user_id','=',False)

分配給用戶'rch'的所有任務的列表。即('user_id','=',user.id)

列出他所屬的所有項目的所有任務。即('project_id.members','in',[user.id])

他是項目經理的項目的所有任務的列表。 。即( 'project_id.user_id', '=',user.id)

配置您記錄的規則如下:

名稱:任務根據用戶和項目。

對象:任務。

域:['|','|','|',('user_id','=',False),('user_id','=',user.id),('project_id.members ','in',[user.id]),('project_id.user_id','=',user.id)]。

組:項目/用戶。

現在將此組(項目/用戶)添加到用戶'rch'。