要添加到自定义模块的 Vtiger Activity 模块

Vtiger Activity module to be added to custom Module

http://community.vtiger.com/help/vtigercrm/developers/extensions/examples/entity-module.html

使用上面给出的文档 link,我创建了一个名为 Leaves 的自定义模块。现在,下一个任务是将 activity 模块添加到 Leaves 模块。我用下面的代码完成了同样的事情。

include_once('vtlib/Vtiger/Module.php');
$moduleInstance = Vtiger_Module::getInstance('Leaves');
$accountsModule = Vtiger_Module::getInstance('Calendar');
$relationLabel  = 'Activities';
$moduleInstance->setRelatedList(
      $accountsModule, $relationLabel, Array('ADD','SELECT'), 'get_activities'
);

现在,在 module/Leaves/Leaves.php 中,我从帐户模块的 Accounts.php 模块复制了 get_activities 函数。它现在应该可以工作,但没有。

我添加了一个休假并打开了它的详细视图。在那里看到活动标签,我变得很高兴。我点击它并为特定的单次休假添加了 2 个事件。理想情况下,所有事件,即我最近添加的 2 个事件必须列在那里,但没有事件。

我检查了代码,发现一个关系被存储在 'vtiger_seactivityrel' table 中,带有 activityid 和单假 id(crmid)。但是当我从 Leaves 模块添加事件时。 Activity 已创建,但关系未存储在 'vtiger_seactivityrel' 中。我通过添加 activityid 和 crmid 手动建立关系,然后它开始显示事件。

因此,这里提出的问题是 'vtiger_seactivityrel' table 没有被填充。

如果你有解决办法,请帮助我。I have attached Image of one such leave which is showing blank even after adding event.

经过大量研究,我发现我需要更新 vtiger_ws_referencetype table 才能建立关系。这是相同的查询。在我的例子中,custommodulename 将被 Leaves 取代。

insert into vtiger_ws_referencetype(fieldtypeid,type) values (34,'custommodulename');