diff --git a/app/calls/call_edit.php b/app/calls/call_edit.php index 72e462acb6..0d864908d3 100644 --- a/app/calls/call_edit.php +++ b/app/calls/call_edit.php @@ -511,11 +511,11 @@ echo " ".$text['label-call_forward']."\n"; echo "\n"; echo "\n"; - $on_click = "document.getElementById('follow_me_disabled').checked=true; "; $on_click .= "$('#tr_follow_me_settings').slideUp('fast'); "; $on_click .= "document.getElementById('dnd_disabled').checked=true; "; $on_click .= "document.getElementById('forward_all_destination').focus(); "; - echo " \n"; + $on_click2 .= "(document.getElementById('follow_me_enabled').checked) ? $('#tr_follow_me_settings').slideDown('fast') : '' "; + echo " \n"; echo " \n"; unset($on_click); echo "   "; @@ -587,7 +587,7 @@ echo "\n"; echo "\n"; - if ($follow_me_enabled == "true") { $style = ''; } else { $style = 'display: none;'; } + if ($follow_me_enabled == "true" && $dnd_enabled != "true" && $forward_all_enabled != "true") { $style = ''; } else { $style = 'display: none;'; } echo "
\n"; echo "\n"; @@ -685,9 +685,9 @@ echo "\n"; echo "\n"; diff --git a/app/scripts/resources/scripts/app/xml_handler/resources/scripts/directory/directory.lua b/app/scripts/resources/scripts/app/xml_handler/resources/scripts/directory/directory.lua index a050cbc81c..c53ebb29c8 100644 --- a/app/scripts/resources/scripts/app/xml_handler/resources/scripts/directory/directory.lua +++ b/app/scripts/resources/scripts/app/xml_handler/resources/scripts/directory/directory.lua @@ -29,7 +29,7 @@ -- Luis Daniel Lucio Quiroz --set the default - continue = true; +continue = true; --get the action action = params:getHeader("action"); @@ -358,8 +358,11 @@ -- get the follow me information if (row.follow_me_uuid ~= nil and string.len(row.follow_me_uuid) > 0) then follow_me_uuid = row.follow_me_uuid; - follow_me_enabled = row.follow_me_enabled; - --follow_me_destinations= row.follow_me_destinations; + if (do_not_disturb == "true" or forward_all_enabled == "true") then + follow_me_enabled = "false"; + else + follow_me_enabled = row.follow_me_enabled; + end end -- check matching UserID and AuthName diff --git a/app/scripts/resources/scripts/call_forward.lua b/app/scripts/resources/scripts/call_forward.lua index ceed101ea1..25e2b8f7c0 100644 --- a/app/scripts/resources/scripts/call_forward.lua +++ b/app/scripts/resources/scripts/call_forward.lua @@ -145,7 +145,6 @@ local accountcode = row.accountcode; local forward_all_enabled = row.forward_all_enabled; local last_forward_all_destination = row.forward_all_destination; - local follow_me_uuid = row.follow_me_uuid; local toll_allow = row.toll_allow or ''; --toggle enabled @@ -212,19 +211,6 @@ session:streamFile(sounds_dir.."/"..default_language.."/"..default_dialect.."/"..default_voice.."/ivr/ivr-call_forwarding_has_been_cancelled.wav"); end ---disable the follow me - if enabled == "true" and not empty(follow_me_uuid) then - local sql = "update v_follow_me set "; - sql = sql .. "follow_me_enabled = 'false' "; - sql = sql .. "where domain_uuid = :domain_uuid "; - sql = sql .. "and follow_me_uuid = :follow_me_uuid "; - local params = {domain_uuid = domain_uuid, follow_me_uuid = follow_me_uuid}; - if (debug["sql"]) then - log.noticef("SQL: %s; params: %s", sql, json.encode(params)); - end - dbh:query(sql, params); - end - --check the destination if empty(forward_all_destination) then enabled = "false"; diff --git a/app/scripts/resources/scripts/do_not_disturb.lua b/app/scripts/resources/scripts/do_not_disturb.lua index 398e2cc076..cc5b813708 100644 --- a/app/scripts/resources/scripts/do_not_disturb.lua +++ b/app/scripts/resources/scripts/do_not_disturb.lua @@ -100,7 +100,6 @@ extension = row.extension; number_alias = row.number_alias or ''; accountcode = row.accountcode; - follow_me_uuid = row.follow_me_uuid or nil; do_not_disturb = row.do_not_disturb; forward_all_destination = row.forward_all_destination; forward_all_enabled = row.forward_all_enabled; @@ -111,7 +110,6 @@ if (session:ready()) then freeswitch.consoleLog("NOTICE", "[do_not_disturb] do_not_disturb "..do_not_disturb.."\n"); freeswitch.consoleLog("NOTICE", "[do_not_disturb] extension "..extension.."\n"); - freeswitch.consoleLog("NOTICE", "[do_not_disturb] follow_me_uuid "..follow_me_uuid.."\n"); freeswitch.consoleLog("NOTICE", "[do_not_disturb] accountcode "..accountcode.."\n"); --freeswitch.consoleLog("NOTICE", "[do_not_disturb] enabled before "..enabled.."\n"); end @@ -155,23 +153,9 @@ end end ---update follow me - if (follow_me_uuid ~= nil and enabled == 'true') then - local sql = "update v_follow_me "; - sql = sql .. "set follow_me_enabled = 'false' "; - sql = sql .. "where domain_uuid = :domain_uuid "; - sql = sql .. "and follow_me_uuid = :follow_me_uuid "; - local params = {domain_uuid = domain_uuid, follow_me_uuid = follow_me_uuid}; - if (debug["sql"]) then - freeswitch.consoleLog("notice", "[do_not_disturb] "..sql.."; params:" .. json.encode(params) .. "\n"); - end - dbh:query(sql, params); - end - --update the extension sql = "update v_extensions set "; if (enabled == "true") then - sql = sql .. "follow_me_enabled = 'false', "; sql = sql .. "do_not_disturb = 'true', "; sql = sql .. "forward_all_enabled = 'false' "; else @@ -185,7 +169,7 @@ end dbh:query(sql, params); ---determine whether to update the dial string +--update the user and agent status sql = "select * from v_extension_users as e, v_users as u "; sql = sql .. "where e.extension_uuid = :extension_uuid "; sql = sql .. "and e.user_uuid = u.user_uuid "; @@ -201,7 +185,6 @@ api:execute("callcenter_config", "agent set status "..row.username.."@"..domain_name.." '"..user_status.."'"); end - --update the database user_status if (enabled == "true") then user_status = "Do Not Disturb"; else
\n"; $on_click = "document.getElementById('forward_all_disabled').checked=true;"; - $on_click .= "document.getElementById('follow_me_disabled').checked=true;"; $on_click .= "$('#tr_follow_me_settings').slideUp('fast'); "; - echo " \n"; + $on_click2 .= "(document.getElementById('follow_me_enabled').checked) ? $('#tr_follow_me_settings').slideDown('fast') : '' "; + echo " \n"; echo " \n"; echo "
\n"; echo "