vtigerossez/modules/Settings/OrgSharingDetailView.php

164 lines
4.9 KiB
PHP
Raw Permalink Normal View History

<?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.
*
********************************************************************************/
require_once('include/utils/utils.php');
require_once('include/utils/UserInfoUtil.php');
global $mod_strings;
global $app_strings;
global $app_list_strings;
global $theme;
$theme_path="themes/".$theme."/";
$image_path=$theme_path."images/";
$smarty = new vtigerCRM_Smarty;
$defSharingPermissionData = getDefaultSharingAction();
$access_privileges = array();
$row=1;
foreach($defSharingPermissionData as $tab_id => $def_perr)
{
$entity_name = getTabname($tab_id);
if($tab_id == 6)
{
$cont_name = getTabname(4);
$entity_name .= ' & '.$cont_name;
}
$entity_perr = getDefOrgShareActionName($def_perr);
$access_privileges[] = $entity_name;
$access_privileges[] = $entity_perr;
if($entity_perr != 'Private')
$access_privileges[] = $mod_strings['LBL_DESCRIPTION_'.$entity_perr] . $app_strings[$entity_name];
else
$access_privileges[] = $mod_strings['LBL_USR_CANNOT_ACCESS'] . $app_strings[$entity_name];
$row++;
}
$access_privileges=array_chunk($access_privileges,3);
$smarty->assign("DEFAULT_SHARING", $access_privileges);
$custom_access = array();
//Lead Sharing
$custom_access['Leads'] = getSharingRuleList('Leads');
//Account Sharing
$custom_access['Accounts'] = getSharingRuleList('Accounts');
//Potential Sharing
$custom_access['Potentials'] = getSharingRuleList('Potentials');
//HelpDesk Sharing
$custom_access['HelpDesk'] = getSharingRuleList('HelpDesk');
//Email Sharing
//$custom_access['Emails'] = getSharingRuleList('Emails');
//Campaign Sharing
$custom_access['Campaigns'] = getSharingRuleList('Campaigns');
//Quotes Sharing
$custom_access['Quotes'] = getSharingRuleList('Quotes');
//Purchase Order Sharing
$custom_access['PurchaseOrder'] = getSharingRuleList('PurchaseOrder');
//Sales Order Sharing
$custom_access['SalesOrder'] = getSharingRuleList('SalesOrder');
//Invoice Sharing
$custom_access['Invoice'] = getSharingRuleList('Invoice');
//Document Sharing
$custom_access['Documents'] = getSharingRuleList('Documents');
// Look up for modules for which sharing access is enabled.
// NOTE: Accounts and Contacts has been couple, so we need to elimiate Contacts also
$othermodules = getSharingModuleList(Array('Contacts'));
if(!empty($othermodules)) {
foreach($othermodules as $moduleresname) {
if(!isset($custom_access[$moduleresname])) {
$custom_access[$moduleresname] = getSharingRuleList($moduleresname);
}
}
}
$smarty->assign("MODSHARING", $custom_access);
/** returns the list of sharing rules for the specified module
* @param $module -- Module Name:: Type varchar
* @returns $access_permission -- sharing rules list info array:: Type array
*
*/
function getSharingRuleList($module)
{
global $adb,$mod_strings;
$tabid=getTabid($module);
$dataShareTableArray=getDataShareTableandColumnArray();
$i=1;
$access_permission = array();
foreach($dataShareTableArray as $table_name => $colName)
{
$colNameArr=explode("::",$colName);
$query = "select ".$table_name.".* from ".$table_name." inner join vtiger_datashare_module_rel on ".$table_name.".shareid=vtiger_datashare_module_rel.shareid where vtiger_datashare_module_rel.tabid=?";
$result=$adb->pquery($query, array($tabid));
$num_rows=$adb->num_rows($result);
$share_colName=$colNameArr[0];
$share_modType=getEntityTypeFromCol($share_colName);
$to_colName=$colNameArr[1];
$to_modType=getEntityTypeFromCol($to_colName);
for($j=0;$j<$num_rows;$j++)
{
$shareid=$adb->query_result($result,$j,"shareid");
$share_id=$adb->query_result($result,$j,$share_colName);
$to_id=$adb->query_result($result,$j,$to_colName);
$permission = $adb->query_result($result,$j,'permission');
$share_ent_disp = getEntityDisplayLink($share_modType,$share_id);
$to_ent_disp = getEntityDisplayLink($to_modType,$to_id);
if($permission == 0)
{
$perr_out = $mod_strings['Read Only '];
}
elseif($permission == 1)
{
$perr_out = $mod_strings['Read/Write'];
}
$access_permission [] = $shareid;
$access_permission [] = $share_ent_disp;
$access_permission [] = $to_ent_disp;
$access_permission [] = $perr_out;
$i++;
}
}
if(is_array($access_permission))
$access_permission = array_chunk($access_permission,4);
return $access_permission;
}
$smarty->assign("THEME", $theme);
$smarty->assign("IMAGE_PATH",$image_path);
$smarty->assign("APP", $app_strings);
$smarty->assign("CMOD", $mod_strings);
$smarty->assign("MOD", return_module_language($current_language,'Settings'));
$smarty->display("OrgSharingDetailView.tpl");
?>