[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
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 Reports_Folder_Action extends Vtiger_Action_Controller { 12 13 function __construct() { 14 parent::__construct(); 15 $this->exposeMethod('save'); 16 $this->exposeMethod('delete'); 17 } 18 19 public function checkPermission(Vtiger_Request $request) { 20 $moduleName = $request->getModule(); 21 $moduleModel = Reports_Module_Model::getInstance($moduleName); 22 23 $currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); 24 if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) { 25 throw new AppException('LBL_PERMISSION_DENIED'); 26 } 27 } 28 29 public function process(Vtiger_Request $request) { 30 $mode = $request->get('mode'); 31 if(!empty($mode)) { 32 $this->invokeExposedMethod($mode, $request); 33 return; 34 } 35 } 36 37 /** 38 * Function that saves/updates the Folder 39 * @param Vtiger_Request $request 40 */ 41 function save(Vtiger_Request $request) { 42 $moduleName = $request->getModule(); 43 $folderModel = Reports_Folder_Model::getInstance(); 44 $folderId = $request->get('folderid'); 45 46 if(!empty($folderId)) { 47 $folderModel->set('folderid', $folderId); 48 } 49 50 $folderModel->set('foldername', $request->get('foldername')); 51 $folderModel->set('description', $request->get('description')); 52 53 if ($folderModel->checkDuplicate()) { 54 throw new AppException(vtranslate('LBL_DUPLICATES_EXIST', $moduleName)); 55 } 56 57 $folderModel->save(); 58 $result = array('success' => true, 'message' => vtranslate('LBL_FOLDER_SAVED', $moduleName), 'info' => $folderModel->getInfoArray()); 59 60 $response = new Vtiger_Response(); 61 $response->setResult($result); 62 $response->emit(); 63 } 64 65 /** 66 * Function that deletes the Folder 67 * @param Vtiger_Request $request 68 */ 69 function delete(Vtiger_Request $request) { 70 $folderId = $request->get('folderid'); 71 $moduleName = $request->getModule(); 72 73 if ($folderId) { 74 $folderModel = Reports_Folder_Model::getInstanceById($folderId); 75 76 if ($folderModel->isDefault()) { 77 throw new AppException(vtranslate('LBL_FOLDER_CAN_NOT_BE_DELETED', $moduleName)); 78 } else { 79 if ($folderModel->hasReports()) { 80 throw new AppException(vtranslate('LBL_FOLDER_NOT_EMPTY', $moduleName)); 81 } 82 } 83 84 $folderModel->delete(); 85 $result = array('success'=>true, 'message'=>vtranslate('LBL_FOLDER_DELETED', $moduleName)); 86 87 $response = new Vtiger_Response(); 88 $response->setResult($result); 89 $response->emit(); 90 } 91 } 92 93 public function validateRequest(Vtiger_Request $request) { 94 $request->validateWriteAccess(); 95 } 96 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |