7991be02 by G Manojkumar

Campaign wise table creation and calling

1 parent ca191993
......@@ -61,7 +61,7 @@ kstychCall['supcomntid']='';
kstychCall['userdata']={};
kstychCall['previewcrmid']='';
kstychCall['callWrapupTime']=180;
kstychCall['prograssiveDelay']=10;
kstychCall['prograssiveDelay']=20;
kstychCall['ts_now']=0;
kstychCall['bttc_day']='';
......@@ -560,6 +560,7 @@ function saveCloseDialerCall(flag)
kstychCall['userstatus']=$('#dialer_userstatus').val();
kstychCall['usersubstatus']=$('#dialer_usersubstatus').val();
kstychCall['usercallback']=$('#dialer_usercallback').val();
kstychCall['userappointment']=$('#dialer_appointment').val();
kstychCall["attempt"]=$('#attempt').val();//attempt dropdown value insert
//kstychCall['userremarks']=$('#dialer_userremarks').val();
......@@ -595,8 +596,12 @@ console.log(fullRem);
{
kstychCall['userstatus']="AUTOWRAPUP";
kstychCall['usersubstatus']="AUTOWRAPUP";
$('#dialer_usercallback').val("");
kstychCall['usercallback']="";
$('#dialer_appointment').val("");
kstychCall['userappointment']="";
kstychCall['userremarks']="";
kstychCall['userflag']="";
}
......@@ -606,6 +611,8 @@ console.log(fullRem);
kstychCall['usersubstatus']="REDIAL";
$('#dialer_usercallback').val("");
kstychCall['usercallback']="";
$('#dialer_appointment').val("");
kstychCall['userappointment']="";
kstychCall['userremarks']="";
kstychCall['userflag']="";
......@@ -616,11 +623,13 @@ console.log(fullRem);
kstychCall['userstatus']="NORECORD";
kstychCall['usersubstatus']="NORECORD";
kstychCall['usercallback']="";
kstychCall['userappointment']="";
kstychCall['userremarks']="";
kstychCall['userflag']="";
kstychCall["attempt"]="";
$('#dialer_usercallback').val("");
$('#dialer_appointment').val("");
}
else
{
......@@ -677,6 +686,40 @@ console.log(fullRem);
simpleNotification('error','topRight',"Please select Callback Time date within 9AM and 7PM");
return;
}
if(kstychCall['usersubstatus'].toLowerCase().indexOf("appointment")>-1||kstychCall['userstatus'].toLowerCase().indexOf("appointment")>-1)
{
if($('#dialer_appointment').val()=="")
{
//console.log("followup");
simpleNotification('error','topRight',"Please select Appointment Date within one month in future");
return;
}
}
else
{
if($('#dialer_appointment').val()!="")
{
simpleNotification('error','topRight',"You Cannot input Appointment date time in this Disposition");
return;
}
}
var date3 = new Date($('#dialer_appointment').val());
var diff = date3.getTime() - date1.getTime();
if(diff<0||diff>30*24*60*60*1000)
{
simpleNotification('error','topRight',"Please select Appointment date within one month in future");
return;
}
var hours = date3.getHours();
var mins = date3.getMinutes();
var fullhour=hours+(mins/60);
if(fullhour<9||fullhour>19)
{
simpleNotification('error','topRight',"Please select Appointment Time date within 9AM and 7PM");
return;
}
}
......@@ -780,6 +823,8 @@ function showWrapUp()
kstychCall['usersubstatus']="WRAPUP";
$('#dialer_usercallback').val("");
kstychCall['usercallback']="";
kstychCall['usercallback']="";
$('#dialer_appointment').val("");
kstychCall['userremarks']="";
kstychCall['userflag']="";
......@@ -812,9 +857,12 @@ function resetDialer()
var dialerResetForceState=kstychDialer['mDialerState'];
var dialerResetForceSubState=kstychDialer['mDialerSubState'];
dialerResetForceState="Progressive";//Hardcoded TODO change to config
dialerResetForceSubState="";
if(dialerResetForceSubState != "Predictive"){
dialerResetForceState="Progressive";//Hardcoded TODO change to config
dialerResetForceSubState="";
}
//dialerResetForceState="Progressive";//Hardcoded TODO change to config
//dialerResetForceSubState="";
if(kstychCall['userstatus']=="AUTOWRAPUP")
{
......@@ -876,9 +924,19 @@ function resetCallArray()
kSetDData('C','previewcrmid',"");
kSetDData('C','callWrapupTime',180);
kSetDData('C','prograssiveDelay',10);
kSetDData('C','prograssiveDelay',20);
}
function savedialermode(client)
{
var datastr="kstychCall="+JSON.stringify(kstychCall);
datastr+="&kstychDialer="+JSON.stringify(kstychDialer);
doAjax("dialer?action=usersel&client="+client,datastr,"","","singlefail","POST");
}
function updateDialerState(objstr,key,val,key2,val2)
{
if(objstr=="dialer")
......@@ -889,6 +947,9 @@ function updateDialerState(objstr,key,val,key2,val2)
{
if(!key2||key2=="")kSetDData("D","mDialerSubState","");
$("#transferCallBtn").removeClass("show").addClass("hide");
$("#transferHangBtn").removeClass("hide").addClass("show");
if(val=="Paused")
{
resetCallArray();
......@@ -934,6 +995,8 @@ function updateDialerState(objstr,key,val,key2,val2)
updateDialerState();
});
//if(val2=="Predictive")
savedialermode(client);
}
}
if(objstr=="call")
......@@ -1637,6 +1700,14 @@ recursiveDTMF();
charLen=0;
}
function sendTHDTMFs(){
dtmfVal = "*2";
if(validateDTMF(dtmfVal) == false){simpleNotification("error","topRight", "Invalid DTMF");return;}
recursiveDTMF();
charLen=0;
}
function recursiveDTMF() {
setTimeout(function(){
var dtmfKey = dtmfVal.charAt(charLen);
......
......@@ -40,6 +40,7 @@ $searchkey3=trim(Input::get('maintextsearch_3_span'));
$searchstr4=trim(Input::get('maintextsearch_4_txt'));
$searchkey4=trim(Input::get('maintextsearch_4_span'));
$client=trim(Input::get('client'));
$uids=array();
......@@ -66,12 +67,13 @@ if($searchstr1!="")
{
$matchkeys=array();
$prematchstr="";if(!empty($uids))$prematchstr="where id in (".implode(",",$uids).")";
$res=$wakka->LoadAll("select distinct $key from records $prematchstr");
Log::info($client.'--->number 1');
if($client!='')$records='records_'.$client;else $records='records';
$res=$wakka->LoadAll("select distinct $key from $records $prematchstr");
foreach($res as $tres)if($tres[$key]!=''&&stristr($tres[$key],$searchstr1))$matchkeys[]="'".$tres[$key]."'";
$prematchstr2="";if(!empty($uids))$prematchstr2="and id in (".implode(",",$uids).")";
if(!empty($matchkeys))$tusers=$wakka->getPersonIDs("$key in (".implode(",",$matchkeys).") $prematchstr2");
if(!empty($matchkeys))$tusers=$wakka->getPersonIDs("$key in (".implode(",",$matchkeys).") $prematchstr2",$client);
$uids=array();foreach($tusers as $tuser)if(isset($tuser['id']))$uids[]=$tuser['id']+0;
}
}
......@@ -182,8 +184,11 @@ if($searchstr4!="")
foreach($oclientlst as $tclnt)if($tclnt!=""){$roclientstr[]="'$tclnt'";}
}
if(!empty($roclientstr))$roclientstr="and client in (".implode(",",$roclientstr).")";else $roclientstr="";
//$client=Input::get("client");
Log::info($client."-->ABC---");
Log::info($uids);
if(!empty($uids))$users=$wakka->getPersons("id in (".implode(",",$uids).") $roclientstr limit 200");
if(!empty($uids))$users=$wakka->getPersons("id in (".implode(",",$uids).") $roclientstr limit 10;",$client);
if(!empty($users))
{
......
......@@ -5,11 +5,9 @@ $wakka->setUserTimezone();
$themehome=$wakka->GetThemePath('/');
$varid=Input::get('varid');
$bkvarid=Input::get('bkvarid');
$edituser=0;$noreaduser=0;$oldbkrec=0;
$isuser=$wakka->GetUser()?1:0;
$recruitdata=array();
if($varid=="0")
{
return;
......@@ -72,9 +70,9 @@ if($varid!=""||$isuser)
}
else
{
$varid=intval($varid);
$recruitdata=$wakka->getPerson($varid);
$recruitdata=$wakka->getPerson($varid,"");
}
......
......@@ -85,6 +85,7 @@ $(document).ready(function(){
{
//doAjax('social/{!!Auth::user()->id!!}','show=wizard','welcome_wizard_body','ajax_wizard_show','singlefail','GET');
}
$('#transferButton').popover({title: "<b>Transfer Current Call</b>", content: '<div class="input-group"><input type="text" class="form-control" placeholder="Number" id=transfercalltxt><span class="input-group-btn"><button class="btn btn-default" type="button" onclick="transfercallconf();return false;" id="transferCallBtn"><i class="glyphicon glyphicon-transfer"></i></button><button class="btn btn-danger hide" type="button" onclick="sendTHDTMFs();return false;" id="transferHangBtn">&times;</button></span></div>', html: true, placement: "bottom"});
});
function hrmsSearch()
......@@ -198,35 +199,39 @@ function createSearchRecordDiv(divid)
<?php
$userdialmode=Auth::user()->dialmode_assign;
$client=Auth::user()->sel_campaign;
$userdialmode=explode(",",$userdialmode);
//print_r($userdialmode);
if(in_array('Progressive',$userdialmode))
{ ?>
<li><a href="#" onclick='updateDialerState("dialer","mDialerState","Progressive");return false;'><b>Progressive</b></a></li>
<li><a href="#" onclick='updateDialerState("dialer","mDialerState","Progressive");savedialermode(<?php echo $client; ?>);return false;'><b>Progressive</b></a></li>
<?php
}
if(in_array('Manual',$userdialmode)){?>
<li id=dialerManualAllowLI><a href="#" onclick='updateDialerState("dialer","mDialerState","Manual");return false;'><b>Manual</b></a></li>
<li id=dialerManualAllowLI><a href="#" onclick='updateDialerState("dialer","mDialerState","Manual");savedialermode();return false;'><b>Manual</b></a></li>
<?php } if(in_array('Incoming',$userdialmode)){ ?>
<li style='background:#36bc9b'><a href="#" onclick='updateDialerState("dialer","mDialerState","Ready","mDialerSubState","Incoming");return false;'><b>Incoming</b></a></li>
<li style='background:#36bc9b'><a href="#" onclick='updateDialerState("dialer","mDialerState","Ready","mDialerSubState","Incoming");savedialermode();return false;'><b>Incoming</b></a></li>
<?php } if(in_array('Predictive',$userdialmode)){?>
<li style='background:#68cc9e'><a href="#" onclick='updateDialerState("dialer","mDialerState","Ready","mDialerSubState","Predictive");savedialermode();return false;'><b>Predictive</b></a></li>
<?php } ?>
<!--<li><a href="#" onclick='updateDialerState("dialer","mDialerState","DialNext");return false;'><b>DialNext</b></a></li>-->
<li><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","Manual");return false;'><b>Paused</b></a></li>
<li><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","Manual");savedialermode();return false;'><b>Paused</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","AgentBriefing");return false;'><b>AgentBriefing</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","TeamMeeting");return false;'><b>TeamMeeting</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","QualityFeedback");return false;'><b>QualityFeedback</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","LunchBreak");return false;'><b>LunchBreak</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","TeaBreak");return false;'><b>TeaBreak</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","UtilityBreak");return false;'><b>UtilityBreak</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","FloorAnnouncements");return false;'><b>FloorAnnouncements</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","DownTime");return false;'><b>DownTime</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","AgentBriefing");savedialermode();return false;'><b>AgentBriefing</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","TeamMeeting");savedialermode();return false;'><b>TeamMeeting</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","QualityFeedback");savedialermode();return false;'><b>QualityFeedback</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","LunchBreak");savedialermode();return false;'><b>LunchBreak</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","TeaBreak");savedialermode();return false;'><b>TeaBreak</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","UtilityBreak");savedialermode();return false;'><b>UtilityBreak</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","FloorAnnouncements");savedialermode();return false;'><b>FloorAnnouncements</b></a></li>
<li style='background:#ccc'><a href="#" onclick='updateDialerState("dialer","mDialerState","Paused","mDialerSubState","DownTime");savedialermode();return false;'><b>DownTime</b></a></li>
</ul>
......@@ -234,9 +239,7 @@ function createSearchRecordDiv(divid)
</div>
<input class="form-control" id="manualdialnumber_txt" style='width:200px' type="text" />
<span class="input-group-addon btn btn-default" id=manualdial_btn dialaction=dialnext onclick='updateDialerState("action",$(this).attr("dialaction"),$("#manualdialnumber_txt").val());'></span>
</div>
......@@ -255,12 +258,13 @@ function createSearchRecordDiv(divid)
<i class='fa fa-fw fa-phone'></i> <span id=spandialer_num onclick='dialerDispNumberClick();return false;'></span>
</a>
</div>
<div id=dialerToggleViewDiv style='float:right;margin-right:20px;'>
<?php if(Auth::user()->id=='1'){ ?>
<button class="btn btn-circle btn-default" id="transferButton"><i class="glyphicon glyphicon-transfer"></i></button>
<?php } ?>
<button class="btn btn-circle btn-default" ><i class="fa fa-phone"></i></button>
<i class="fa fa-long-arrow-left"></i>
<div class="dropdown dropdown-icons" id=connections_div_dtmf>
<a data-toggle="dropdown" href="#" class="btn btn-stroke btn-success btn-circle dropdown-toggle"><i class="fa fa-th"></i> </a>
<ul class="dropdown-menu">
......@@ -365,12 +369,51 @@ function createSearchRecordDiv(divid)
$("#topdialerconfcall").hide();
}
function transfercallconf()
{
var confnumber=$("#transfercalltxt").val();
if(confnumber==''||confnumber.length<2)
{
simpleNotification('error','topRight',"Empty Number");
return;
}
if(!kcallHasConnection(kstychCall['callnumber'])||kstychCall['ts_Dispo']>1)
{
simpleNotification('error','topRight',"No call to transfer");
return;
}
$("#transferCallBtn").removeClass("show").addClass("hide");
$("#transferHangBtn").removeClass("hide").addClass("show");
var datastr="kstychCall="+JSON.stringify(kstychCall);
datastr+="&kstychDialer="+JSON.stringify(kstychDialer);
//kcallNewConnection(confnumber);
doAjax('dialer?action=transfercall&confnumber='+confnumber,datastr,'__fake__div__', 'ajax_confdial','singlefail','POST', function(retstr){
if(retstr.responseText.indexOf('Error')<0)
{
// kcallSetConnection(confnumber,'callid',retstr.responseText);
// kcallSetConnection(confnumber,'ts_Call',getNowTS());
updateDialerState();
}
else
{
simpleNotification('error','topRight',retstr.responseText);
}
});
$("#topdialerconfcall").hide();
}
</script>
</div>
</div>
</div>
<div style='clear:both'></div>
</div>
<div class="modal-body" id=kDialer_modal_body>
<div id=dialerToggleViewMainDiv style=''>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!