Skip to content
Snippets Groups Projects
Commit 218ece3a authored by Uma's avatar Uma
Browse files

Merge branch 'Emails_Profile_Permission' into 'master'

Fixes #1221 Profile level permissions enabled for Emails module

See merge request !517
parents 1b386041 1ca3c210
No related branches found
No related tags found
No related merge requests found
......@@ -91,7 +91,6 @@
</thead>
<tbody>
{foreach from=$RECORD_MODEL->getModulePermissions() key=TABID item=PROFILE_MODULE}
{assign var=IS_RESTRICTED_MODULE value=$RECORD_MODEL->isRestrictedModule($PROFILE_MODULE->getName())}
<tr>
{assign var=MODULE_PERMISSION value=$RECORD_MODEL->hasModulePermission($PROFILE_MODULE)}
<td data-module-name='{$PROFILE_MODULE->getName()}' data-module-status='{$MODULE_PERMISSION}'>
......@@ -102,7 +101,7 @@
{assign var="ACTION_MODEL" value=$ALL_BASIC_ACTIONS[$ACTION_ID]}
{assign var=MODULE_ACTION_PERMISSION value=$RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTION_MODEL)}
<td data-action-state='{$ACTION_MODEL->getName()}' data-moduleaction-status='{$MODULE_ACTION_PERMISSION}' style="text-align: center;">
{if !$IS_RESTRICTED_MODULE && $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
{if $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
<img src="{if $MODULE_ACTION_PERMISSION}{$ENABLE_IMAGE_PATH}{else}{$DISABLE_IMAGE_PATH}{/if}" />
{/if}
</td>
......@@ -220,4 +219,4 @@
</div>
</div>
</div>
{/strip}
\ No newline at end of file
{/strip}
......@@ -114,7 +114,6 @@
{foreach from=$PROFILE_MODULES key=TABID item=PROFILE_MODULE}
{assign var=MODULE_NAME value=$PROFILE_MODULE->getName()}
{if $MODULE_NAME neq 'Events'}
{assign var=IS_RESTRICTED_MODULE value=$RECORD_MODEL->isRestrictedModule($MODULE_NAME)}
<tr>
<td class="verticalAlignMiddleImp">
<input class="modulesCheckBox" type="checkbox" name="permissions[{$TABID}][is_permitted]" data-value="{$TABID}" data-module-state="" {if $RECORD_MODEL->hasModulePermission($PROFILE_MODULE)}checked="true"{else} data-module-unchecked="true" {/if}> {$PROFILE_MODULE->get('label')|vtranslate:$PROFILE_MODULE->getName()}
......@@ -124,7 +123,7 @@
<td class="textAlignCenter verticalAlignMiddleImp">
{assign var="ACTION_MODEL" value=$ALL_BASIC_ACTIONS[$ORDERID]}
{assign var=ACTION_ID value=$ACTION_MODEL->get('actionid')}
{if !$IS_RESTRICTED_MODULE && $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
{if $ACTION_MODEL->isModuleEnabled($PROFILE_MODULE)}
<input class="action{$ACTION_ID}CheckBox" type="checkbox" name="permissions[{$TABID}][actions][{$ACTION_ID}]" data-action-state="{$ACTION_MODEL->getName()}" {if $RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTION_MODEL)}checked="true"{elseif empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {else} data-action{$ACTION_ID}-unchecked="true"{/if}></td>
{/if}
</td>
......
......@@ -45,6 +45,7 @@ class Migration_Module_Model extends Vtiger_Module_Model {
array('710' => '7.1.0'),
array('711' => '7.1.1'),
array('720' => '7.2.0'),
array('721' => '7.2.1'),
);
return $versions;
}
......
<?php
/*+********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*********************************************************************************/
if (defined('VTIGER_UPGRADE')) {
global $current_user, $adb;
$db = PearDatabase::getInstance();
$actions = array('Save', 'EditView', 'Delete', 'DetailView', 'CreateView');
$emailsTabId = getTabid('Emails');
$actionIds = array();
foreach($actions as $actionName) {
array_push($actionIds, getActionid($actionName));
}
$profileIdsResult = $db->pquery("SELECT DISTINCT profileid FROM vtiger_profile", array());
$profileIdCount = $db->num_rows($profileIdsResult);
for($i = 0; $i < $profileIdCount; $i++) {
$profileId = $db->query_result($profileIdsResult, $i, 'profileid');
foreach($actionIds as $actionId) {
$db->pquery("INSERT INTO vtiger_profile2standardpermissions VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE permissions = ?",
array($profileId, $emailsTabId, $actionId, 0, 0));
}
echo "Emails permission for profile id :: $profileId inserted into vtiger_profile2standardpermissions table.<br>";
}
$db->pquery("UPDATE vtiger_tab SET ownedby = ? WHERE tabid = ?", array(0, $emailsTabId));
echo "ownedby value updated to 0 for Emails in vtiger_tab table.<br>";
vimport('~modules/Users/CreateUserPrivilegeFile.php');
$usersResult = $db->pquery("SELECT id FROM vtiger_users", array());
$usersCount = $db->num_rows($usersResult);
for($i = 0; $i < $usersCount; $i++) {
$userId = $db->query_result($usersResult, $i, 'id');
createUserPrivilegesfile($userId);
createUserSharingPrivilegesfile($userId);
echo "User privilege and sharing privilege files recreated for user id :: $userId.<br>";
}
}
\ No newline at end of file
......@@ -607,9 +607,6 @@ class Settings_Profiles_Record_Model extends Settings_Vtiger_Record_Model {
$db->pquery($utilityInsertQuery, array());
}
}
} elseif ($this->isRestrictedModule($moduleModel->getName())) {
//To check the module is restricted or not(Emails, Webmails)
$actionEnabled = true;
}
} else {
$actionEnabled = true;
......@@ -798,15 +795,6 @@ class Settings_Profiles_Record_Model extends Settings_Vtiger_Record_Model {
}
}
/**
* Function to check whether module is restricted for to show actions and field access
* @param <String> $moduleName
* @return <boolean> true/false
*/
public function isRestrictedModule($moduleName) {
return in_array($moduleName, array('Emails'));
}
/**
* Function recalculate the sharing rules
*/
......
No preview for this file type
......@@ -24,6 +24,9 @@ class ModTracker_Relation_Model extends Vtiger_Record_Model {
$targetId = $this->get('targetid');
$targetModule = $this->get('targetmodule');
if(!Users_Privileges_Model::isPermitted($targetModule, 'DetailView', $targetId)) {
return false;
}
$query = 'SELECT * FROM vtiger_crmentity WHERE crmid = ?';
$params = array($targetId);
$result = $db->pquery($query, $params);
......
......@@ -8,9 +8,9 @@
* All Rights Reserved.
************************************************************************************/
$patch_version = '20191104'; // -ve timestamp before release, +ve timestamp after release.
$patch_version = '-20191210'; // -ve timestamp before release, +ve timestamp after release.
$modified_database = '';
$vtiger_current_version = '7.2.0';
$vtiger_current_version = '7.2.1';
$_SESSION['vtiger_version'] = $vtiger_current_version;
?>
\ No newline at end of file
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