如何在vtigercrm中添加组合下拉用户列表?

时间:2016-09-27 16:11:21

标签: vtiger vtigercrm

我正在使用Project模块下的现有Task模块。我想要 将特定任务分配给多个工人。意思是一群人 将一起完成任务。

我的vtigercrm中已经有工作人员作为用户。所以,如果我做一个用户选择 多个用于分配单个任务可能更容易处理这个问题 用例。

这个用例已经在Calendar模块中有了,但是我无法理解它们是如何实现的。

我对如何在任何模块中创建自定义用户列表下拉有了全面的了解,并且我为自定义模块创建了更多。现在停留在同一场景中,一次有多个。 我在module.php中尝试过这样的方法,但它无效。

$users = Vtiger_Module::getInstance('Users'); 
$module = Vtiger_Module::getInstance('MyModule'); 
$module->unsetRelatedList($users, 'Users', 'get_related_list'); 
$module->setRelatedList($users, 'Users', array('SELECT'), 'get_related_list'); 

任何人都可以帮助我完成它吗?

1 个答案:

答案 0 :(得分:1)

当您了解Calender envent创建中的Invite用户字段时。这里的字段必须是多选的。

Invite Users field

您需要处理vtiger_salesmanactivityrel表以插入多个用户并显示详细视图。

以下是处理邀请用户的代码。

//对被邀请者的处理

$selected_users_string =  $_REQUEST['inviteesid'];
            $invitees_array = explode(';',$selected_users_string);
            $this->insertIntoInviteeTable($module,$invitees_array);

function insertIntoInviteeTable($module,$invitees_array)
    {
        global $log,$adb;
        $log->debug("Entering insertIntoInviteeTable(".$module.",".$invitees_array.") method ...");
        if($this->mode == 'edit'){
            $sql = "delete from vtiger_invitees where activityid=?";
            $adb->pquery($sql, array($this->id));
        }
        foreach($invitees_array as $inviteeid)
        {
            if($inviteeid != '')
            {
                $query="insert into vtiger_invitees values(?,?)";
                $adb->pquery($query, array($this->id, $inviteeid));
            }
        }
        $log->debug("Exiting insertIntoInviteeTable method ...");

    }

希望它会给你一个更好的主意。