Skip to content
Snippets Groups Projects
Commit 0cbffa0e authored by Prasad's avatar Prasad
Browse files

Merge branch '38276053_checkPermission_Overall' into 'master'

checkpermission addressed on Portal,Opportunities,Products,PriceBooks and Core files

See merge request !390
parents a20e6965 3af639e1
No related branches found
No related tags found
No related merge requests found
Showing
with 137 additions and 86 deletions
......@@ -10,14 +10,9 @@
class Portal_DeleteAjax_Action extends Vtiger_DeleteAjax_Action {
public function checkPermission(Vtiger_Request $request) {
$moduleName = $request->getModule();
$record = $request->get('record');
$currentUserPrivilegesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
if(!$currentUserPrivilegesModel->isPermitted($moduleName, 'Delete', $record)) {
throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
}
public function requiresPermission(\Vtiger_Request $request) {
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
return $permissions;
}
public function process(Vtiger_Request $request) {
......
......@@ -10,16 +10,11 @@
class Portal_MassDelete_Action extends Vtiger_MassDelete_Action {
function checkPermission(Vtiger_Request $request) {
$moduleName = $request->getModule();
$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
}
public function requiresPermission(\Vtiger_Request $request) {
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
return $permissions;
}
public function process(Vtiger_Request $request) {
$module = $request->getModule();
......
......@@ -10,14 +10,19 @@
class Portal_SaveAjax_Action extends Vtiger_SaveAjax_Action {
public function process(Vtiger_Request $request) {
public function requiresPermission(\Vtiger_Request $request) {
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
return $permissions;
}
public function process(Vtiger_Request $request) {
$module = $request->getModule();
$recordId = $request->get('record');
$bookmarkName = $request->get('bookmarkName');
$bookmarkUrl = $request->get('bookmarkUrl');
Portal_Module_Model::saveRecord($recordId, $bookmarkName, $bookmarkUrl);
$response = new Vtiger_Response();
$result = array('message' => vtranslate('LBL_BOOKMARK_SAVED_SUCCESSFULLY', $module));
$response->setResult($result);
......
......@@ -10,6 +10,13 @@
class Portal_Detail_View extends Vtiger_Index_View {
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
return $permissions;
}
function preProcess(Vtiger_Request $request, $display=true) {
parent::preProcess($request);
}
......
......@@ -10,6 +10,13 @@
class Portal_EditAjax_View extends Vtiger_IndexAjax_View {
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
return $permissions;
}
public function process(Vtiger_Request $request) {
$moduleName = $request->getModule();
$recordId = $request->get('record');
......
......@@ -10,6 +10,13 @@
class Portal_List_View extends Vtiger_Index_View {
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
return $permissions;
}
function preProcess(Vtiger_Request $request, $display=true) {
parent::preProcess($request);
......
......@@ -10,15 +10,13 @@
class Potentials_ConvertPotential_View extends Vtiger_Index_View {
function checkPermission(Vtiger_Request $request) {
$moduleName = $request->getModule();
$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
$projectModuleModel = Vtiger_Module_Model::getInstance('Project');
$currentUserModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
if(!$currentUserModel->hasModuleActionPermission($projectModuleModel->getId(), 'CreateView')) {
throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName));
}
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
$permissions[] = array('module_parameter' => 'custom_module', 'action' => 'CreateView');
$request->set('custom_module', 'Project');
return $permissions;
}
function process(Vtiger_Request $request) {
......
......@@ -11,17 +11,15 @@ vimport('~~/include/Webservices/ConvertPotential.php');
class Potentials_SaveConvertPotential_View extends Vtiger_View_Controller {
function checkPermission(Vtiger_Request $request) {
$moduleName = $request->getModule();
$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
$projectModuleModel = Vtiger_Module_Model::getInstance('Project');
$currentUserModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
if(!$currentUserModel->hasModuleActionPermission($projectModuleModel->getId(), 'CreateView')) {
throw new AppException(vtranslate('LBL_CREATE_PROJECT_PERMISSION_DENIED', $moduleName));
}
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
$permissions[] = array('module_parameter' => 'custom_module', 'action' => 'CreateView');
$request->set('custom_module', 'Project');
return $permissions;
}
public function process(Vtiger_Request $request) {
$recordId = $request->get('record');
$modules = $request->get('modules');
......
......@@ -10,14 +10,11 @@
class PriceBooks_ProductListPrice_Action extends Vtiger_Action_Controller {
function checkPermission(Vtiger_Request $request) {
$moduleName = $request->getModule();
$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
throw new AppException(vtranslate($moduleName, $moduleName).' '.vtranslate('LBL_NOT_ACCESSIBLE'));
}
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
return $permissions;
}
function process(Vtiger_Request $request) {
......
......@@ -17,6 +17,22 @@ class PriceBooks_RelationAjax_Action extends Vtiger_RelationAjax_Action {
return;
}
}
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$mode = $request->getMode();
if(!empty($mode)) {
switch ($mode) {
case 'addListPrice':
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'src_record');
$permissions[] = array('module_parameter' => 'related_module', 'action' => 'DetailView');
break;
default:
break;
}
}
return $permissions;
}
/**
* Function adds PriceBooks-Products Relation
......@@ -27,7 +43,6 @@ class PriceBooks_RelationAjax_Action extends Vtiger_RelationAjax_Action {
$sourceRecordId = $request->get('src_record');
$relatedModule = $request->get('related_module');
$relInfos = $request->get('relinfo');
$relatedModule = $request->get('related_module');
$sourceModuleModel = Vtiger_Module_Model::getInstance($sourceModule);
$relatedModuleModel = Vtiger_Module_Model::getInstance($relatedModule);
......
......@@ -10,16 +10,15 @@
class PriceBooks_ListPriceUpdate_View extends Vtiger_View_Controller {
function checkPermission(Vtiger_Request $request) {
$moduleName = $request->getModule();
$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
throw new AppException(vtranslate($moduleName, $moduleName).' '.vtranslate('LBL_NOT_ACCESSIBLE'));
}
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
$permissions[] = array('module_parameter' => 'module', 'action' => 'EditView', 'record_parameter' => 'record');
return $permissions;
}
function preProcess(Vtiger_Request $request, $display = true) {
}
......
......@@ -15,10 +15,12 @@ class Products_Mass_Action extends Vtiger_Mass_Action {
$this->exposeMethod('isChildProduct');
}
public function checkPermission(Vtiger_Request $request) {
return true;
public function requiresPermission(\Vtiger_Request $request) {
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
return $permissions;
}
public function process(Vtiger_Request $request) {
$mode = $request->getMode();
if(!empty($mode)) {
......
......@@ -18,6 +18,31 @@ class Products_RelationAjax_Action extends Vtiger_RelationAjax_Action {
$this->exposeMethod('changeBundleCost');
}
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$mode = $request->getMode();
if(!empty($mode)) {
switch ($mode) {
case 'addListPrice':
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'src_record');
$permissions[] = array('module_parameter' => 'related_module', 'action' => 'DetailView');
break;
case 'updateShowBundles':
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
$permissions[] = array('module_parameter' => 'relatedModule', 'action' => 'DetailView');
case 'updateQuantity':
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'src_record');
$permissions[] = array('module_parameter' => 'related_module', 'action' => 'DetailView');
case 'changeBundleCost':
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
$permissions[] = array('module_parameter' => 'relatedModule', 'action' => 'DetailView');
default:
break;
}
}
return $permissions;
}
/*
* Function to add relation for specified source record id and related record id list
* @param <array> $request
......
......@@ -10,14 +10,10 @@
class Products_SubProducts_Action extends Vtiger_Action_Controller {
function checkPermission(Vtiger_Request $request) {
$moduleName = $request->getModule();
$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
if(!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
throw new AppException(vtranslate($moduleName, $moduleName).' '.vtranslate('LBL_NOT_ACCESSIBLE'));
}
public function requiresPermission(\Vtiger_Request $request) {
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
return $permissions;
}
function process(Vtiger_Request $request) {
......
......@@ -15,6 +15,20 @@ class Products_Detail_View extends Vtiger_Detail_View {
$this->exposeMethod('showBundleTotalCostView');
}
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$mode = $request->getMode();
if(!empty($mode)) {
switch ($mode) {
case 'showBundleTotalCostView':
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
$permissions[] = array('module_parameter' => 'relatedModule', 'action' => 'DetailView');
break;
}
}
return $permissions;
}
function preProcess(Vtiger_Request $request, $display = true) {
$recordId = $request->get('record');
$moduleName = $request->getModule();
......
......@@ -11,14 +11,13 @@
class Products_MoreCurrenciesList_View extends Vtiger_IndexAjax_View {
public function checkPermission(Vtiger_Request $request) {
$moduleName = $request->getModule();
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$record = $request->get('record');
$actionName = ($record) ? 'EditView' : 'CreateView';
if(!Users_Privileges_Model::isPermitted($moduleName, $actionName, $record)) {
throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));
}
$permissions[] = array('module_parameter' => 'module', 'action' => $actionName, 'record_parameter' => 'record');
return $permissions;
}
public function process(Vtiger_Request $request) {
......
......@@ -10,14 +10,10 @@
class Products_SubProductQuantityUpdate_View extends Vtiger_View_Controller {
public function checkPermission(Vtiger_Request $request) {
$moduleName = $request->getModule();
$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
$currentUserPriviligesModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
if (!$currentUserPriviligesModel->hasModulePermission($moduleModel->getId())) {
throw new AppException(vtranslate($moduleName, $moduleName) . ' ' . vtranslate('LBL_NOT_ACCESSIBLE'));
}
public function requiresPermission(Vtiger_Request $request){
$permissions = parent::requiresPermission($request);
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
return $permissions;
}
public function preProcess(Vtiger_Request $request, $display = true) {
......
......@@ -35,7 +35,7 @@ class Vtiger_Save_Action extends Vtiger_Action_Controller {
$moduleName = $request->getModule();
$record = $request->get('record');
$nonEntityModules = array('Users', 'Events', 'Calendar');
$nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal');
if ($record && !in_array($moduleName, $nonEntityModules)) {
$recordEntityName = getSalesEntityType($record);
if ($recordEntityName !== $moduleName) {
......
......@@ -24,10 +24,6 @@ class Vtiger_TagCloud_Action extends Vtiger_Mass_Action {
$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
return $permissions;
}
function checkPermission(Vtiger_Request $request) {
parent::checkPermission($request);
}
public function process(Vtiger_Request $request) {
$mode = $request->getMode();
......
......@@ -44,7 +44,7 @@ class Vtiger_Detail_View extends Vtiger_Index_View {
break;
case 'showRelatedList':
case 'showRelatedRecords':
$permissions[] = array('module_parameter' => 'relatedModule', 'action' => 'DetailView');
$permissions[] = array('module_parameter' => 'relatedModule', 'action' => 'DetailView', 'record_parameter' => 'record');
break;
case 'getActivities':
$permissions[] = array('module_parameter' => 'custom_module', 'action' => 'DetailView');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment