diff --git a/modules/Documents/actions/CheckFileIntegrity.php b/modules/Documents/actions/CheckFileIntegrity.php index d177def237fd437915499cedb2ce12cc382a9ad4..4e13dd8f1b2a5a579eb22b8e1882b7053a32d221 100644 --- a/modules/Documents/actions/CheckFileIntegrity.php +++ b/modules/Documents/actions/CheckFileIntegrity.php @@ -10,12 +10,13 @@ class Documents_CheckFileIntegrity_Action extends Vtiger_Action_Controller { + public function requiresPermission(\Vtiger_Request $request) { + $permissions = parent::requiresPermission($request); + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record'); + return $permissions; + } public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - - if(!Users_Privileges_Model::isPermitted($moduleName, 'DetailView', $request->get('record'))) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName)); - } + return parent::checkPermission($request); } public function process(Vtiger_Request $request) { diff --git a/modules/Documents/actions/DownloadFile.php b/modules/Documents/actions/DownloadFile.php index fe6dc161dfa0e70bc870ecc15bc04376d5ba837d..3df847aabdf211793ffaee08a6b4a48df6bb0814 100644 --- a/modules/Documents/actions/DownloadFile.php +++ b/modules/Documents/actions/DownloadFile.php @@ -10,14 +10,15 @@ class Documents_DownloadFile_Action extends Vtiger_Action_Controller { + public function requiresPermission(\Vtiger_Request $request) { + $permissions = parent::requiresPermission($request); + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record'); + return $permissions; + } public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - - if(!Users_Privileges_Model::isPermitted($moduleName, 'DetailView', $request->get('record'))) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName)); - } + return parent::checkPermission($request); } - + public function process(Vtiger_Request $request) { $moduleName = $request->getModule(); diff --git a/modules/Documents/actions/Folder.php b/modules/Documents/actions/Folder.php index 0d8ce0c1506dcf15c2a2860464c172e316b4ee78..3bbff59837d3b904ab11ab2fc2fd5688c389654d 100644 --- a/modules/Documents/actions/Folder.php +++ b/modules/Documents/actions/Folder.php @@ -15,13 +15,29 @@ class Documents_Folder_Action extends Vtiger_Action_Controller { $this->exposeMethod('save'); $this->exposeMethod('delete'); } + + public function requiresPermission(Vtiger_Request $request){ + $permissions = parent::requiresPermission($request); + $mode = $request->getMode(); + if(!empty($mode)) { + switch ($mode) { + case 'save': + $permissions[] = array('module_parameter' => 'module', 'action' => 'EditView'); + break; + case 'delete': + $permissions[] = array('module_parameter' => 'module', 'action' => 'Delete'); + $request->set('custom_module', 'Calendar'); + break; + default: + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView'); + break; + } + } + return $permissions; + } public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - - if(!Users_Privileges_Model::isPermitted($moduleName, 'DetailView')) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName)); - } + return parent::checkPermission($request); } public function process(Vtiger_Request $request) { @@ -37,7 +53,7 @@ class Documents_Folder_Action extends Vtiger_Action_Controller { $folderDesc = $request->get('folderdesc'); $result = array(); - if (!empty ($folderName)) { + if (!empty ($folderName)) { $saveMode = $request->get('savemode'); $folderModel = Documents_Folder_Model::getInstance(); if($saveMode == 'edit') { diff --git a/modules/Documents/actions/MoveDocuments.php b/modules/Documents/actions/MoveDocuments.php index b0917ec752c7729d21e4d0f2e5e6876c6b76e355..ea1948a53b790047cced3e1171c421d2e188a80a 100644 --- a/modules/Documents/actions/MoveDocuments.php +++ b/modules/Documents/actions/MoveDocuments.php @@ -9,13 +9,17 @@ *************************************************************************************/ class Documents_MoveDocuments_Action extends Vtiger_Mass_Action { + + public function requiresPermission(Vtiger_Request $request){ + $permissions = parent::requiresPermission($request); + + $permissions[] = array('module_parameter' => 'module', 'action' => 'EditView'); + return $permissions; + } - public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); - if(!Users_Privileges_Model::isPermitted($moduleName, 'EditView')) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED')); - } + public function checkPermission(Vtiger_Request $request) { + return parent::checkPermission($request); } public function process(Vtiger_Request $request) { diff --git a/modules/Documents/views/AddFolder.php b/modules/Documents/views/AddFolder.php index 6b9d7214f72a4c2b9e2a92d813e3a78b2413e37c..315caf6edd89fdfa0ee9bf9968e696dd666a7ac9 100644 --- a/modules/Documents/views/AddFolder.php +++ b/modules/Documents/views/AddFolder.php @@ -10,12 +10,16 @@ class Documents_AddFolder_View extends Vtiger_IndexAjax_View { - public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); + public function requiresPermission(Vtiger_Request $request){ + $permissions = parent::requiresPermission($request); + + $permissions[] = array('module_parameter' => 'module', 'action' => 'CreateView'); + return $permissions; + } - if(!Users_Privileges_Model::isPermitted($moduleName, 'CreateView')) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName)); - } + + public function checkPermission(Vtiger_Request $request) { + return parent::checkPermission($request); } public function process (Vtiger_Request $request) { diff --git a/modules/Documents/views/EditAjax.php b/modules/Documents/views/EditAjax.php index a9f35baa208cd0406231000c9125f6043ecbd6ac..e5cd97374b58816495ed5645a43562739d8ec3af 100644 --- a/modules/Documents/views/EditAjax.php +++ b/modules/Documents/views/EditAjax.php @@ -10,12 +10,16 @@ class Documents_EditAjax_View extends Vtiger_QuickCreateAjax_View { - public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); + public function requiresPermission(Vtiger_Request $request){ + $permissions = parent::requiresPermission($request); + + $permissions[] = array('module_parameter' => 'module', 'action' => 'CreateView'); + return $permissions; + } - if (!(Users_Privileges_Model::isPermitted($moduleName, 'CreateView'))) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName)); - } + + public function checkPermission(Vtiger_Request $request) { + return parent::checkPermission($request); } public function getFields($documentType){ diff --git a/modules/Documents/views/FilePreview.php b/modules/Documents/views/FilePreview.php index 242dba1219b165ba144f45cdf9e67f3d19246456..b73f661186cd35696666c2d0326fb7351f80427a 100644 --- a/modules/Documents/views/FilePreview.php +++ b/modules/Documents/views/FilePreview.php @@ -10,12 +10,16 @@ class Documents_FilePreview_View extends Vtiger_IndexAjax_View { - public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); + public function requiresPermission(Vtiger_Request $request){ + $permissions = parent::requiresPermission($request); + + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record'); + return $permissions; + } - if(!Users_Privileges_Model::isPermitted($moduleName, 'DetailView', $request->get('record'))) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName)); - } + + public function checkPermission(Vtiger_Request $request) { + return parent::checkPermission($request); } public function process(Vtiger_Request $request) { diff --git a/modules/Documents/views/List.php b/modules/Documents/views/List.php index 7661fac0c9290f2dae7c13990b1ab753a1e20b8d..cbeceb8bf6387463b8da9ead7151a76d7747b459 100644 --- a/modules/Documents/views/List.php +++ b/modules/Documents/views/List.php @@ -12,7 +12,7 @@ class Documents_List_View extends Vtiger_List_View { function __construct() { parent::__construct(); } - + function preProcess (Vtiger_Request $request) { $viewer = $this->getViewer ($request); $moduleName = $request->getModule(); diff --git a/modules/Documents/views/MoveDocuments.php b/modules/Documents/views/MoveDocuments.php index 0437ead47fa2d7da80ff7318854fb653d8f16601..cc739152a0e55d9408edeefa5bb9b5e4dcd0bf6d 100644 --- a/modules/Documents/views/MoveDocuments.php +++ b/modules/Documents/views/MoveDocuments.php @@ -10,12 +10,16 @@ class Documents_MoveDocuments_View extends Vtiger_Index_View { - public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); + public function requiresPermission(Vtiger_Request $request){ + $permissions = parent::requiresPermission($request); + + $permissions[] = array('module_parameter' => 'module', 'action' => 'EditView'); + return $permissions; + } - if(!Users_Privileges_Model::isPermitted($moduleName, 'EditView')) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName)); - } + + public function checkPermission(Vtiger_Request $request) { + return parent::checkPermission($request); } public function process (Vtiger_Request $request) { diff --git a/modules/Documents/views/QuickCreateAjax.php b/modules/Documents/views/QuickCreateAjax.php index fd434226eee9d48d50c98bc5175ec39e0734983a..856e0c5458f0c68930c47b3233753171376d49c8 100644 --- a/modules/Documents/views/QuickCreateAjax.php +++ b/modules/Documents/views/QuickCreateAjax.php @@ -10,12 +10,16 @@ class Documents_QuickCreateAjax_View extends Vtiger_IndexAjax_View { - public function checkPermission(Vtiger_Request $request) { - $moduleName = $request->getModule(); + public function requiresPermission(Vtiger_Request $request){ + $permissions = parent::requiresPermission($request); + + $permissions[] = array('module_parameter' => 'module', 'action' => 'CreateView'); + return $permissions; + } - if (!(Users_Privileges_Model::isPermitted($moduleName, 'CreateView'))) { - throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName)); - } + + public function checkPermission(Vtiger_Request $request) { + return parent::checkPermission($request); } public function process(Vtiger_Request $request) { diff --git a/modules/Vtiger/views/List.php b/modules/Vtiger/views/List.php index 0e908364fad05582af18162b1c897018af00e03f..3e9b338a1fd24b810c26d3588f49dfd9933bef1e 100644 --- a/modules/Vtiger/views/List.php +++ b/modules/Vtiger/views/List.php @@ -19,6 +19,18 @@ class Vtiger_List_View extends Vtiger_Index_View { function __construct() { parent::__construct(); } + + public function requiresPermission(Vtiger_Request $request){ + $permissions = parent::requiresPermission($request); + + $permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView'); + return $permissions; + } + + + public function checkPermission(Vtiger_Request $request) { + return parent::checkPermission($request); + } function preProcess(Vtiger_Request $request, $display=true) { parent::preProcess($request, false);