for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* Record collectors task file.
*
* @package WorkflowTask
* @copyright YetiForce S.A.
* @license YetiForce Public License 5.0 (licenses/LicenseEN.txt or yetiforce.com)
* @author Arkadiusz Sołek <[email protected]>
*/
* Record collectors task class.
require_once 'modules/com_vtiger_workflow/VTWorkflowUtils.php';
class VTRecordCollector extends VTTask
{
/** @var bool Performs the task immediately after saving. */
public $executeImmediately = true;
/** {@inheritdoc} */
public function getFieldNames()
return ['recordCollector'];
}
public function doTask($recordModel)
$moduleName = $recordModel->getModuleName();
$value = [];
$value['module'] = $moduleName;
if (!empty($this->recordCollector)) {
$recordCollector = \App\RecordCollector::getInstance('\App\RecordCollectors\\' . $this->recordCollector, $moduleName);
recordCollector
VTRecordCollector
foreach ($recordCollector->modulesFieldsMap[$moduleName] as $key => $searchField) {
modulesFieldsMap
App\RecordCollectors\Base
if ('' !== $recordModel->get($searchField)) {
$value[$key] = $recordModel->get($searchField);
break;
if (!empty($value)) {
$recordCollector->setRequest(new \App\Request($value, false));
$response = $recordCollector->search();
foreach ($response['fields'] as $fieldName => $values) {
$recordModel->set($fieldName, $values['data'][0]['raw']);
$recordModel->setHandlerExceptions(['disableHandlerClasses' => ['Vtiger_Workflow_Handler']]);
$recordModel->save();