[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/pkg/vtiger/modules/SMSNotifier/settings/actions/ -> SaveAjax.php (source)

   1  <?php
   2  /*+***********************************************************************************
   3   * The contents of this file are subject to the vtiger CRM Public License Version 1.0
   4   * ("License"); You may not use this file except in compliance with the License
   5   * The Original Code is:  vtiger CRM Open Source
   6   * The Initial Developer of the Original Code is vtiger.
   7   * Portions created by vtiger are Copyright (C) vtiger.
   8   * All Rights Reserved.
   9   *************************************************************************************/
  10  
  11  class Settings_SMSNotifier_SaveAjax_Action extends Settings_Vtiger_Index_Action {
  12  
  13  	public function process(Vtiger_Request $request) {
  14          $recordId = $request->get('record');
  15          $qualifiedModuleName = $request->getModule(false);
  16  
  17          if ($recordId) {
  18              $recordModel = Settings_SMSNotifier_Record_Model::getInstanceById($recordId, $qualifiedModuleName);
  19          } else {
  20              $recordModel = Settings_SMSNotifier_Record_Model::getCleanInstance($qualifiedModuleName);
  21          }
  22  
  23          $editableFields = $recordModel->getEditableFields();
  24          foreach ($editableFields as $fieldName => $fieldModel) {
  25              $recordModel->set($fieldName, $request->get($fieldName));
  26          }
  27  
  28          $parameters = ''; 
  29          $selectedProvider = $request->get('providertype');
  30          $allProviders = $recordModel->getModule()->getAllProviders();
  31          foreach ($allProviders as $provider) {
  32              if ($provider->getName() === $selectedProvider) {
  33                  $fieldsInfo = Settings_SMSNotifier_ProviderField_Model::getInstanceByProvider($provider); 
  34                  foreach ($fieldsInfo as $fieldInfo) { 
  35                       $recordModel->set($fieldInfo['name'], $request->get($fieldInfo['name'])); 
  36                       $parameters[$fieldInfo['name']] = $request->get($fieldInfo['name']); 
  37                  } 
  38                   $recordModel->set('parameters', Zend_Json::encode($parameters)); 
  39                   break;
  40              }
  41          }
  42  
  43          $response = new Vtiger_Response();
  44          try {
  45              $recordModel->save();
  46              $response->setResult(array(vtranslate('LBL_SAVED_SUCCESSFULLY', $qualifiedModuleName)));
  47          } catch (Exception $e) {
  48              $response->setError($e->getMessage());
  49          }
  50          $response->emit();
  51      }
  52          
  53          public function validateRequest(Vtiger_Request $request) { 
  54              $request->validateWriteAccess(); 
  55          }
  56  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1