我正在研究Odoo CRM。我继承了CRM.lead我添加了一些功能,我向他们添加了新的用户角色。
当我提供用户角色时,管理员的工作正常,我现在创建的是抛出错误。
文件“......... base / res / res_users.py”,在has_group断言group_ext_id和'。'中在group_ext_id中,“外部ID必须是完全限定的”
“AssertionError:外部ID必须是完全限定的”
我试过但不能。
如果你知道你的宝贵意见,请帮助我。
答案 0 :(得分:0)
我认为has_group
的{{1}}方法没有获得完全限定的组ID。我不知道那里发生了什么,但您可以通过覆盖res.users
方法来绕过该错误。
首先创建一个继承自定义模块中has_group
的新模型。代码就像:
res.users
代替class Users(osv.osv):
_inherit = 'res.users'
_columns = {}
def has_group(self,cr,uid,group_ext_id):
if '.' in group_ext_id:
users_group1 = [x.id for x in self.pool['ir.model.data'].get_object(cr, uid, 'bms', 'xml_id_group1').users]
users_group2 = [x.id for x in self.pool['ir.model.data'].get_object(cr, uid, 'bms', 'xml_id_group2').users]
if uid in users_group1:
return super(Users,self).has_group(cr,uid,'module.xml_id_group1')
elif uid in users_group2:
return super(Users,self).has_group(cr,uid,'module.xml_id_group2')
else:
return super(Users,self).has_group(cr,uid,'base.group_user')
else:
return super(Users,self).has_group(cr,uid,group_ext_id)
和xml_id_group1
将您的群组ID放入您收到上述错误的群组。
我希望这会有所帮助!