Added destination select permissions

This commit is contained in:
root 2020-01-21 11:43:19 -05:00
parent 0c5e2cc85e
commit e9f4d5113f
17 changed files with 112 additions and 2 deletions

View File

@ -31,6 +31,10 @@
$apps[$x]['permissions'][$y]['name'] = 'bridge_all';
$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
$y++;
$apps[$x]['permissions'][$y]['name'] = 'bridge_destinations';
$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
$apps[$x]['permissions'][$y]['groups'][] = 'admin';
$y++;
//destination details
$y = 0;

View File

@ -115,6 +115,10 @@
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "call_center_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
//default settings
$y = 0;

View File

@ -63,6 +63,11 @@
$y++;
$apps[$x]['permissions'][$y]['name'] = "call_flow_context";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "call_flow_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$y++;
//cache details
$apps[$x]['cache']['key'] = "dialplan.\${call_flow_context}";

View File

@ -170,6 +170,10 @@
$apps[$x]['permissions'][$y]['name'] = "conference_session_detail_delete";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "conference_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
//cache details
$apps[$x]['cache']['key'] = "dialplan.\${domain_name}";

View File

@ -92,6 +92,11 @@
$apps[$x]['permissions'][$y]['name'] = "destination_fax";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$y++;
$apps[$x]['permissions'][$y]['name'] = "destination_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$y++;
//default settings
$y = 0;

View File

@ -87,6 +87,10 @@
$y++;
$apps[$x]['permissions'][$y]['name'] = "dialplan_all";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "dialplan_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
//cache details
$apps[$x]['cache']['key'] = "dialplan.\${dialplan_context}";

View File

@ -190,6 +190,12 @@
$y++;
$apps[$x]['permissions'][$y]['name'] = "extension_export";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "extension_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "user";
//default settings
$y=0;

View File

@ -169,6 +169,10 @@
$y++;
$apps[$x]['permissions'][$y]['name'] = "fax_send_greeting";
//$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "fax_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
//default settings
$y=0;

View File

@ -69,6 +69,9 @@
$y++;
$apps[$x]['permissions'][$y]['name'] = "gateway_channels";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "gateway_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
//default settings
$y = 0;

View File

@ -99,6 +99,10 @@
$y++;
$apps[$x]['permissions'][$y]['name'] = "ivr_menu_domain";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "ivr_menu_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
//default settings
$y=0;

View File

@ -68,6 +68,10 @@
$y++;
$apps[$x]['permissions'][$y]['name'] = "phrase_domain";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "phrase_desinations";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
//cache details
$apps[$x]['cache']['key'] = "languages.\${phrase_language}";

View File

@ -76,6 +76,11 @@
$apps[$x]['permissions'][$y]['groups'][] = "user";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "recording_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
//default settings
$y=0;

View File

@ -125,6 +125,10 @@
$y++;
$apps[$x]['permissions'][$y]['name'] = "ring_group_all";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "ring_group_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
//default settings
$y=0;

View File

@ -68,6 +68,10 @@
$y++;
$apps[$x]['permissions'][$y]['name'] = "time_condition_context";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$y++;
$apps[$x]['permissions'][$y]['name'] = "time_condition_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
//default settings
$y=0;

View File

@ -44,4 +44,10 @@
$apps[$x]['destinations'][$y]['select_value']['ivr'] = "menu-exec-app:playback tone_stream://\${destination}";
$apps[$x]['destinations'][$y]['select_label'] = "\${name}";
$y=0;
$apps[$x]['permissions'][$y]['name'] = "tone_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
?>

View File

@ -129,6 +129,12 @@
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$apps[$x]['permissions'][$y]['groups'][] = "agent";
$y++;
$apps[$x]['permissions'][$y]['name'] = "voicemail_destinations";
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
$apps[$x]['permissions'][$y]['groups'][] = "admin";
$apps[$x]['permissions'][$y]['groups'][] = "user";
$apps[$x]['permissions'][$y]['groups'][] = "agent";
//default settings
$y=0;

View File

@ -80,10 +80,11 @@ if (!class_exists('destinations')) {
$i = 0;
foreach ($apps as $x => &$app) {
if (isset($app['destinations'])) foreach ($app['destinations'] as &$row) {
$this->destinations[] = $row;
if (permission_exists($this->singular($row["name"])."_destinations")) {
$this->destinations[] = $row;
}
}
}
//put the array in order
foreach ($this->destinations as $row) {
$option_groups[] = $row['label'];
@ -586,6 +587,43 @@ if (!class_exists('destinations')) {
}
} //method
//define singular function to convert a word in english to singular
public function singular($word) {
//"-es" is used for words that end in "-x", "-s", "-z", "-sh", "-ch" in which case you add
if (substr($word, -2) == "es") {
if (substr($word, -4) == "sses") { // eg. 'addresses' to 'address'
return substr($word,0,-2);
}
elseif (substr($word, -3) == "ses") { // eg. 'databases' to 'database' (necessary!)
return substr($word,0,-1);
}
elseif (substr($word, -3) == "ies") { // eg. 'countries' to 'country'
return substr($word,0,-3)."y";
}
elseif (substr($word, -3, 1) == "x") {
return substr($word,0,-2);
}
elseif (substr($word, -3, 1) == "s") {
return substr($word,0,-2);
}
elseif (substr($word, -3, 1) == "z") {
return substr($word,0,-2);
}
elseif (substr($word, -4, 2) == "sh") {
return substr($word,0,-2);
}
elseif (substr($word, -4, 2) == "ch") {
return substr($word,0,-2);
}
else {
return rtrim($word, "s");
}
}
else {
return rtrim($word, "s");
}
} //method
} //class
}
/*