[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/CustomView/actions/ -> Save.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 CustomView_Save_Action extends Vtiger_Action_Controller {
  12  
  13  	public function process(Vtiger_Request $request) {
  14          $moduleModel = Vtiger_Module_Model::getInstance($request->get('source_module'));
  15          $customViewModel = $this->getCVModelFromRequest($request);
  16          $response = new Vtiger_Response();
  17          
  18          if (!$customViewModel->checkDuplicate()) {
  19              $customViewModel->save();
  20              $cvId = $customViewModel->getId();
  21              $response->setResult(array('id'=>$cvId, 'listviewurl'=>$moduleModel->getListViewUrl().'&viewname='.$cvId));
  22          } else {
  23              $response->setError(vtranslate('LBL_CUSTOM_VIEW_NAME_DUPLICATES_EXIST', $moduleName));
  24          }
  25  
  26          $response->emit();
  27      }
  28  
  29      /**
  30       * Function to get the custom view model based on the request parameters
  31       * @param Vtiger_Request $request
  32       * @return CustomView_Record_Model or Module specific Record Model instance
  33       */
  34  	private function getCVModelFromRequest(Vtiger_Request $request) {
  35          $cvId = $request->get('record');
  36  
  37          if(!empty($cvId)) {
  38              $customViewModel = CustomView_Record_Model::getInstanceById($cvId);
  39          } else {
  40              $customViewModel = CustomView_Record_Model::getCleanInstance();
  41              $customViewModel->setModule($request->get('source_module'));
  42          }
  43  
  44          $customViewData = array(
  45                      'cvid' => $cvId,
  46                      'viewname' => $request->get('viewname'),
  47                      'setdefault' => $request->get('setdefault'),
  48                      'setmetrics' => $request->get('setmetrics'),
  49                      'status' => $request->get('status')
  50          );
  51          $selectedColumnsList = $request->get('columnslist');
  52          if(!empty($selectedColumnsList)) {
  53              $customViewData['columnslist'] = $selectedColumnsList;
  54          }
  55          $stdFilterList = $request->get('stdfilterlist');
  56          if(!empty($stdFilterList)) {
  57              $customViewData['stdfilterlist'] = $stdFilterList;
  58          }
  59          $advFilterList = $request->get('advfilterlist');
  60          if(!empty($advFilterList)) {
  61              $customViewData['advfilterlist'] = $advFilterList;
  62          }
  63  
  64          return $customViewModel->setData($customViewData);
  65      }
  66          
  67          public function validateRequest(Vtiger_Request $request) { 
  68              $request->validateWriteAccess(); 
  69          } 
  70  }


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