在SugarCRM中以编程方式为用户分配多个角色

时间:2012-11-24 02:18:22

标签: php crm sugarcrm

我试图找出如何以编程方式为SugarCRM中的用户分配多个角色。通过做一些研究,我发现我可以利用role-> set_user_relationship()函数来部分地这样做。但它不允许我将多个角色作为参数传递。

理想情况下,我期待一种允许我传递一系列角色ID的行为。执行此方法后,它应将所有现有的已分配角色替换为新用户。但看起来这个行为并不是开箱即用的,所以任何指导/变化都是完全正确的。

我查看了各种api资源,但一直找不到任何有用的东西。任何人都可以向我提出建议吗?

感谢。

2 个答案:

答案 0 :(得分:0)

我既未使用也未查看此CRM的代码,但如果您想将角色1和角​​色2设置为CRM中的新用户,则应将新角色定义为role3,因为角色使用逻辑就是这样。我想在编码方面会有很多部分需要更改以便为新用户使用多个角色,因此我的建议是为每个请求的授权级别定义所需的角色。

答案 1 :(得分:0)

这是我用来向用户添加特定角色的内容。

    $role = new ACLRole();
    $role->retrieve($sugar_config['role']['boss']);

    if (!$current_user->check_role_membership($role->name)) {
        // Add user to role, if he/she is not already a member
        $role->set_relationship(
            'acl_roles_users',
            array(
                'role_id' => $role->id,
                'user_id' => $current_user->id
            ),
            false
        );
    }