d63f82f3 by Nitesh

Agent mapping and filters

1 parent 168cd55d
<?php namespace App\Http\Controllers;
use DB;
use Auth;
use Input;
use App\Models\Campaign;
use App\Services\FormBuilder;
use Illuminate\Http\Request;
use Response;
use App\Models\User;
class CampaignController extends Controller {
public function __construct()
{
$this->middleware('auth');
$this->middleware('module_access');
}
public function index()
{
$data['campaignList'] = Campaign::where('mtype',"=","company")->orderBy('mkey')->get();
$dashboarduser=Auth::user();
if($dashboarduser->usertype != 'Admin'){
$allusers=User::where(function ($query) use($dashboarduser) {
$query->where('supervisor','=',$dashboarduser->username)
->orWhere('lteam2','=',$dashboarduser->username)
->orWhere('lteam','=',$dashboarduser->username);
})->get();
}
else
{
$allusers=DB::table('users')->select('*')->where('status','=','Active')->get();
}
foreach($allusers as $alluser)
{
$username[] = $alluser->username;
}
//$data['client'] = $client;
if(isset($username))$data['username'] = $username;
return view("layout.module.campaign.index",$data);
}
public function create()
{
}
public function store(Request $request)
{
$action = Input::get("action");
// if($action=="createCampaign")
// {
// $this->validate($request,[
// 'campaignName' => 'required|alpha_dash',
// ]);
// $campaignName = Input::get("campaignName");
// if($campaignName != ""){
// Campaign::insert(["mkey"=>$campaignName,"mtype"=>"company"]);
// $data['campaignDetails'] = Campaign::where("mtype","=","company")->where("mkey","=",$campaignName)->first();
// return view("layout.module.campaign.campaign",$data);
// }else{
// return "<script>simpleNotification('error','topRight','Campaign name should not be blank.');</script><br/><p class='text-danger text-center'>Campaign name should not be blank.</p>";
// }
// }
// if($action=="buildForm")
// {
// $rawData = Input::get("rawData");
// $fb = new FormBuilder();
// $output = $fb->buildForm($rawData);
// return $output;
// }
// if($action=="dataUpload")
// {
// return view("layout.module.campaign.campaignTabData");
// }
}
public function show($id)
{
if($id=="show")
{
$campaign = Input::get("campaign");
if($campaign != ""){
//this condition for getting all campaign data
if($campaign == "all")
{
$data['campaignDetails']['mkey'] ="All";
$data['dataCountByStatus'] = DB::table("records")->select(DB::Raw('status, count(*) as recordCount'))->groupBy('status')->get();
$data['dataCountByDisposition'] = DB::table("records")->select(DB::Raw('dialer_status, count(*) as recordCount'))->groupBy('dialer_status')->get();
$data['queryLogs'] = DB::table("campaign_query")->get();
// $data['dataList'] = DB::table("records")->select(DB::Raw('list_id, count(*) as recordCount'))->where("client","=",$campaign)->groupBy('list_id')->get();
$userassignedcampign=DB::table('users')->select('username','clients')->whereRaw(' FIND_IN_SET(?,clients)', [$campaign])->get();
return view("layout.module.campaign.campaign",$data,compact('userassignedcampign'));
}else{
$data['campaignDetails'] = Campaign::where("mtype","=","company")->where("mkey","=",$campaign)->first();
$data['dataCountByStatus'] = DB::table("records")->select(DB::Raw('status, count(*) as recordCount'))->where("client","=",$campaign)->groupBy('status')->get();
$data['dataCountByDisposition'] = DB::table("records")->select(DB::Raw('dialer_status, count(*) as recordCount'))->where("client","=",$campaign)->groupBy('dialer_status')->get();
$data['queryLogs'] = DB::table("campaign_query")->where('campaign', '=', $campaign)->get();
// $data['dataList'] = DB::table("records")->select(DB::Raw('list_id, count(*) as recordCount'))->where("client","=",$campaign)->groupBy('list_id')->get();
$userassignedcampign=DB::table('users')->select('username','clients')->whereRaw(' FIND_IN_SET(?,clients)', [$campaign])->get();
return view("layout.module.campaign.campaign",$data,compact('userassignedcampign'));
}
}else{
return "<script>simpleNotification('error','topRight','Campaign name should not be blank.');</script><br/><p class='text-danger text-center'>Campaign name should not be blank.</p>";
}
}
if($id=="query")
{
$campaign = Input::get("campaign");
$querySelect = Input::get("querySelect");
$queryConditions = Input::get("queryConditions");
if($queryConditions){
$queryConditions = str_replace('&quot;', "'", $queryConditions);
$queryConditions = str_replace('&#039;', "'", $queryConditions);
}else{
$queryConditions = '1';
}
$queryLimit = Input::get("queryLimit");
$queryOffset = Input::get("queryOffset");
$checkedValue = Input::get("checkedValue");
$fields = explode(",", $querySelect);
$i = 1; $output = '';
try {
if($campaign=="All")
{
$selQuery = "SELECT $querySelect FROM records WHERE $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$sqlQuery = DB::select($selQuery);
}else
{
$selQuery = "SELECT $querySelect FROM records WHERE client = '$campaign' AND $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$sqlQuery = DB::select($selQuery);
}
if($checkedValue=="on")
{
$queryExist = DB::table('campaign_query')->where('query','=',$selQuery)->where('campaign', '=', $campaign)->select('id')->first();
if(empty($queryExist))
{
DB::table('campaign_query')->insert(['campaign'=>$campaign, 'query'=>$selQuery, 'select_col'=>$querySelect,'where_cond'=>"client = '$campaign' AND $queryConditions"]);
}
}
} catch(\Illuminate\Database\QueryException $ex){
$output .= "<p class='text-danger'>".$ex->getMessage()."</p>";
return $output;
}
if(count($sqlQuery)){
$output .= '<div style="overflow-x:auto;"><table class="table table-bordered"><thead><tr><th class="text-center">#</th>';
foreach ($fields as $key) {
$output .= '<th class="text-center">'.trim($key).'</th>';
}
$output .= "</tr></thed><tbody>";
foreach($sqlQuery as $row){
$output .= '<tr><th class="text-center">'.$i.'</th>';
foreach ($fields as $key) {
$output .= '<td>'.trim($row->$key).'</td>';
}
$output .= "</tr>";
$i++;
}
}else{
$output .= '<h5 class="text-danger"><i class="fa fa-exclamation-circle"></i> No Result!</h5>';
}
$output .= '</tbody></table></div>';
return $output;
}
if($id=="fquery")
{
$output = '';$i = 1;
$campaign = Input::get("campaign");
$id = Input::get("id");
$queryTxt = DB::table('campaign_query')->where('id','=', $id)->select('query','select_col')->first();
$fields = explode(",", $queryTxt->select_col);
$sqlQuery = DB::select($queryTxt->query);
if(count($sqlQuery)){
$output .= '<div style="overflow-x:auto;"><table class="table table-bordered"><thead><tr><th class="text-center">#</th>';
foreach ($fields as $key) {
$output .= '<th class="text-center">'.trim($key).'</th>';
}
$output .= "</tr></thed><tbody>";
foreach($sqlQuery as $row){
$output .= '<tr><th class="text-center">'.$i.'</th>';
foreach ($fields as $key) {
$output .= '<td>'.trim($row->$key).'</td>';
}
$output .= "</tr>";
$i++;
}
}else{
$output .= '<h5 class="text-danger"><i class="fa fa-exclamation-circle"></i> No Result!</h5>';
}
return $output;
}
if($id=="delete")
{
$id = Input::get("id");
DB::table('campaign_query')->where('id','=', $id)->delete();
return;
}
if($id=="download")
{
$campaign = Input::get("campaign");
$querySelect = Input::get("querySelect");
$queryConditions = Input::get("queryConditions");
if($queryConditions){
$queryConditions = str_replace('&quot;', "'", $queryConditions);
$queryConditions = str_replace('&#039;', "'", $queryConditions);
}else{
$queryConditions = '1';
}
$queryLimit = Input::get("queryLimit");
$queryOffset = Input::get("queryOffset");
try {
if($campaign=="All"){
$selQuery = "SELECT $querySelect FROM records WHERE $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$sqlQuery = DB::select($selQuery);
}else{
$selQuery = "SELECT $querySelect FROM records WHERE client = '$campaign' AND $queryConditions LIMIT $queryLimit OFFSET $queryOffset";
$sqlQuery = DB::select($selQuery);
}
} catch(\Illuminate\Database\QueryException $ex){
$output .= "<p class='text-danger'>".$ex->getMessage()."</p>";
return $output;
}
$data['fieldsarr'] = explode(",", $querySelect);
$data['alist'] = $sqlQuery;
return view("layout.module.campaign.download",$data);
}
if($id=="getDataFormat")
{
return view("layout.module.campaign.campaignTabData");
}
if($id=="addCurrQueue")
{
$campQryId = Input::get("radioValue");
DB::table('campaign_query')->where('id','!=', $campQryId)->update(['current_queue'=>'']);
DB::table('campaign_query')->where('id','=', $campQryId)->update(['current_queue'=>'selected']);
return Response::make("<script>simpleNotification('success','topRight','Query Logic added successfully!');</script>");
}
if($id=="assigncampaign")
{
$agentsNewArr = array();
$agents = Input::get('agents');
$campaign = Input::get("selectCampaignField");
$agentsArr = explode(",", $agents);
$hrmsdata['clientsownerlist'] = array();
$campaignList="";
if($campaign=="all")
{
$campaign="";
$allcampaign=Campaign::where('mtype',"=","company")->orderBy('mkey')->get();
foreach ($allcampaign as $mkeycampaign)
{
$campaign .= $mkeycampaign->mkey.",";
}
$campaign=substr($campaign, 0, -1);
foreach ($agentsArr as $key => $agent)
{
$usercampaign=DB::table('users')->where('username','=',$agent)->select('clients','data')->first();
$data=json_decode($usercampaign->data,true);
if(isset($data['hrmsdata'])){
$hrmsdata=unserialize($data['hrmsdata']);
$hrmsdata['clientsownerlist'].=",".$campaign;
$data['hrmsdata']=serialize($hrmsdata);
}else{
$hrmsdata['clientsownerlist'] =$campaign;
$data['hrmsdata']=serialize($hrmsdata);
}
$data=json_encode($data);
DB::statement("update users set updated_at='".date("Y-m-d H:i:s")."',clients='$campaign',data='$data' where username='$agent'");
}
}
else
{
foreach ($agentsArr as $key => $agent)
{
$usercampaign=User::where('username','=',$agent)->first();
$campaignList =$usercampaign->clients.",".$campaign;
$data=json_decode($usercampaign->data,true);
if(isset($data['hrmsdata']))
{
$hrmsdata=unserialize($data['hrmsdata']);
$hrmsdata['clientsownerlist'] = $campaignList;
$data['hrmsdata']=serialize($hrmsdata);
}else
{
$hrmsdata['clientsownerlist'] = $campaignList;
$data['hrmsdata']=serialize($hrmsdata);
}
$data=json_encode($data);
$usercampaign->updated_at=date("Y-m-d H:i:s");
$usercampaign->clients=$campaignList;
$usercampaign->data=$data;
$usercampaign->save();
//DB::statement("update users set updated_at='".date("Y-m-d H:i:s")."',clients='$campaign1',data='$data' where username='$agent'");
}
}
return;
}
if($id=="removecampaign")
{
$agentsNewArr = array();
$agents = Input::get('agents');
$campaign = Input::get("selectCampaignField");
$agentsArr = explode(",", $agents);
$hrmsdata['clientsownerlist'] = array();
$campaignList="";
if($campaign)
{
$usercampaignall=User::where('clients','like','%'.$campaign.'%')->pluck('username')->toArray();
$removeagentsArr=array();
if ($usercampaignall)
{
$removeagentsArr=array_diff($usercampaignall,$agentsArr);
}
foreach ($removeagentsArr as $key => $agent)
{
$usercampaign=DB::table('users')->where('username','=',$agent)->select('clients','data')->first();
$data=json_decode($usercampaign->data,true);
$clients=$usercampaign->clients;
if($clients)
{
$clients_arr=explode(",",$clients);
$update_campaign[]=$campaign;
$update_clients=array_diff($clients_arr, $update_campaign);
$finalcampaign= implode(",",$update_clients);
}
if(isset($data['hrmsdata']))
{
$hrmsdata=unserialize($data['hrmsdata']);
$hrms_arr=explode(",", $hrmsdata['clientsownerlist']);
$update_campaign[]=$campaign;
$update_hrms=array_diff($hrms_arr, $update_campaign);
$hrmsdata['clientsownerlist']= implode(",",$update_hrms);
$data['hrmsdata']=serialize($hrmsdata);
$data=json_encode($data);
}
DB::statement("update users set updated_at='".date("Y-m-d H:i:s")."',clients='$finalcampaign',data='$data' where username='$agent'");
}
}
return;
}
}
public function edit($id)
{
}
public function update($id)
{
}
public function destroy($id)
{
}
}
\ No newline at end of file
......@@ -45,6 +45,7 @@ Route::group(['middleware' => ['web']], function () {
Route::resource('master','MasterController');
Route::resource('admin','AdminController');
Route::resource('record','RecordController');
Route::resource('campaign','CampaignController');
Route::resource('dialer','DialerController');
Route::resource('hr','HRController');
......
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Campaign extends Model
{
protected $table = 'hrms_masters';
}
\ No newline at end of file
......@@ -109,6 +109,10 @@ return [
"RecordingQC"=>["menuAction('dialer/recqc');","A"],
"RecordingArchive"=>["menuAction('dialer/recarchive');","A"],
]],
"Campaign" => ["disp"=>"Campaign","icon"=>"file","dash"=>"","onclick"=>"menuAction('campaign');"],
"Admin" => ["disp"=>"Admin","icon"=>"gear","dash"=>"",
"submenu"=>["Masters"=>["showBlock('Masters');"],
"Delete Record"=>["showBlock('DeletePerson');"],
......
@include("layout/module/campaign/formBuilder")
@if($campaignDetails)
<hr style="margin-top: 10px;margin-bottom: 10px;" />
<div class="row">
<div class="col-sm-2">
<h4 class="text-center"><span class="text-info"> {{ is_array($campaignDetails)?$campaignDetails['mkey']:$campaignDetails->mkey}}</span> <small>campaign</small></h4>
<ul class="list-group">
<li class="list-group-item active">By Call Status</li>
<?php $totalRecordsByStatus = 0; ?>
@foreach($dataCountByStatus as $data)
<li class="list-group-item">
{{ $data->status ? $data->status : '- Blank -' }} <span class="badge">{{$data->recordCount}}</span>
</li>
<?php $totalRecordsByStatus += $data->recordCount; ?>
@endforeach
<li class="list-group-item" style="background-color:#f6f7fb;">
<strong>Total</strong> <span class="badge"><strong>{{ isset($totalRecordsByStatus) ? $totalRecordsByStatus : '0' }}</strong></span>
</li>
</ul>
<ul class="list-group">
<li class="list-group-item active">By Disposition</li>
<?php $totalRecordsByDisposition = 0; ?>
@foreach($dataCountByDisposition as $data)
<li class="list-group-item">
{{ $data->dialer_status ? $data->dialer_status : '- Blank -' }} <span class="badge">{{$data->recordCount}}</span>
</li>
<?php $totalRecordsByDisposition += $data->recordCount; ?>
@endforeach
<li class="list-group-item" style="background-color:#f6f7fb;">
<strong>Total</strong> <span class="badge"><strong>{{ isset($totalRecordsByDisposition) ? $totalRecordsByDisposition : '0' }}</strong></span>
</li>
</ul>
</div>
<div class="col-sm-10">
<div>
<ul class="nav nav-tabs" role="tablist">
<!-- <li role="presentation">
<a href="#ctCrm" aria-controls="home" role="tab" data-toggle="tab">CRM</a>
</li>
<li role="presentation">
<a href="#ctScript" aria-controls="profile" role="tab" data-toggle="tab">Script</a>
</li>
<li role="presentation">
<a href="#ctFeedback" aria-controls="messages" role="tab" data-toggle="tab">Feedback</a>
</li>
<li role="presentation">
<a href="#ctSettings" aria-controls="settings" role="tab" data-toggle="tab">Settings</a>
</li>
<li role="presentation">
<a href="#ctData" aria-controls="data" role="tab" data-toggle="tab">Data</a>
</li> -->
<li role="presentation" class="active">
<a href="#ctSql" aria-controls="sql" role="tab" data-toggle="tab">SQL</a>
</li>
<li role="presentation">
<a href="#ctSql1" aria-controls="sql" role="tab" data-toggle="tab">CQ Condition</a>
</li>
<li role="presentation">
<a href="#assign" aria-controls="sql" role="tab" data-toggle="tab">Assign</a>
</li>
</ul>
<div class="tab-content">
<!-- <div role="tabpanel" class="tab-pane" id="ctCrm">
</div>
<div role="tabpanel" class="tab-pane" id="ctScript">
</div>
<div role="tabpanel" class="tab-pane" id="ctFeedback">
</div>
<div role="tabpanel" class="tab-pane" id="ctSettings">
</div>
<div role="tabpanel" class="tab-pane" id="ctData">
</div> -->
<div role="tabpanel" class="tab-pane active" id="ctSql">
@include("layout/module/campaign/campaignTabSql")
</div>
<div role="tabpanel" class="tab-pane" id="ctSql1">
@include("layout/module/campaign/campaignTabSqlCond")
</div>
<div role="tabpanel" class="tab-pane" id="assign">
@include("layout/module/campaign/campaignAssignToAgents")
</div>
</div>
</div>
</div>
</div>
@else
<br/>
<p class="text-danger text-center">Campaign not found.</p>
@endif
<style>
.tab-pane{padding: 10px;border: 1px solid #ed5564;border-top: none;}
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus{border: 1px solid #ed5564;border-bottom-color: transparent;}
</style>
\ No newline at end of file
<?php
$dashboarduser=Auth::user();
if($dashboarduser->usertype != 'Admin'){
$allusers=User::where(function ($query) use($dashboarduser) {
$query->where('supervisor','=',$dashboarduser->username)
->orWhere('lteam2','=',$dashboarduser->username)
->orWhere('lteam','=',$dashboarduser->username);
})->get();
}
else
{
$allusers=DB::table('users')->select('*')->where('status','=','Active')->get();
}
foreach($userassignedcampign as $userassigned)
{
$userassignedcamp[] = $userassigned->username;
}
foreach($allusers as $alluser)
{
if (isset($userassignedcamp)) {
if (!in_array($alluser->username, $userassignedcamp))
{
$username[] = $alluser->username;
}
}
else{
$username[] = $alluser->username;
}
}
foreach($allusers as $user)
{
$campaigns=$user->clients;
if(isset($data->hrmsdata))
{print_r('man');echo "<br><br>";
$hrmsdata=unserialize($data['hrmsdata']);
// $campaignList = $hrmsdata['clientsownerlist'];print_r($campaignList);
}
//$username[] = $alluser->username;
}
//$data['client'] = $client;
// if(isset($username))$data->username = $username;
?>
<div class="row">
<div class="col-md-12">
<div class="panel panel-info">
<div class="panel-body">
<div class="col-md-2">
<label>Select User:</label>
</div>
<div class="col-md-6">
<select id="username" class="select2multi" style='width:100%' multiple="">
<option value></option>
<?php if(isset($username))foreach($username as $user){;echo "<option value='$user'>$user</option>";} ?>
</select>
</div>
<div class="col-md-2">
<button id="assigncampaign" class="btn btn-xs btn-info">Assign Campaign
</button>
</div>
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading "><strong>Assigned Users List</strong><div style="float:right;">
<button id="removeuser" class="btn btn-xs btn-info">Edit User
</button>
</div></div>
<div class="panel-body">
<div class="col-md-12" id="dbs">
@foreach ($userassignedcampign as $row)
<div class="col-md-1">{{$row->username}}</div>
@endforeach
</div>
<div class="col-md-12" id="abs" style="display:none">
<div class="col-md-6">
<select id="username1" class="select2multi" style='width:100%' multiple="">
<option value></option>
<?php if(isset($userassignedcamp))foreach($userassignedcamp as $userassigned){;echo "<option value='$userassigned' selected>$userassigned</option>";} ?>
</select>
</div>
<div class="col-md-2">
<button id="removecampaign" class="btn btn-xs btn-info">Save
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function addInQueue(){
var data = 'radioValue='+$("input[name='query']:checked").val();
doAjax("campaign/addCurrQueue",data,"","","","GET");
}
$('#assigncampaign').click(function()
{
var agents = $('#username').val();
var selectCampaignField = $('#selectCampaignField').val();
if(agents&&selectCampaignField)
{
var postdata='agents='+agents;
postdata+='&selectCampaignField='+selectCampaignField;
doAjax("campaign/assigncampaign",postdata,"campaignDetailsArea","","","GET",function(retrstr){
doAjax("campaign/show","campaign="+selectCampaignField,"campaignDetailsArea","","","GET");
simpleNotification('Success','topRight',"Campaign assign suceesfully!");
$("#usrname").select2("val", "Select User...");
$("#selectCampaignField").select("val", "Select Dial Mode...");
});
}
else
{
$("#campaignDetailsArea").html('<br/><p class="text-danger text-center">Please select the campaign and user.</p>');
}
});
$("#removeuser").click(function(){
$("#dbs").hide();
$("#abs").toggle();
});
$('#removecampaign').click(function()
{
var agents = $('#username1').val();
var selectCampaignField = $('#selectCampaignField').val();
if(selectCampaignField)
{
var postdata='agents='+agents;
postdata+='&selectCampaignField='+selectCampaignField;
doAjax("campaign/removecampaign",postdata,"campaignDetailsArea","","","GET",function(retrstr){
doAjax("campaign/show","campaign="+selectCampaignField,"campaignDetailsArea","","","GET")
simpleNotification('Success','topRight',"Campaign assign suceesfully!");
$("#usrname").select2("val", "Select User...");
$("#selectCampaignField").select("val", "Select Dial Mode...");
});
}
else
{
$("#campaignDetailsArea").html('<br/><p class="text-danger text-center">Please select the campaign and user.</p>');
}
});
</script>
\ No newline at end of file
<div class="row">
<div class="btn-group pull-right">
<button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-fw fa-plus-square"></i> Add Field <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#" onclick="fbAddField('layout','addCrmArea');return false;"><i class="fa fa-fw fa-th-large"></i> Layout</a></li>
<li><a href="#" onclick="fbAddField('text','addCrmArea');return false;"><i class="fa fa-fw fa-font"></i> Text</a></li>
<li><a href="#" onclick="fbAddField('select','addCrmArea');return false;"><i class="fa fa-fw fa-indent"></i> Select Box</a></li>
<li><a href="#" onclick="fbAddField('date','addCrmArea');return false;"><i class="fa fa-fw fa-calendar"></i> Date</a></li>
<li><a href="#" onclick="fbAddField('textArea','addCrmArea');return false;"><i class="fa fa-fw fa-list-alt"></i> Text Area</a></li>
</ul>
</div>
</div>
<div class="modal fade" id="fbAddFieldForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body" id="fbAddFieldFormContent"></div>
</div>
</div>
</div>
<hr style="margin:5px 0;border: 1px solid #ed5564;" />
<div id="addCrmArea"></div>
<script>
var feedbackForm = '{"formData":{"row1":{"column1":{"columnName":"Personal Information","columnCount":"6","fields":{"customerName":{"type":"text","name":"customerName","title":"Customer Name","required":true,"default":"","editable":true},"customerType":{"type":"select","name":"customerType","title":"Customer Type","required":true,"options":"Existing,New,MNP,Corporate","default":"Existing","editable":true},"customerAddress":{"type":"textArea","name":"customerAddress","title":"Customer Address","required":true,"default":"","editable":true},"birthDate":{"type":"date","name":"birthDate","title":"Birth Date","required":true,"default":"","editable":true}}},"column2":{"columnName":"Plan Details","columnCount":"6","fields":{"planName":{"type":"text","name":"planName","title":"Plan Name","required":true,"default":"","editable":true},"planType":{"type":"select","name":"planType","title":"Plan Type","required":true,"options":"Prepaid,Postpaid","default":"Postpaid","editable":true},"planIncludes":{"type":"textArea","name":"planIncludes","title":"Plan Includes","required":true,"default":"","editable":true}}}}},"formFields":"customerName,customerType,customerAddress,birthDate,planName,planType,planIncludes"}';
doAjax("campaign","action=buildForm&rawData="+feedbackForm,"addCrmArea","","","POST");
</script>
\ No newline at end of file
<?php
use App\Models\Campaign;
ini_set("precision", 15);
include_once(app_path().'/lib/phpexcel/PHPExcel.php');
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$errorMsg = ""; $successMsg = "";$successCount = 0;
if($_FILES['file']['tmp_name'])
{
if($_FILES['file']['type'] == "application/vnd.ms-excel")
{
$fileUploadLimit = 52428800; // files size is in bytes
if($_FILES['file']['size'] < $fileUploadLimit)
{
if ($_POST["uploadFileType"] == "customerInfo" && $_POST["campaignName"] != "")
{
$inputFileType = "Excel5";
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($_FILES['file']['tmp_name']);
$objWorksheet = $objPHPExcel->getActiveSheet();
$highestColumn = PHPExcel_Cell::columnIndexFromString($objPHPExcel->getActiveSheet()->getHighestColumn());
$highestrow=$objPHPExcel->getActiveSheet()->getHighestRow();
$excelarray=array();$keys=array();
$listId = time();
$dataColumns = ['id'=>'Id','unique_id'=>'Customer Unique Id','firstname'=>'First Name','lastname'=>'Last Name','mobile'=>'Mobile','phones'=>'Other Phones'];
$campaign=Campaign::where('mkey','=',$_POST["campaignName"])->where('mtype','=','company')->first();
if($campaign->crm != ""){
$crmColumns = json_decode($campaign->crm);
$crmColumns = (array)$crmColumns->formFields;
}
for($i=1;$i<=$highestrow;$i++){
$excelarray[$i]=array();
for($head = 0; $head < $highestColumn; $head++){
if($i==1){
$keys[$head]=trim($objWorksheet->getCellByColumnAndRow($head,$i)->getValue());
}else{
$excelarray[$i][$keys[$head]]=trim($objWorksheet->getCellByColumnAndRow($head, $i)->getValue());
}
}
}
// print_r($crmColumns);exit;
for($i=3;$i<=$highestrow;$i++)
{
if($excelarray[$i]["id"]==""){
$crmData = [];
if(isset($crmColumns)){
foreach ($crmColumns as $key => $value) {
array_push($crmData, [$key => $excelarray[$i][$key]]);
}
}
$data = ["list_id"=>$listId,
"unique_id"=>$excelarray[$i]["unique_id"],
"firstname"=>$excelarray[$i]["firstname"],
"lastname"=>$excelarray[$i]["lastname"],
"mobile"=>$excelarray[$i]["mobile"],
"phones"=>$excelarray[$i]["phones"],
"crm"=>serialize($crmData),
"client"=>$_POST["campaignName"],
"status"=>"New",
'created'=>date('Y-m-d H:i:s'),
'modified'=>date('Y-m-d H:i:s')];
$addToDB = DB::table('records')->insert($data);
$successCount++;
}else{
$excelarray[$i]["id"]=intval($excelarray[$i]["id"]);
}
continue;
// $lanq = DB::table('records')->select('id')->where('lan', '=', $excelarray[$i]["lan"])->first();
// if($lanq){
// $excelarray[$i]["id"]=intval($lanq->id);
// }else{
// $excelarray[$i]["id"]=$wakka->Query("insert into","","records",array('created'=>date('Y-m-d H:i:s')));
// }
if($wakka->getCount("records","id='".$excelarray[$i]["id"]."'")==1)
{
$empdata=$wakka->getPerson($excelarray[$i]["id"]);
// $ppldata=$empdata["peopledata"];
// $createdlog=$empdata['modifylog'];
// $fdirty=$empdata['dirty'];
// $createdlog[$updatetime]=$username."::";
// $createdlog["updated"]=$updatetime;
$newdata=$ppldata;
if($isadmin||strstr($clientlst,$ppldata['client']))
{
$editflag=0;
foreach($excelarray[$i] as $key => $value)
{
$value = preg_replace('/[^A-Za-z0-9\., -]/', '', $value);
if(isset($kformlib->HRFieldNames[$key]))
{
if($value!="")
{
if("A".$ppldata[$key]!="A".$value)//forcing string comparrision //MAGIC
{
$value=str_replace("'"," ",$value);
if(strstr($createdlog[$updatetime],$key)==FALSE)$createdlog[$updatetime].="$key|".str_replace(array("|",",")," ",$ppldata[$key])."|".str_replace(array("|",",")," ",$value).",";
$fdirty[$key]=1;$editflag=1;
if($triggers=='Yes')
{
$kformlib->empAnalytics($excelarray[$i]["id"],$ppldata,$key,$value,$ppldata[$key]);
$kformlib->empWorkflowTrigger($excelarray[$i]["id"],$ppldata['client'],$key,$value,$ppldata[$key],$ppldata,$newdata);
}
$newdata[$key]=$value;
}
//else $message.="same $excelarray[$i][id]:$key:$value, ";
}
//else $message.="empty $excelarray[$i][id]:$key, ";
}else{
// $message.="Invalid key :$key, ";
}
}
if($editflag)
{
$empdata["peopledata"]=$newdata;
$empdata['modifylog']=$createdlog;
$empdata['dirty']=$fdirty;
$wakka->setPerson($excelarray[$i]["id"],$empdata);
$success.=$excelarray[$i]["id"].",";
$successCount++;
}
}else{
$errorMsg.="No access to $excelarray[$i][id], ";
}
}
}
$successMsg .= "Data Uploaded ($successCount)."; // : $success.";
}
}else{
$errorMsg .= "File size too large, Please check file size should be less then ".($fileUploadLimit / (1024*1024))."mb.";
}
}else{
$errorMsg .= "File format not valid, Please attach Excel file (.xls) and try upload again.";
}
@unlink($_FILES['file']);
}else{
$errorMsg .= "File not found, Please attach file and try upload again.";
}
if(isset($successMsg) && $successMsg!="")echo "Success! <br/>".$successMsg;
if(isset($errorMsg) && $errorMsg!="")echo "Error! <br/>".$errorMsg;
}
else
{
if(isset($_GET['format']) && $_GET['format'] == 'dataUpload'){
if(isset($_GET['campaign']) && $_GET['campaign'] != ''){
$dataColumns = ['id'=>'Id','unique_id'=>'Customer Unique Id','firstname'=>'First Name','lastname'=>'Last Name','mobile'=>'Mobile','phones'=>'Other Phones'];
$campaign=Campaign::where('mkey','=',$_GET['campaign'])->where('mtype','=','company')->first();
if($campaign->crm != ''){
$crmColumns = json_decode($campaign->crm);
if($crmColumns->formFields)$dataColumns = array_merge($dataColumns,(array) $crmColumns->formFields);
}
$PHPExcelObj = new PHPExcel(); $head=0;
foreach($dataColumns as $key => $value){
$colstr=PHPExcel_Cell::stringFromColumnIndex($head);
$PHPExcelObj->getActiveSheet()->setCellValue($colstr."1", $key);
$PHPExcelObj->getActiveSheet()->setCellValue($colstr."2", $value);
$head++;
}
$objWriter = PHPExcel_IOFactory::createWriter($PHPExcelObj, 'Excel5');
$objWriter->save('php://output');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="DataUploadFormat.xls"');
header('Cache-Control: max-age=0');
return;
}else{
echo "Campaign not found";
return;
}
}
?>
<div class="row">
<div class="col-sm-12">
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-info">
<div class="panel-heading" role="tab" id="headingOne" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
<strong><i class="fa fa-upload"></i> Data Upload</strong>
<span class="badge pull-right"><i class="fa fa-sort"></i></span>
</div>
<div id="collapseOne" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
<div class="tab_generic">
<p><span style="color:#f00;"><strong>Instruction</strong></span> (Works only if you have 'Write access" to the records) Please create an Excel-2003 format file with header as field-keys and rows containing record data. Extream Care is should be taken during bulk upload as previous values will be overwritten and lost.</p>
<hr style="margin-bottom: 10px;" />
<div class="row">
<div class="col-sm-3">
<p><strong>Get Format</strong></p>
<button type="submit" class="btn btn-success" onclick="getDataFormat();return false;"><i class="fa fa-download"></i> Get Format</button>
</div>
<div class="col-sm-9">
<p><strong>Upload File</strong></p>
<form method="POST" enctype="multipart/form-data" target="resultArea" action="campaign?action=dataUpload" class="form-inline">
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<input type="hidden" name="uploadFileType" value="customerInfo"/>
<input type="hidden" name="campaignName" value="{{ $campaignDetails->mkey }}"/>
<div class="form-group">
<input type="file" class="form-control" name="file" required="required" />
</div>
<div class="form-group">
<button type="submit" class="btn btn-success"><i class="fa fa-upload"></i> Upload</button>
</div>
</form>
</div>
</div>
<hr style="margin-top: 10px;margin-bottom: 10px;" />
<span>Result</span>
<iframe name=resultArea id="resultArea" style="width: 100%;border:1px solid #ccc;"></iframe>
</div>
</div>
</div>
</div>
<div class="panel panel-info">
<div class="panel-heading" role="tab" id="headingTwo" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
<strong><i class="fa fa-table"></i> Data List</strong>
<span class="badge pull-right"><i class="fa fa-sort"></i></span>
</div>
<div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo">
<div class="panel-body">
@if(isset($dataList) && count($dataList))
<table class="table table-bordered" style="margin-bottom: 0;">
<head><tr class="active">
<th>List Id</th>
<th>Record Count</th>
</tr></head>
<body>
@foreach($dataList as $data)
<tr>
<td>{{ $data->list_id }}</td>
<td>{{ $data->recordCount }}</td>
</tr>
@endforeach
</body>
</table>
@else
<p>No data found</p>
@endif
</div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
function getDataFormat(){
var campaign = $("#selectCampaignField").val();
window.open('campaign/getDataFormat?format=dataUpload&campaign='+campaign);return false;
}
</script>
<?php
}
?>
\ No newline at end of file
<div class="row">
<div class="btn-group pull-right">
<button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-fw fa-plus-square"></i> Add Field <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#" onclick="fbAddField('layout','addFieldArea');return false;"><i class="fa fa-fw fa-th-large"></i> Layout</a></li>
<li><a href="#" onclick="fbAddField('text','addFieldArea');return false;"><i class="fa fa-fw fa-font"></i> Text</a></li>
<li><a href="#" onclick="fbAddField('select','addFieldArea');return false;"><i class="fa fa-fw fa-indent"></i> Select Box</a></li>
<li><a href="#" onclick="fbAddField('date','addFieldArea');return false;"><i class="fa fa-fw fa-calendar"></i> Date</a></li>
<li><a href="#" onclick="fbAddField('textArea','addFieldArea');return false;"><i class="fa fa-fw fa-list-alt"></i> Text Area</a></li>
</ul>
</div>
</div>
<div class="modal fade" id="fbAddFieldForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body" id="fbAddFieldFormContent"></div>
</div>
</div>
</div>
<hr style="margin:5px 0;border: 1px solid #ed5564;" />
<div id="addFieldArea"></div>
<script>
var feedbackForm = '{"formData":{"row1":{"column1":{"columnName":"Personal Information","columnCount":"6","fields":{"customerName":{"type":"text","name":"customerName","title":"Customer Name","required":true,"default":"","editable":true},"customerType":{"type":"select","name":"customerType","title":"Customer Type","required":true,"options":"Existing,New,MNP,Corporate","default":"Existing","editable":true},"customerAddress":{"type":"textArea","name":"customerAddress","title":"Customer Address","required":true,"default":"","editable":true},"birthDate":{"type":"date","name":"birthDate","title":"Birth Date","required":true,"default":"","editable":true}}},"column2":{"columnName":"Plan Details","columnCount":"6","fields":{"planName":{"type":"text","name":"planName","title":"Plan Name","required":true,"default":"","editable":true},"planType":{"type":"select","name":"planType","title":"Plan Type","required":true,"options":"Prepaid,Postpaid","default":"Postpaid","editable":true},"planIncludes":{"type":"textArea","name":"planIncludes","title":"Plan Includes","required":true,"default":"","editable":true}}}}},"formFields":"customerName,customerType,customerAddress,birthDate,planName,planType,planIncludes"}';
doAjax("campaign","action=buildForm&rawData="+feedbackForm,"addFieldArea","","","POST");
</script>
\ No newline at end of file
<div class="row">
<div class="col-sm-12">
<div class="panel panel-info">
<div class="panel-heading"><strong>Agent Script</strong></div>
<div class="panel-body">
<div>
<div class="form-group" style="margin-bottom: 5px;">
<textarea class="form-control" rows="10" id="agentScript" placeholder="Enter your script here">{{ $campaignDetails->script }}</textarea>
</div>
<div class="form-group" style="margin-bottom: 0;">
<span>Add agent script here</span>
<button type="submit" class="btn btn-success pull-right"><i class="glyphicon glyphicon-floppy-disk"></i> Save</button>
</div>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
<?php
$queryFields = explode(",", 'usr_id,branchCode,organizationName,designation,dob,location,state,residenceAddress,residenceAddressZipCode,officeAddress,officeAddressZipCode,alternateMobile,officeNumber,referenceName,referenceMobile,referenceName2,referenceMobile2,loanStatus,product,bucket,dpd,tenureStartDate,tenureEndDate,tenureRemaining,disbursalDate,rateOfInterest,installmentNo,chequeBounceNo,reasonForLastBounce,reasonForSecondLastBounce,cycleDate,ebnb,bank,lastMonthPaymentMode,lastMonthPaymentAmount,lastMonthPaymentDate,delinquencyString,specialCode,centralECS,emi,pos,bounceCharge,penalMTD,penalLTD,overdueAmount,installmentAmountOverdue,altphone1,altphone2,altphone3,altphone4,altphone5,altphone6,altphone7,altphone8,altphone9,altphone10,priority,dialer_substatus,dialer_callback');
?>
<div class="row">
<div class="col-sm-12">
<div class="panel panel-info">
<div class="panel-heading"><strong>Query</strong></div>
<div class="panel-body">
<div class="form-group" style="margin-bottom: 8px;">
<label>SELECT</label>
<select id="querySelect" multiple="" data-rel="chosen" style='width:100%' class=select2multi>
<option value="currentstatus" selected="selected">currentstatus</option>
<option value="legalstatus" selected="selected">legalstatus</option>
<option value="mobile" selected="selected">mobile</option>
<option value="status" selected="selected">status</option>
<option value="dialer_status" selected="selected">dialer_status</option>
<option value="dialer_substatus" selected="selected">dialer_substatus</option>
@foreach($queryFields as $fields)
<option value="{{$fields}}">{{$fields}}</option>
@endforeach
</select>
<label style="margin-top: 5px;">FROM 'records' WHERE</label>
<input type="text" class="form-control" id="queryConditions" placeholder="1" value="1"/>
</div>
<div class="form-inline">
<div class="form-group" style="display: block;">
<label>LIMIT</label>
<input type="text" class="form-control" id="queryLimit" placeholder="30" value="30" style="width:50px;" />
<label>OFFSET</label>
<input type="text" class="form-control" id="queryOffset" placeholder="0" value="0" style="width:50px;" />
<label>;</label>
<span style="margin: 1% 0 0 38%">Select Checkbox To Save Current Query</span><input type="checkbox" class="saveQryChck" style="margin: 1% 0 0 2%">
<button type="submit" class="btn btn-success pull-right" onclick="runSqlQuery();return false;"><i class="glyphicon glyphicon-ok"></i> Run Query</button>
</div>
</div>
</div>
</div>
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" href="#collapse1">Show Previous Queries</a>
</h4>
</div>
<div id="collapse1" class="panel-collapse collapse">
<ul class="list-group">
@foreach($queryLogs as $queryLog)
<li class="list-group-item"><a onclick="runFSqlQuery({{$queryLog->id}});return false;" style="cursor:pointer">{{$queryLog->query}} </a> <i class="glyphicon glyphicon-trash pull-right" onclick="delSqlQuery({{$queryLog->id}});return false;"></i></li>
@endforeach
</ul>
<div class="panel-footer">*Please Refresh Current Campaign To See Updated Saved Queries</div>
</div>
</div>
</div>
<br><br>
<div class="panel panel-info">
<div class="panel-heading" id="appendButton"><strong>Output</strong><button type="submit" class="btn btn-default btn-sm" onclick="downloadOutput();return false;" style="margin: 0 0 0.1% 84%;display: none" id="downloadButton"><i class="glyphicon glyphicon-download"></i> Download</button></div>
<div class="panel-body" id="sqlQueryOutput">
<p><i class="fa fa-exclamation-circle"></i> Press Run Query button to see output!</p>
</div>
</div>
</div>
</div>
<script>
function runSqlQuery(){
var checkedValue = $('.saveQryChck:checked').val();
var data = 'campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&querySelect='+$("#querySelect").val()+'&queryConditions='+$("#queryConditions").val()+'&queryLimit='+$("#queryLimit").val()+'&queryOffset='+$("#queryOffset").val()+'&checkedValue='+checkedValue;
doAjax("campaign/query",data,"sqlQueryOutput","","","GET");
document.getElementById("downloadButton").style = "margin: 0% 0% 0.1% 84%;display: block";
}
function runFSqlQuery(id){
var data = 'campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&id='+id+'&querySelect='+$("#querySelect").val();
doAjax("campaign/fquery",data,"sqlQueryOutput","","","GET");
document.getElementById("downloadButton").style = "margin: 0% 0% 0.1% 84%;display: block";
}
function delSqlQuery(id){
var data = 'id='+id;
var value = '{{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}';
doAjax("campaign/delete",data,"sqlQueryOutput","","","GET");
doAjax("campaign/show","campaign="+value,"campaignDetailsArea","","","GET",function(response){
$("#campaignRefresh").html('<div class="form-group"><button onclick="campaignDetailsShow($(\'#selectCampaignField option:selected\').val());return false;" class="btn btn-xs btn-info">Refresh Campaign</button></div>');
});
}
function downloadOutput()
{
window.open('campaign/download?campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&querySelect='+$("#querySelect").val()+'&queryConditions='+$("#queryConditions").val()+'&queryLimit='+$("#queryLimit").val()+'&queryOffset='+$("#queryOffset").val());return false;
}
</script>
\ No newline at end of file
<div class="row">
<div class="col-sm-12">
<div class="panel panel-info">
<div class="panel-heading"><strong>Query List</strong></div>
<div class="panel-body" id="">
<ul class="list-group">
<li class="list-group-item"><input type="radio" name="query" id="currQuery" value="" checked>Default</li>
@foreach($queryLogs as $queryLog)
<li class="list-group-item"><input type="radio" name="query" id="currQuery" value="{{$queryLog->id}}" {{$queryLog->current_queue?"checked":""}}>{{$queryLog->query}}</li>
@endforeach
</ul>
<div class="form-inline">
<div class="form-group" style="display: block;">
<button type="submit" class="btn btn-success pull-right" onclick="addInQueue();return false;"><i class="glyphicon glyphicon-plus"></i> Add In Queue</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function addInQueue(){
var data = 'radioValue='+$("input[name='query']:checked").val();
// var checkedValue = $('.saveQryChck:checked').val();
// var data = 'campaign={{ is_array($campaignDetails)?$campaignDetails["mkey"]:$campaignDetails->mkey }}&querySelect='+$("#querySelect").val()+'&queryConditions='+$("#queryConditions").val()+'&queryLimit='+$("#queryLimit").val()+'&queryOffset='+$("#queryOffset").val()+'&checkedValue='+checkedValue;
doAjax("campaign/addCurrQueue",data,"","","","GET");
}
</script>
\ No newline at end of file
<?php
include_once(app_path().'/lib/phpexcel/PHPExcel.php');
$inputFileType = "Excel5";
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load("assets/extras/blank.xls");
$baseRow = 2;
$tcol=0;$extrahdrarr=array();
$highestColumn = sizeof($fieldsarr);
for ($head = 0; $head < $highestColumn; $head++){
$colstr=PHPExcel_Cell::stringFromColumnIndex($head);
$objPHPExcel->getActiveSheet()->setCellValue($colstr."1", $fieldsarr[$head]);
}
$ii=1;
foreach($alist as $aline)
{
$row = $baseRow++; $col = 0;
foreach ($fieldsarr as $key) {
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow($col++,$row)->setValueExplicit(trim($aline->$key));
}
}
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Output.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $inputFileType);
$objWriter->save('php://output');
return ;
?>
\ No newline at end of file
<script>
function addDatePicker(selector){
$('#'+selector).datepicker({dateFormat:'yy-mm-dd',inline:true,changeYear:true,changeMonth:true,selectOtherMonths:true,yearRange:'1947:2022'});
$('#'+selector).datepicker("show");
}
function fbAddField(type,area){
var output = '';
if(type == 'layout'){
}
$('#fbAddFieldFormContent').append(type);
$('#fbAddFieldForm').modal('show');
$('#'+area).append(type);
}
</script>
\ No newline at end of file
<div class="container-fluid">
<div class="layout-app">
<div class="row">
<div class="col-md-12">
<div class="col-separator col-separator-first col-unscrollable box">
<div class="innerAll">
<h4>Campaign</h4>
<hr style="margin-bottom: 10px;" />
<div class="row">
<div class="col-lg-4">
<div class="form-inline">
<div class="form-group">
<label>Select Campaign</label>
</div>
<div class="form-group">
<select class="form-control" id="selectCampaignField" onchange="campaignDetailsShow(this.value);return false;">
<option value="">Select Campaign</option>
<option value="all">All</option>
@foreach($campaignList as $campaign)
<option value="{{ $campaign->mkey }}">{{ $campaign->mkey }}</option>
@endforeach
</select>
</div>
<span id="campaignRefresh"></span>
</div>
</div>
<!-- <div class="col-lg-6">
<form class="form-inline text-right">
<div class="form-group">
<label>Create Campaign</label>
</div>
<div class="form-group">
<input type="text" class="form-control" id="campaignName" placeholder="Campaign Name">
</div>
<button type="button" class="btn btn-success" onclick="createCampaign();"><i class="glyphicon glyphicon-plus"></i> ADD</button>
</form>
</div> -->
</div>
<div id="campaignDetailsArea"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
function campaignDetailsShow(value){
if(value){
doAjax("campaign/show","campaign="+value,"campaignDetailsArea","","","GET",function(response){
$("#campaignRefresh").html('<div class="form-group"><button onclick="campaignDetailsShow($(\'#selectCampaignField option:selected\').val());return false;" class="btn btn-xs btn-info">Refresh Campaign</button></div>');
});
}else{
$("#campaignDetailsArea").html('<br/><p class="text-danger text-center">Please select the campaign.</p>');
}
}
// function createCampaign(){
// var campaignName = $('#campaignName').val();
// if(campaignName){
// if( /[^a-zA-Z0-9]/.test(campaignName)){
// simpleNotification('error','topRight','Campaign name is not alphanumeric.');
// }else{
// var dataStr = "action=createCampaign&campaignName="+campaignName;
// doAjax("campaign",dataStr,"campaignDetailsArea","","","POST",function(response){
// // console.log(response.responseText);
// });
// }
// }else{
// simpleNotification('error','topRight','Campaign name should not be blank.');
// }
// }
</script>
\ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!