怎么限制业务员在Customers view下修改用户信息
-
res.users的记录有一条对应的res.partner记录,这就导致在默认情况下业务员在Customers视图中可以看到系统中所有用户的信息。这些用户的信息甚至可以被业务员修改。
怎么限制业务员在Customers view下修改用户信息?
有人建议对业务员组使用记录rule(ir.rule),过滤掉非客户的res.partner记录。但是这样会导致别的问题,因为记录rule一旦生效,虽然在Customers视图中的确能过滤掉用户的记录,但是在别的需要查看res.users记录的地方(比如Sales/Sales Teams)也无法看到其他用户的信息。这种方法显然是行不通的。请问有什么好的办法? -
2个建议:
1,可以设置 销售只看自己的客户:http://cn.openerp.cn/record_rule/
,那么 他修改 自己的客户 信息,从管理上来说,也无可厚非。
2: odoo可以 监控字段的 修改,记录到 消息区域,
比如,有个第三方 模块,监控商机中 “下一动作”的 修改 情况,
只要 短短的 几句就可以 实现:
class CrmLead(models.Model):
_inherit = 'crm.lead'
date_action = fields.Date(track_visibility='onchange')
title_action = fields.Char(track_visibility='onchange')
模块下载:https://www.odoo.com/apps/modules/8.0/crm_track_next_action/
参考这个 模块的 写法,应该可以 写出 想要监控 其他 字段的。
不会开发的话,可以找 社区里面 靠谱的 人开发:ccdos ,jeff 等等 -
[quote author=Jeff link=topic=17375.msg31325#msg31325 date=1446821366]
osbzr_user_partner_safeguard
[/quote]
谢谢Jeff的回复,不知道osbzr_user_partner_safeguard是什么意思?请指明,我是新手。
目前我的解决方法是扩展Customers菜单对应的window action,设置其domain,使视图只显示res.partner中没有关联res.users model(user_ids为False)的记录。代码如下:
<record id="base.action_partner_form" model="ir.actions.act_window">
<field name="domain">[('user_ids', '=', False)]</field>
</record>