断言错误:外部ID必须在odoo

时间:2015-10-11 14:42:32

标签: xml python-2.7 openerp-7 openerp-8

我正在研究Odoo CRM。我继承了CRM.lead我添加了一些功能,我向他们添加了新的用户角色。

当我提供用户角色时,管理员的工作正常,我现在创建的是抛出错误。

文件“......... base / res / res_users.py”,在has_group断言group_ext_id和'。'中在group_ext_id中,“外部ID必须是完全限定的”

“AssertionError:外部ID必须是完全限定的”

我试过但不能。

如果你知道你的宝贵意见,请帮助我。

1 个答案:

答案 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放入您收到上述错误的群组。

我希望这会有所帮助!