Added Wrapup Bypass option to allow or disallow agents to skip the wrapup screen before the timer is finished. Also added the option to use a system Script as the Wrap Up Message

git-svn-id: svn://192.168.202.10@2137 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
mattf
2014-06-24 02:46:36 +00:00
parent aa8ff123e5
commit e72747cbb5
9 changed files with 90 additions and 31 deletions
+4
View File
@@ -66,6 +66,10 @@ OTHER CHANGES:
before the stardard filtering process. The call can be redirected to a
specific DID entry if there is a match.
5. Added Wrapup Bypass option to allow or disallow agents to skip the wrapup
screen before the timer is finished. Also added the option to use a
system Script as the Wrap Up Message
+3 -2
View File
@@ -904,7 +904,8 @@ pause_max SMALLINT(5) UNSIGNED default '0',
max_inbound_calls SMALLINT(5) UNSIGNED default '0',
manual_dial_search_checkbox ENUM('SELECTED','SELECTED_RESET','UNSELECTED','UNSELECTED_RESET') default 'SELECTED',
hide_call_log_info ENUM('Y','N') default 'N',
timer_alt_seconds SMALLINT(5) default '0'
timer_alt_seconds SMALLINT(5) default '0',
wrapup_bypass ENUM('DISABLED','ENABLED') default 'ENABLED'
) ENGINE=MyISAM;
CREATE TABLE vicidial_lists (
@@ -3274,4 +3275,4 @@ UPDATE vicidial_configuration set value='1766' where name='qc_database_version';
UPDATE system_settings set vdc_agent_api_active='1';
UPDATE system_settings SET db_schema_version='1382',db_schema_update_date=NOW(),reload_timestamp=NOW();
UPDATE system_settings SET db_schema_version='1383',db_schema_update_date=NOW(),reload_timestamp=NOW();
+4
View File
@@ -13,3 +13,7 @@ ALTER TABLE vicidial_inbound_dids ADD pre_filter_phone_group_id VARCHAR(20) defa
ALTER TABLE vicidial_inbound_dids ADD pre_filter_extension VARCHAR(50) default '';
UPDATE system_settings SET db_schema_version='1382',db_schema_update_date=NOW() where db_schema_version < 1382;
ALTER TABLE vicidial_campaigns ADD wrapup_bypass ENUM('DISABLED','ENABLED') default 'ENABLED';
UPDATE system_settings SET db_schema_version='1383',db_schema_update_date=NOW() where db_schema_version < 1383;
@@ -17,6 +17,8 @@ Pre-Filter Phone Group ID||
This option allows you to filter calls through a Filter Phone Group before going through the standard filtering process below. If a match is found then the call is redirected to the Pre-Filter Phone Group DID as defined below. Default is blank for disabled||
Pre-Filter Phone Group DID||
For the Pre-Filter Phone Group ID feature above to work properly, a DID Pattern must be set in this field. Default is blank for disabled. It is recommended that you confirm the DID you enter here is properly set in the system before assigning it||
If set to ENABLED then the agent will be able to click a link to stop the Wrap Up timer before the time is completed. Default is ENABLED||
You can use a Script in the system if you use the script id with WUSCRIPT in front of it, so if you wanted to use a script called agent_script, then you would put WUSCRIPTagent_script in this field||
########################## CHANGES TO EXISTING PHRASES IN ADMIN TRANSLATION
+5 -1
View File
@@ -1515,7 +1515,7 @@ if ($ACTION == 'update_settings')
##### grab the data from vicidial_users for the user
$stmt="SELECT wrapup_seconds,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,dial_timeout FROM vicidial_campaigns where campaign_id='$campaign' LIMIT 1;";
$stmt="SELECT wrapup_seconds,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,dial_timeout,wrapup_bypass,wrapup_message FROM vicidial_campaigns where campaign_id='$campaign' LIMIT 1;";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00594',$user,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -1530,6 +1530,8 @@ if ($ACTION == 'update_settings')
$dead_max_dispo = trim("$row[4]");
$dispo_max_dispo = trim("$row[5]");
$dial_timeout = trim("$row[6]");
$wrapup_bypass = trim("$row[7]");
$wrapup_message = trim("$row[8]");
}
if ($wrapup_seconds_override >= 0)
@@ -1547,6 +1549,8 @@ if ($ACTION == 'update_settings')
$SettingS_InfO .= "dead_max_dispo: " . $dead_max_dispo . "\n";
$SettingS_InfO .= "dispo_max_dispo: " . $dispo_max_dispo . "\n";
$SettingS_InfO .= "dial_timeout: " . $dial_timeout . "\n";
$SettingS_InfO .= "wrapup_bypass: " . $wrapup_bypass . "\n";
$SettingS_InfO .= "wrapup_message: " . $wrapup_message . "\n";
$SettingS_InfO .= "\n";
}
echo $SettingS_InfO;
+8 -2
View File
@@ -23,10 +23,11 @@
# 130705-1513 - Added optional encrypted passwords compatibility
# 130802-1035 - Changed to PHP mysqli functions
# 140429-2034 - Added TABLEper_call_notes display script variable
# 140623-2114 - Added script_override variable
#
$version = '2.8-17';
$build = '140429-2034';
$version = '2.10-18';
$build = '140623-2114';
require_once("dbconnect_mysqli.php");
require_once("functions.php");
@@ -204,6 +205,8 @@ if (isset($_GET["orig_pass"])) {$orig_pass=$_GET["orig_pass"];}
elseif (isset($_POST["orig_pass"])) {$orig_pass=$_POST["orig_pass"];}
if (isset($_GET["called_count"])) {$called_count=$_GET["called_count"];}
elseif (isset($_POST["called_count"])) {$called_count=$_POST["called_count"];}
if (isset($_GET["script_override"])) {$script_override=$_GET["script_override"];}
elseif (isset($_POST["script_override"])) {$script_override=$_POST["script_override"];}
header ("Content-type: text/html; charset=utf-8");
@@ -317,6 +320,9 @@ $row=mysqli_fetch_row($rslt);
$list_name = $row[0];
$list_description = $row[1];
if (strlen($script_override)>1)
{$call_script = $script_override;}
$stmt="SELECT script_name,script_text from vicidial_scripts where script_id='$call_script';";
$rslt=mysql_to_mysqli($stmt, $link);
$row=mysqli_fetch_row($rslt);
+45 -20
View File
@@ -435,10 +435,11 @@
# 140617-1041 - Fixed issue with non-latin, issue #773
# 140617-2015 - Added vicidial_users wrapup_seconds_override option
# 140621-1557 - Added update_settings call to grab selected user and campaign settings more frequently
# 140623-1710 - Added wrapup_bypass setting
#
$version = '2.10-405c';
$build = '140621-1557';
$version = '2.10-406c';
$build = '140623-1710';
$mel=1; # Mysql Error Log enabled = 1
$mysql_log_count=80;
$one_mysql_log=0;
@@ -1450,7 +1451,7 @@ else
$HKstatusnames = substr("$HKstatusnames", 0, -1);
##### grab the campaign settings
$stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,manual_preview_dial,api_manual_dial,manual_dial_call_time_check,my_callback_option,per_call_notes,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_pause_precall_code,auto_resume_precall,manual_dial_cid,custom_3way_button_transfer,callback_days_limit,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,pllb_grouping,pllb_grouping_limit,in_group_dial,in_group_dial_select,pause_after_next_call,owner_populate,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds FROM vicidial_campaigns where campaign_id = '$VD_campaign';";
$stmt="SELECT park_ext,park_file_name,web_form_address,allow_closers,auto_dial_level,dial_timeout,dial_prefix,campaign_cid,campaign_vdad_exten,campaign_rec_exten,campaign_recording,campaign_rec_filename,campaign_script,get_call_launch,am_message_exten,xferconf_a_dtmf,xferconf_a_number,xferconf_b_dtmf,xferconf_b_number,alt_number_dialing,scheduled_callbacks,wrapup_seconds,wrapup_message,closer_campaigns,use_internal_dnc,allcalls_delay,omit_phone_code,agent_pause_codes_active,no_hopper_leads_logins,campaign_allow_inbound,manual_dial_list_id,default_xfer_group,xfer_groups,disable_alter_custphone,display_queue_count,manual_dial_filter,agent_clipboard_copy,use_campaign_dnc,three_way_call_cid,dial_method,three_way_dial_prefix,web_form_target,vtiger_screen_login,agent_allow_group_alias,default_group_alias,quick_transfer_button,prepopulate_transfer_preset,view_calls_in_queue,view_calls_in_queue_launch,call_requeue_button,pause_after_each_call,no_hopper_dialing,agent_dial_owner_only,agent_display_dialable_leads,web_form_address_two,agent_select_territories,crm_popup_login,crm_login_address,timer_action,timer_action_message,timer_action_seconds,start_call_url,dispo_call_url,xferconf_c_number,xferconf_d_number,xferconf_e_number,use_custom_cid,scheduled_callbacks_alert,scheduled_callbacks_count,manual_dial_override,blind_monitor_warning,blind_monitor_message,blind_monitor_filename,timer_action_destination,enable_xfer_presets,hide_xfer_number_to_dial,manual_dial_prefix,customer_3way_hangup_logging,customer_3way_hangup_seconds,customer_3way_hangup_action,ivr_park_call,manual_preview_dial,api_manual_dial,manual_dial_call_time_check,my_callback_option,per_call_notes,agent_lead_search,agent_lead_search_method,queuemetrics_phone_environment,auto_pause_precall,auto_pause_precall_code,auto_resume_precall,manual_dial_cid,custom_3way_button_transfer,callback_days_limit,disable_dispo_screen,disable_dispo_status,screen_labels,status_display_fields,pllb_grouping,pllb_grouping_limit,in_group_dial,in_group_dial_select,pause_after_next_call,owner_populate,manual_dial_lead_id,dead_max,dispo_max,pause_max,dead_max_dispo,dispo_max_dispo,max_inbound_calls,manual_dial_search_checkbox,hide_call_log_info,timer_alt_seconds,wrapup_bypass FROM vicidial_campaigns where campaign_id = '$VD_campaign';";
$rslt=mysql_to_mysqli($stmt, $link);
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'01013',$VD_login,$server_ip,$session_name,$one_mysql_log);}
if ($DB) {echo "$stmt\n";}
@@ -1570,6 +1571,7 @@ else
$manual_dial_search_checkbox = $row[112];
$hide_call_log_info = $row[113];
$timer_alt_seconds = $row[114];
$wrapup_bypass = $row[115];
if ($VU_wrapup_seconds_override >= 0)
{$wrapup_seconds = $VU_wrapup_seconds_override;}
@@ -3627,6 +3629,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
var wrapup_message = '<?php echo $wrapup_message ?>';
var wrapup_counter = 0;
var wrapup_waiting = 0;
var wrapup_bypass = '<?php echo $wrapup_bypass ?>';
var use_internal_dnc = '<?php echo $use_internal_dnc ?>';
var use_campaign_dnc = '<?php echo $use_campaign_dnc ?>';
var three_way_call_cid = '<?php echo $three_way_call_cid ?>';
@@ -6757,7 +6760,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
}
else
{
load_script_contents();
load_script_contents('ScriptContents','');
}
}
@@ -6769,7 +6772,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{
if (delayed_script_load == 'YES')
{
load_script_contents();
load_script_contents('ScriptContents','');
}
ScriptPanelToFront();
}
@@ -7803,7 +7806,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
}
else
{
load_script_contents();
load_script_contents('ScriptContents','');
}
}
@@ -7821,7 +7824,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{
if (delayed_script_load == 'YES')
{
load_script_contents();
load_script_contents('ScriptContents','');
}
ScriptPanelToFront();
}
@@ -7844,7 +7847,6 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{
window.open(TEMP_VDIC_web_form_address_two, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450');
}
}
else
{
@@ -8182,7 +8184,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
}
else
{
load_script_contents();
load_script_contents('ScriptContents','');
}
}
@@ -8200,7 +8202,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{
if (delayed_script_load == 'YES')
{
load_script_contents();
load_script_contents('ScriptContents','');
}
ScriptPanelToFront();
}
@@ -8399,7 +8401,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
// ################################################################################
// pull the script contents sending the webform variables to the script display script
function load_script_contents()
function load_script_contents(script_span,script_override)
{
var new_script_content = null;
var xmlhttp=false;
@@ -8423,16 +8425,16 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
}
if (xmlhttp)
{
NeWscript_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&called_count=" + document.vicidial_form.called_count.value + "&ScrollDIV=1&" + web_form_vars;
NeWscript_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&called_count=" + document.vicidial_form.called_count.value + "&script_override=" + script_override + "&ScrollDIV=1&" + web_form_vars;
xmlhttp.open('POST', 'vdc_script_display.php');
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
xmlhttp.send(NeWscript_query);
xmlhttp.send(NeWscript_query);
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
new_script_content = xmlhttp.responseText;
document.getElementById("ScriptContents").innerHTML = new_script_content;
document.getElementById(script_span).innerHTML = new_script_content;
}
}
delete xmlhttp;
@@ -8963,7 +8965,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
}
else
{
load_script_contents();
load_script_contents('ScriptContents','');
}
}
@@ -8980,7 +8982,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{
if (delayed_script_load == 'YES')
{
load_script_contents();
load_script_contents('ScriptContents','');
}
ScriptPanelToFront();
}
@@ -9501,7 +9503,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
}
else
{
load_script_contents();
load_script_contents('ScriptContents','');
}
}
@@ -9518,7 +9520,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
{
if (delayed_script_load == 'YES')
{
load_script_contents();
load_script_contents('ScriptContents','');
}
ScriptPanelToFront();
}
@@ -9583,7 +9585,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
document.getElementById("ScriptContents").innerHTML = '';
WebFormRefresH('','','1');
WebFormTwoRefresH('','','1');
load_script_contents();
load_script_contents('ScriptContents','');
}
}
@@ -11068,6 +11070,29 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
dispo_max_dispo=dispo_max_dispo_array[1];
var dial_timeout_array=settings_array[8].split("dial_timeout: ");
dial_timeout=dial_timeout_array[1];
var wrapup_bypass_array=settings_array[9].split("wrapup_bypass: ");
wrapup_bypass=wrapup_bypass_array[1];
var wrapup_message_array=settings_array[10].split("wrapup_message: ");
wrapup_message=wrapup_message_array[1];
if (wrapup_seconds > 0)
{
if (wrapup_bypass=='ENABLED')
{document.getElementById("WrapupBypass").innerHTML = "<a href=\"#\" onclick=\"WrapupFinish();return false;\">Finish Wrapup and Move On</a>";}
else
{document.getElementById("WrapupBypass").innerHTML = '';}
var regWMS = new RegExp("WUSCRIPT","g");
if (wrapup_message.match(regWMS))
{
var wrapup_message_script = wrapup_message.replace(regWMS, '');
load_script_contents('WrapupMessage',wrapup_message_script)
}
else
{
document.getElementById("WrapupMessage").innerHTML = wrapup_message;
}
}
}
}
// alert(VUVCsettings_query);
@@ -15538,7 +15563,7 @@ class="cust_form_text" value=""></TEXTAREA><input type="hidden" class="cust_form
<table border="1" bgcolor="#CCFFCC" width="<?php echo $CAwidth ?>px" height="<?php echo $WRheight ?>px"><tr><td align="center"> Call Wrapup: <span id="WrapupTimer"></span> seconds remaining in wrapup<br /><br />
<span id="WrapupMessage"><?php echo $wrapup_message ?></span>
<br /><br />
<a href="#" onclick="WrapupFinish();return false;">Finish Wrapup and Move On</a>
<span id="WrapupBypass"><a href="#" onclick="WrapupFinish();return false;">Finish Wrapup and Move On</a></span>
</td></tr></table>
</span>
+12 -5
View File
File diff suppressed because one or more lines are too long
+7 -1
View File
@@ -19,6 +19,7 @@
# 140521-2020 - Changed alt_number_dialing and added timer_alt_seconds
# 140617-2021 - Added vicidial_users wrapup_seconds_override option
# 140621-2151 - Added inbound did new filtering options
# 140623-2220 - Added wrapup_bypass and wrapup_message change to allow script use
#
@@ -1345,7 +1346,12 @@ if ($SSoutbound_autodial_active > 0)
<BR>
<A NAME="campaigns-wrapup_message">
<BR>
<B>Wrap Up Message -</B> This is a campaign-specific message to be displayed on the wrap up screen if wrap up seconds is set.
<B>Wrap Up Message -</B> This is a campaign-specific message to be displayed on the wrap up screen if wrap up seconds is set. You can use a Script in the system if you use the script id with WUSCRIPT in front of it, so if you wanted to use a script called agent_script, then you would put WUSCRIPTagent_script in this field.
<BR>
<A NAME="campaigns-wrapup_bypass">
<BR>
<B>Wrap Up Bypass -</B> If set to ENABLED then the agent will be able to click a link to stop the Wrap Up timer before the time is completed. Default is ENABLED.
<BR>
<A NAME="campaigns-disable_dispo_screen">