[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Accounts/actions/ -> TransferOwnership.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 Accounts_TransferOwnership_Action extends Vtiger_Action_Controller {
  12      
  13  	function checkPermission(Vtiger_Request $request) {
  14          $moduleName = $request->getModule();
  15          $moduleModel = Vtiger_Module_Model::getInstance($moduleName);
  16          $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
  17  
  18          if(!$currentUserPriviligesModel->hasModuleActionPermission($moduleModel->getId(), 'Save')) {
  19              throw new AppException(vtranslate($moduleName).' '.vtranslate('LBL_NOT_ACCESSIBLE'));
  20          }
  21      }
  22  
  23  	public function process(Vtiger_Request $request) {
  24          $module = $request->getModule();
  25          $moduleModel = Vtiger_Module_Model::getInstance($module);
  26          $transferOwnerId = $request->get('transferOwnerId');
  27          $record = $request->get('record');
  28          if(empty($record))
  29              $recordIds = $this->getBaseModuleRecordIds($request);
  30          else
  31              $recordIds[] = $record;
  32          $relatedModuleRecordIds = $moduleModel->getRelatedModuleRecordIds($request, $recordIds);
  33          foreach ($recordIds as $key => $recordId) {
  34              array_push($relatedModuleRecordIds, $recordId);
  35          }
  36          array_merge($relatedModuleRecordIds, $recordIds);
  37          $moduleModel->transferRecordsOwnership($transferOwnerId, $relatedModuleRecordIds);
  38          
  39          $response = new Vtiger_Response();
  40          $response->setResult(true);
  41          $response->emit();
  42      }
  43      
  44  	protected function getBaseModuleRecordIds(Vtiger_Request $request) {
  45          $cvId = $request->get('viewname');
  46          $module = $request->getModule();
  47          $selectedIds = $request->get('selected_ids');
  48          $excludedIds = $request->get('excluded_ids');
  49          if(!empty($selectedIds) && $selectedIds != 'all') {
  50              if(!empty($selectedIds) && count($selectedIds) > 0) {
  51                  return $selectedIds;
  52              }
  53          }
  54  
  55          if($selectedIds == 'all'){
  56              $customViewModel = CustomView_Record_Model::getInstanceById($cvId);
  57              if($customViewModel) {
  58                  return $customViewModel->getRecordIds($excludedIds, $module);
  59              }
  60          }
  61          return array();
  62      }
  63      
  64      public function validateRequest(Vtiger_Request $request) {
  65          $request->validateWriteAccess();
  66      }
  67  }


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