public function step1(Vtiger_Request $request) { $qualifiedModuleName = $request->getModule(false); $params = $request->get('param'); $recordId = $params['record']; $step = $params['step']; if ($recordId) { $moduleInstance = Settings_MappedFields_Module_Model::getInstanceById($recordId); } else { $moduleInstance = Settings_MappedFields_Module_Model::getCleanInstance(); } $stepFields = Settings_MappedFields_Module_Model::getFieldsByStep($step); foreach ($stepFields as $field) { $moduleInstance->getRecord()->set($field, $params[$field]); if ($field == 'conditions') { $moduleInstance->transformAdvanceFilterToWorkFlowFilter(); } } if (!$recordId && $moduleInstance->importsAllowed() >= 1) { $message = 'LBL_TEMPATE_EXIST'; } else { $moduleInstance->save(); } $response = new Vtiger_Response(); $response->setResult(['id' => $moduleInstance->getRecordId(), 'message' => vtranslate($message, $qualifiedModuleName)]); $response->emit(); }
public function save($saveMapping = false) { $log = vglobal('log'); $log->debug('Entering ' . __CLASS__ . '::' . __METHOD__ . '(' . $saveMapping . ') method ...'); $db = PearDatabase::getInstance(); $fields = self::$allFields; $params = []; foreach ($fields as $field) { $value = $this->record->get($field); if (in_array($field, ['conditions', 'params'])) { $params[$field] = Zend_Json::encode($value); } elseif (is_array($value)) { $params[$field] = implode(',', $value); } else { $params[$field] = $value; } } if (!$this->getRecordId()) { $db->insert($this->baseTable, $params); $this->record->set('id', $db->getLastInsertID()); } else { $db->update($this->baseTable, $params, '`' . $this->baseIndex . '` = ?', [$this->getRecordId()]); } if ($saveMapping) { $stepFields = Settings_MappedFields_Module_Model::getFieldsByStep(2); $this->deleteMapping($this->getRecordId()); foreach ($this->getMapping() as $mapp) { $params = []; $params[$this->mappingIndex] = $this->getRecordId(); foreach ($stepFields as $name) { $params[$name] = $mapp[$name]; } if ($params['source'] && $params['target']) { $db->insert($this->mappingTable, $params); } } } $log->debug('Exiting ' . __CLASS__ . '::' . __METHOD__ . ' method ...'); return $this->getRecordId(); }