2016-12-17 2 views
2

カスタムモジュールを作成して、いくつかのフィールドをパートナーデータに追加しました。すべてがうまくいくようですが、管理者ユーザーはmany2oneフィールドを編集できません。これは、(任意のアクセス権の設定は、そのモデルと間違っていた場合など)、次のメッセージを示していますユーザーがカスタムモジュールのmany2oneフィールドを編集したときのAccessError

enter image description here

あなたが求めて何をした後、これは何が起こるかです:

は、これは私が取得エラーです:

Exception: Fall\xf3 el m\xf3dulo cargando cant_neg_dir: no se pudo procesar el archivo cant_neg_dir/security/ir.model.access.csv: Line 1 : No se han encontrado registros coincidentes para id. externo 'group_name_test_user' en el campo 'Object' 

そして、これは私が私のファイルに持っているものです。

ir.model.access.csv

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 
access_sector_user,sector.user,group_name_test_user,base.group_user,1,1,1,1 

cant_dir_security.xml

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data noupdate="0"> 
     <record model="ir.module.category" id="module_category_name_test"> 
      <field name="name">Management</field> 
      <field name="sequence">7</field> 
     </record> 
     <record id="group_name_test_user" model="res.groups"> 
      <field name="name">User</field> 
      <field name="category_id" ref="module_category_name_test"/> 
      <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> 
     </record> 
     <record id="group_name_test_manager" model="res.groups"> 
      <field name="name">Manager</field> 
      <field name="category_id" ref="module_category_name_test"/> 
      <field name="implied_ids" eval="[(4, ref('group_name_test_user'))]"/> 
      <field name="users" eval="[(4, ref('base.user_root'))]"/> 
     </record> 
    </data> 
</openerp> 

cant_neg_dir.py

import openerp 
from openerp.osv import fields, osv, orm 
from openerp import models 


class poligono(models.Model): 
    _name = "poligono" 
    _rec_name= "poligono_name" 
    _columns = { 
     'poligono_name': fields.char('Polígono', required=True), 
} 

class sector(models.Model): 
    _name = "sector" 
    _rec_name= "sector_name" 
    _columns = { 
     'sector_name': fields.char('Sector', required=True), 
} 

class municipio(models.Model): 
    _name = "municipio" 
    _rec_name= "municipio_name" 
    _columns = { 
     'municipio_name': fields.char('Municipio', required=True), 
} 

ここでも、あなたの助けに感謝します。

よろしくお願いいたします。

+0

誰でも助けてもらえますか? –

答えて

1

新しいオブジェクトにセキュリティアクセス権を与える必要があります。

コードで行うことができます。たとえば、次の詳細についてはsecurity/ir.model.access.csv

access_sector,sector.user,model_sector,base.group_user,1,1,1,1 

Odoo Security Documentation.

EDIT

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 
access_sector,sector.user,model_sector,base.group_user,1,1,1,1 

EDIT

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 
access_sector_user,sector.user,your_module_name.group_name_test_user,base.group_user,1,1,1,1 

そして、 openerp.pyファイルが次の位置のファイル名になるようにしてください

cant_dir_security.xml 
ir.model.access.csv 
+0

すぐにお返事ありがとうございました! 私はそれを私の.pyモデルコードに追加する必要がありますか? –

+0

Nope。 * security *でフォルダ名を作成する必要があります。その中に* ir.model.access.csv *とアンサーコードを作成する必要があります。 * __ openerp __にファイルを記述するのを忘れないでください。py *私は与えられたリンクで非常にはっきりと答えました。回答された行だけを変更する必要があります。 –

+0

あなたの助けを借りてオデブラに感謝します。しかし、モジュールをインストールするときに、ライン1にエラーが表示されるようになりました。 –

関連する問題