我正在使用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');
任何人都可以帮助我完成它吗?
答案 0 :(得分:1)
当您了解Calender envent创建中的Invite用户字段时。这里的字段必须是多选的。
您需要处理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 ...");
}
希望它会给你一个更好的主意。