public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); if ($recordId) { $recordModel = Settings_SMSNotifier_Record_Model::getInstanceById($recordId, $qualifiedModuleName); } else { $recordModel = Settings_SMSNotifier_Record_Model::getCleanInstance($qualifiedModuleName); } $viewer = $this->getViewer($request); $viewer->assign('RECORD_ID', $recordId); $viewer->assign('RECORD_MODEL', $recordModel); $viewer->assign('EDITABLE_FIELDS', $recordModel->getEditableFields()); $viewer->assign('QUALIFIED_MODULE_NAME', $qualifiedModuleName); $viewer->assign('PROVIDERS', $recordModel->getModule()->getAllProviders()); $viewer->view('EditView.tpl', $qualifiedModuleName); }
public function process(Vtiger_Request $request) { $recordId = $request->get('record'); $qualifiedModuleName = $request->getModule(false); if ($recordId) { $recordModel = Settings_SMSNotifier_Record_Model::getInstanceById($recordId, $qualifiedModuleName); } else { $recordModel = Settings_SMSNotifier_Record_Model::getCleanInstance($qualifiedModuleName); } $editableFields = $recordModel->getEditableFields(); foreach ($editableFields as $fieldName => $fieldModel) { $recordModel->set($fieldName, $request->get($fieldName)); } $parameters = ''; $selectedProvider = $request->get('providertype'); $allProviders = $recordModel->getModule()->getAllProviders(); foreach ($allProviders as $provider) { if ($provider->getName() === $selectedProvider) { $fieldsInfo = Settings_SMSNotifier_ProviderField_Model::getInstanceByProvider($provider); foreach ($fieldsInfo as $fieldInfo) { $recordModel->set($fieldInfo['name'], $request->get($fieldInfo['name'])); $parameters[$fieldInfo['name']] = $request->get($fieldInfo['name']); } $recordModel->set('parameters', Zend_Json::encode($parameters)); break; } } $response = new Vtiger_Response(); try { $recordModel->save(); $response->setResult(array(vtranslate('LBL_SAVED_SUCCESSFULLY', $qualifiedModuleName))); } catch (Exception $e) { $response->setError($e->getMessage()); } $response->emit(); }