Added campaign option for Callbacks Display Days which can limit the scheduled callbacks displayed to an agent by a number of days from now
git-svn-id: svn://192.168.202.10@2744 3d104415-ff17-0410-8863-d5cf3c621b8a
This commit is contained in:
@@ -150,6 +150,9 @@ OTHER CHANGES:
|
||||
30. Added Inbound and Advanced Forecasting Reports. Both use the Erlang formulas
|
||||
and past data to forecast agent and call metrics.
|
||||
|
||||
31. Added campaign option for Callbacks Display Days which can limit the
|
||||
scheduled callbacks displayed to an agent by a number of days from now
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -981,7 +981,8 @@ manual_auto_show ENUM('Y','N') default 'N',
|
||||
allow_required_fields ENUM('Y','N') default 'N',
|
||||
dead_to_dispo ENUM('ENABLED','DISABLED') default 'DISABLED',
|
||||
agent_xfer_validation ENUM('N','Y') default 'N',
|
||||
ready_max_logout MEDIUMINT(7) default '0'
|
||||
ready_max_logout MEDIUMINT(7) default '0',
|
||||
callback_display_days SMALLINT(3) default '0'
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
CREATE TABLE vicidial_lists (
|
||||
@@ -3978,4 +3979,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='1502',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||
UPDATE system_settings SET db_schema_version='1503',db_schema_update_date=NOW(),reload_timestamp=NOW();
|
||||
|
||||
@@ -227,3 +227,7 @@ index(call_date)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1502',db_schema_update_date=NOW() where db_schema_version < 1502;
|
||||
|
||||
ALTER TABLE vicidial_campaigns ADD callback_display_days SMALLINT(3) default '0';
|
||||
|
||||
UPDATE system_settings SET db_schema_version='1503',db_schema_update_date=NOW() where db_schema_version < 1503;
|
||||
|
||||
@@ -427,10 +427,11 @@
|
||||
# 170309-1550 - Added campaign agent_xfer_validation option
|
||||
# 170327-1656 - Added USER_CUSTOM_ options to campaign custom callerID setting
|
||||
# 170401-1437 - Added translation of callbacks statuses, issue #1006
|
||||
# 170429-0835 - Added callback_display_days option
|
||||
#
|
||||
|
||||
$version = '2.14-321';
|
||||
$build = '170401-1437';
|
||||
$version = '2.14-322';
|
||||
$build = '170429-0835';
|
||||
$php_script = 'vdc_db_query.php';
|
||||
$mel=1; # Mysql Error Log enabled = 1
|
||||
$mysql_log_count=661;
|
||||
@@ -14861,7 +14862,8 @@ if ($ACTION == 'CALLSINQUEUEgrab')
|
||||
if ($ACTION == 'CalLBacKLisT')
|
||||
{
|
||||
$campaignCBhoursSQL = '';
|
||||
$stmt = "SELECT callback_hours_block,callback_list_calltime,local_call_time from vicidial_campaigns where campaign_id='$campaign';";
|
||||
$campaignCBdisplaydaysSQL = '';
|
||||
$stmt = "SELECT callback_hours_block,callback_list_calltime,local_call_time,callback_display_days from vicidial_campaigns where campaign_id='$campaign';";
|
||||
$rslt=mysql_to_mysqli($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00437',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
if ($rslt) {$camp_count = mysqli_num_rows($rslt);}
|
||||
@@ -14871,17 +14873,23 @@ if ($ACTION == 'CalLBacKLisT')
|
||||
$callback_hours_block = $row[0];
|
||||
$callback_list_calltime = $row[1];
|
||||
$local_call_time = $row[2];
|
||||
$callback_display_days = $row[3];
|
||||
if ($callback_hours_block > 0)
|
||||
{
|
||||
$x_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-$callback_hours_block,date("i"),date("s"),date("m"),date("d"),date("Y")));
|
||||
$campaignCBhoursSQL = "and entry_time < \"$x_hours_ago\"";
|
||||
}
|
||||
if ($callback_display_days > 0)
|
||||
{
|
||||
$x_days_from_now = date("Y-m-d H:i:s", mktime(0,0,0,date("m"),date("d")+$callback_display_days,date("Y")));
|
||||
$campaignCBdisplaydaysSQL = "and callback_time < \"$x_days_from_now\"";
|
||||
}
|
||||
}
|
||||
$campaignCBsql = '';
|
||||
if ($agentonly_callback_campaign_lock > 0)
|
||||
{$campaignCBsql = "and campaign_id='$campaign'";}
|
||||
|
||||
$stmt = "SELECT callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' $campaignCBsql $campaignCBhoursSQL and status NOT IN('INACTIVE','DEAD') order by callback_time;";
|
||||
$stmt = "SELECT callback_id,lead_id,campaign_id,status,entry_time,callback_time,comments from vicidial_callbacks where recipient='USERONLY' and user='$user' $campaignCBsql $campaignCBhoursSQL $campaignCBdisplaydaysSQL and status NOT IN('INACTIVE','DEAD') order by callback_time;";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rslt=mysql_to_mysqli($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00178',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
@@ -14965,32 +14973,39 @@ if ($ACTION == 'CalLBacKLisT')
|
||||
if ($ACTION == 'CalLBacKCounT')
|
||||
{
|
||||
$campaignCBhoursSQL = '';
|
||||
$stmt = "SELECT callback_hours_block from vicidial_campaigns where campaign_id='$campaign';";
|
||||
$campaignCBdisplaydaysSQL = '';
|
||||
$stmt = "SELECT callback_hours_block,callback_display_days from vicidial_campaigns where campaign_id='$campaign';";
|
||||
$rslt=mysql_to_mysqli($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00438',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
if ($rslt) {$camp_count = mysqli_num_rows($rslt);}
|
||||
if ($camp_count > 0)
|
||||
{
|
||||
$row=mysqli_fetch_row($rslt);
|
||||
$callback_hours_block = $row[0];
|
||||
$callback_hours_block = $row[0];
|
||||
$callback_display_days = $row[1];
|
||||
if ($callback_hours_block > 0)
|
||||
{
|
||||
$x_hours_ago = date("Y-m-d H:i:s", mktime(date("H")-$callback_hours_block,date("i"),date("s"),date("m"),date("d"),date("Y")));
|
||||
$campaignCBhoursSQL = "and entry_time < \"$x_hours_ago\"";
|
||||
}
|
||||
if ($callback_display_days > 0)
|
||||
{
|
||||
$x_days_from_now = date("Y-m-d H:i:s", mktime(0,0,0,date("m"),date("d")+$callback_display_days,date("Y")));
|
||||
$campaignCBdisplaydaysSQL = "and callback_time < \"$x_days_from_now\"";
|
||||
}
|
||||
}
|
||||
$campaignCBsql = '';
|
||||
if ($agentonly_callback_campaign_lock > 0)
|
||||
{$campaignCBsql = "and campaign_id='$campaign'";}
|
||||
|
||||
$stmt = "SELECT count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' $campaignCBsql $campaignCBhoursSQL and status NOT IN('INACTIVE','DEAD');";
|
||||
$stmt = "SELECT count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' $campaignCBsql $campaignCBhoursSQL $campaignCBdisplaydaysSQL and status NOT IN('INACTIVE','DEAD');";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rslt=mysql_to_mysqli($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00180',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
$row=mysqli_fetch_row($rslt);
|
||||
$cbcount=$row[0];
|
||||
|
||||
$stmt = "SELECT count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' $campaignCBsql $campaignCBhoursSQL and status IN('LIVE');";
|
||||
$stmt = "SELECT count(*) from vicidial_callbacks where recipient='USERONLY' and user='$user' $campaignCBsql $campaignCBhoursSQL $campaignCBdisplaydaysSQL and status IN('LIVE');";
|
||||
if ($DB) {echo "$stmt\n";}
|
||||
$rslt=mysql_to_mysqli($stmt, $link);
|
||||
if ($mel > 0) {mysql_error_logging($NOW_TIME,$link,$mel,$stmt,'00332',$user,$server_ip,$session_name,$one_mysql_log);}
|
||||
|
||||
+10
-3
@@ -550,10 +550,11 @@
|
||||
# 170409-1601 - Added IP List validation code
|
||||
# 170411-1158 - Added called_count as a webform variable
|
||||
# 170416-1640 - Added ready_max_logout option
|
||||
# 170429-0851 - Added callback_display_days option
|
||||
#
|
||||
|
||||
$version = '2.14-520c';
|
||||
$build = '170416-1640';
|
||||
$version = '2.14-521c';
|
||||
$build = '170429-0851';
|
||||
$mel=1; # Mysql Error Log enabled = 1
|
||||
$mysql_log_count=87;
|
||||
$one_mysql_log=0;
|
||||
@@ -1768,7 +1769,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,wrapup_bypass,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,manual_dial_search_filter,web_form_address_three,manual_dial_override_field,status_display_ingroup,customer_gone_seconds,agent_display_fields,manual_dial_timeout,manual_auto_next,manual_auto_show,allow_required_fields,dead_to_dispo,agent_xfer_validation,ready_max_logout 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,wrapup_after_hotkey,callback_active_limit,callback_active_limit_override,comments_all_tabs,comments_dispo_screen,comments_callback_screen,qc_comment_history,show_previous_callback,clear_script,manual_dial_search_filter,web_form_address_three,manual_dial_override_field,status_display_ingroup,customer_gone_seconds,agent_display_fields,manual_dial_timeout,manual_auto_next,manual_auto_show,allow_required_fields,dead_to_dispo,agent_xfer_validation,ready_max_logout,callback_display_days 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";}
|
||||
@@ -1911,6 +1912,7 @@ else
|
||||
$dead_to_dispo = $row[135];
|
||||
$agent_xfer_validation = $row[136];
|
||||
$ready_max_logout = $row[137];
|
||||
$callback_display_days = $row[138];
|
||||
|
||||
if ($VU_ready_max_logout >= 0)
|
||||
{$ready_max_logout = $VU_ready_max_logout;}
|
||||
@@ -3720,6 +3722,9 @@ $live_days=0;
|
||||
$limit_days=999;
|
||||
if ($callback_days_limit > 0)
|
||||
{$limit_days=$callback_days_limit;}
|
||||
$cb_display_days=999;
|
||||
if ($callback_display_days > 0)
|
||||
{$cb_display_days=$callback_display_days;}
|
||||
|
||||
$Cmonths = Array('0','January','February','March','April','May','June',
|
||||
'July','August','September','October','November','December');
|
||||
@@ -4341,6 +4346,7 @@ if ($enable_fast_refresh < 1) {echo "\tvar refresh_interval = 1000;\n";}
|
||||
var scheduled_callbacks_count='<?php echo $scheduled_callbacks_count ?>';
|
||||
var callback_days_limit='<?php echo $callback_days_limit ?>';
|
||||
var callback_active_limit='<?php echo $callback_active_limit ?>';
|
||||
var callback_display_days='<?php echo $cb_display_days ?>';
|
||||
var tmp_vicidial_id='';
|
||||
var agent_xfer_consultative='<?php echo $agent_xfer_consultative ?>';
|
||||
var agent_xfer_dial_override='<?php echo $agent_xfer_dial_override ?>';
|
||||
@@ -7026,6 +7032,7 @@ function set_length(SLnumber,SLlength_goal,SLdirection)
|
||||
if (xmlhttp)
|
||||
{
|
||||
var CBlist_query = "server_ip=" + server_ip + "&session_name=" + session_name + "&user=" + user + "&pass=" + pass + "&ACTION=CalLBacKLisT&campaign=" + campaign + "&format=text";
|
||||
// document.getElementById("debugbottomspan").innerHTML = "DEBUG OUTPUT: |" + CBlist_query + "|";
|
||||
xmlhttp.open('POST', 'vdc_db_query.php');
|
||||
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
|
||||
xmlhttp.send(CBlist_query);
|
||||
|
||||
+12
-5
File diff suppressed because one or more lines are too long
@@ -124,6 +124,7 @@
|
||||
# 170410-1329 - Added dl_minutes drop lists entry
|
||||
# 170416-1620 - Added servers-routing_prefix and user/campaign ready_max_logout entries
|
||||
# 170428-1959 - Added Inbound and Advanced Forecasting Reports
|
||||
# 170429-0810 - Added callback_display_days entry
|
||||
#
|
||||
|
||||
|
||||
@@ -1603,7 +1604,12 @@ if ($SSoutbound_autodial_active > 0)
|
||||
<BR>
|
||||
<A NAME="campaigns-callback_active_limit_override">
|
||||
<BR>
|
||||
<B><?php echo _QXZ("Scheduled Callbacks Active Limit Override-</B> Enabling this option will allow the Custom User 3 field to override the Scheduled Callbacks Active Limit. Default is N for disabled."); ?>
|
||||
<B><?php echo _QXZ("Scheduled Callbacks Active Limit Override"); ?> -</B><?php echo _QXZ("Enabling this option will allow the Custom User 3 field to override the Scheduled Callbacks Active Limit. Default is N for disabled."); ?>
|
||||
|
||||
<BR>
|
||||
<A NAME="campaigns-callback_display_days">
|
||||
<BR>
|
||||
<B><?php echo _QXZ("Scheduled Callbacks Display Days"); ?> -</B><?php echo _QXZ("Enabling this option will restrict the scheduled callbacks listings on the agent screen to showing only callbacks set to trigger a number of days from today. The -day- is a standard calendar day, so if this is set to 1, only the current callbacks for today until midnight will be displayed. Default is 0 for disabled."); ?>
|
||||
|
||||
<BR>
|
||||
<A NAME="campaigns-my_callback_option">
|
||||
|
||||
Reference in New Issue
Block a user