Beispiel #1
0
 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);
 }
Beispiel #2
0
 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();
 }