1

我在项目模块下使用现有的任务模块。我想将特定任务分配给多个工人。这意味着一群人将共同完成任务。

我的 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'); 

谁能帮我完成它?

4

1 回答 1

1

当您了解日历事件创建中的邀请用户字段时,这是可能的。这里的字段必须是多选的。

邀请用户字段

您需要处理 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 ...");

    }

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

于 2016-09-27T16:21:17.043 回答