diff --git a/app/destinations/destination_delete.php b/app/destinations/destination_delete.php index 1088e57583..71731436d7 100644 --- a/app/destinations/destination_delete.php +++ b/app/destinations/destination_delete.php @@ -49,6 +49,11 @@ else { exit; } +//add the dialplan permission + $permission = "dialplan_delete"; + $p = new permissions; + $p->add($permission, 'temp'); + //get the dialplan_uuid $orm = new orm; $orm->name('destinations'); @@ -63,6 +68,9 @@ else { } unset ($prep_statement); +//remove the temporary permission + $p->delete($permission, 'temp'); + //start the atomic transaction $db->beginTransaction(); diff --git a/app/destinations/destination_edit.php b/app/destinations/destination_edit.php index 66f8a36f74..d539666232 100644 --- a/app/destinations/destination_edit.php +++ b/app/destinations/destination_edit.php @@ -374,6 +374,11 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { unset($sql); } + //add the dialplan permission + $permission = "dialplan_delete"; + $p = new permissions; + $p->add($permission, 'temp'); + //save the dialplan $orm = new orm; $orm->name('dialplans'); @@ -383,6 +388,9 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { $orm->save($dialplan); $dialplan_response = $orm->message; + //remove the temporary permission + $p->delete($permission, 'temp'); + //synchronize the xml config save_dialplan_xml(); diff --git a/app/time_conditions/time_condition_delete.php b/app/time_conditions/time_condition_delete.php index 9aacd039b1..89982b052d 100644 --- a/app/time_conditions/time_condition_delete.php +++ b/app/time_conditions/time_condition_delete.php @@ -68,7 +68,6 @@ else { //delete dialplan and details $dialplans_deleted = 0; foreach ($dialplan_uuids as $dialplan_uuid) { - //delete child data $sql = "delete from v_dialplan_details "; $sql .= "where dialplan_uuid = '".$dialplan_uuid."' "; diff --git a/app/time_conditions/time_condition_edit.php b/app/time_conditions/time_condition_edit.php index 4dd898f8a3..c23cc4264d 100644 --- a/app/time_conditions/time_condition_edit.php +++ b/app/time_conditions/time_condition_edit.php @@ -92,11 +92,9 @@ require_once "resources/header.php"; $dialplan_name = str_replace(' ', '_', $dialplan_name); $dialplan_name = str_replace('/', '', $dialplan_name); - //start the atomic transaction $count = $db->exec("BEGIN;"); //returns affected rows - //process main dialplan entry if ($action == "add") { @@ -453,6 +451,11 @@ require_once "resources/header.php"; //get existing data to pre-populate form if ($dialplan_uuid != '' && $_POST["persistformvar"] != "true") { + //add the dialplan permission + $permission = "dialplan_edit"; + $p = new permissions; + $p->add($permission, 'temp'); + //get main dialplan entry $orm = new orm; $orm->name('dialplans'); @@ -472,6 +475,9 @@ require_once "resources/header.php"; } unset ($prep_statement); + //remove the temporary permission + $p->delete($permission, 'temp'); + //get dialplan detail conditions $sql = "select dialplan_detail_group, dialplan_detail_tag, dialplan_detail_type, dialplan_detail_data from v_dialplan_details "; $sql .= "where dialplan_uuid = '".$dialplan_uuid."' ";