向OpenERP中的用户组授予权限时出错
我在OpenERP中创建了一个新模块。我已经创建了两个用户组,manager和user。接下来,我想允许经理只访问他自己项目的细节。我在一个安全XML文件中添加了以下代码向OpenERP中的用户组授予权限时出错,openerp,Openerp,我在OpenERP中创建了一个新模块。我已经创建了两个用户组,manager和user。接下来,我想允许经理只访问他自己项目的细节。我在一个安全XML文件中添加了以下代码 <record id="property_rule_mat_mgmt_manager" model="ir.rule"> <field name="name">Material Manage Rule</field> <field mod
<record id="property_rule_mat_mgmt_manager" model="ir.rule">
<field name="name">Material Manage Rule</field>
<field model="ir.model" name="model_id" ref="model_project_project"/>
<field name="domain_force">['|',('project_id.members','=',user.id),('project_id.user_id','=',user.id)]</field>
<field name="groups" eval="[(4,ref('group_mat_mgmt_manager')), (4,ref('group_mat_mgmt_user'))]"/>
</record>
物料管理规则
['|',('project_id.members','=',user.id),('project_id.user_id','=',user.id)]
但我犯了这样的错误
服务器回溯(最近一次调用上次):文件
“C:\OpenErp\OpenErp\OpenErp web\addons\web\session.py”,第91行,在
发送
返回openerp.netsvc.dispatch_rpc(服务名称、方法、参数)文件“C:\openerp\openerp\openobject server\openerp\netsvc.py”,第行
361,在调度中
结果=ExportService.getService(服务名称).dispatch(方法,参数)文件
“C:\OpenErp\OpenErp\openobject server\OpenErp\service\web\u services.py”,
第582行,发送中
security.check(db,uid,passwd)文件“C:\OpenErp\OpenErp\openobjectserver\OpenErp\service\security.py”,
第40行,签入
pool=pooler.get_pool(db)文件“C:\OpenErp\OpenErp\openobject server\OpenErp\pooler.py”,第50行,在
去游泳池
返回get_db_和_pool(db_名称、强制_演示、状态、更新_模块)[1]文件
“C:\OpenErp\OpenErp\openobject server\OpenErp\pooler.py”,第33行,在
获取\u db\u和\u池
registry=RegistryManager.get(db\u name、force\u demo、status、update\u模块、pooljobs)文件
“C:\OpenErp\OpenErp\openobject server\OpenErp\modules\registry.py”,
第154行,进站
更新\u module,pooljobs)文件“C:\OpenErp\OpenErp\openobject server\OpenErp\modules\registry.py”,
第176行,纽约
加载模块(registry.db、force\u demo、status、update\u模块)文件
“C:\OpenErp\OpenErp\openobject server\OpenErp\modules\loading.py”,
第329行,在load_模块中
已处理=加载标记的模块(cr、图形、状态到加载、力、状态、报告、加载的模块)文件
“C:\OpenErp\OpenErp\openobject server\OpenErp\modules\loading.py”,
第244行,加载标记的模块中
已加载,已处理=加载\模块\图形(cr,图形,progressdict,报告=报告,跳过\模块=已加载\模块)文件
“C:\OpenErp\OpenErp\openobject server\OpenErp\modules\loading.py”,
第180行,加载模块图中
加载数据(模块名称、idref、模式)文件“C:\OpenErp\OpenErp\openobject server\OpenErp\modules\loading.py”,
第78行,输入
load_data=lambda*args:_load_data(cr,*args,kind='data')文件
“C:\OpenErp\OpenErp\openobject server\OpenErp\modules\loading.py”,
第125行,输入加载数据
转换xml导入(cr、模块名称、fp、idref、模式、noupdate、报告)文件
“C:\OpenErp\OpenErp\openobject server\OpenErp\tools\convert.py”,第行
955,在convert\u xml\u导入中
解析(doc.getroot())文件“C:\OpenErp\OpenErp\openobject server\OpenErp\tools\convert.py”,第行
848,在解析中
self.\u标记[rec.tag](self.cr,rec,n)文件“C:\OpenErp\OpenErp\openobject server\OpenErp\tools\convert.py”,第行
806,in_tag_记录
f_val=self.id_get(cr,f_ref)文件“C:\OpenErp\OpenErp\openobject server\OpenErp\tools\convert.py”,第行
825,在身份证上
res=self.model\u id\u get(cr,id\u str)文件“C:\OpenErp\OpenErp\openobject server\OpenErp\tools\convert.py”,第行
834,型号为
返回模型数据对象获取对象引用(cr,self.uid,mod,id\u str)文件
“C:\OpenErp\OpenErp\openobjectserver\OpenErp\tools\cache.py”,第行
18,在查找中
r=self.lookup(self2,cr,*args)文件“C:\OpenErp\OpenErp\openobjectserver\OpenErp\tools\cache.py”,第行
46,在查找中
value=d[key]=self.method(self2,cr,*args)文件“C:\OpenErp\OpenErp\openobject server\OpenErp\addons\base\ir\ir\u model.py”,
第857行,在get_对象_引用中
data\u id=self.\u获取\u id(cr、uid、模块、xml\u id)文件“C:\OpenErp\OpenErp\openobject server\OpenErp\tools\cache.py”,第行
18,在查找中
r=self.lookup(self2,cr,*args)文件“C:\OpenErp\OpenErp\openobjectserver\OpenErp\tools\cache.py”,第行
46,在查找中
value=d[key]=self.method(self2,cr,*args)文件“C:\OpenErp\OpenErp\openobject server\OpenErp\addons\base\ir\ir\u model.py”,
第850行,输入获取id
raise VALUERROR('系统中当前未定义此类外部ID:%s.%s'(模块,xml_ID))VALUERROR:无此类外部ID
当前在系统中定义:物料管理、模型、项目
将此行替换为
到
<field model="ir.model" name="model_id" ref="project.model_project_project"/>
如果其他人发现很难找到正确的型号id,您可以执行以下操作
- 激活开发者模式
- 转到设置|技术|数据库结构|模型
- 查找并选择所需的模型
- 在顶部显示“调试视图”的下拉列表中,选择“查看日志(perm read)”
您将在那里看到XML ID我替换了该行,但现在我得到了另一个错误值error:域表达式中的无效字段'project\u ID.members',要删除project\u ID.member和使用过的成员['.'',('members','in','user.ID]),('project\u ID.user\u ID','=',user.ID)],就像这样亲爱的!!我得到了一个类似ValueError的错误:无效字段“project_id.user_id”['|',('members','in',[user.id]),('user_id','=',us使用这个