after a series of bug fixes plus Non MNO logic for Sender IDs, unfinished leave management and holiday modules

This commit is contained in:
Kwesi Banson Jnr
2025-03-19 10:33:04 +00:00
parent 6cede6d980
commit cf39ff2682
112 changed files with 26812 additions and 496 deletions

View File

@@ -54,7 +54,7 @@
<div class="x_title">
<h2> Clients </h2>
<div class="pull-right">
<div class="pull-right">
<a class="btn btn-primary btn-sm" href="{!! url('clients/create') !!}"><i class="fa fa-plus-circle"></i> Add Client</a>
</div>
<div class="clearfix"></div>
@@ -90,9 +90,11 @@
}
var table = new Tabulator("#clientsTable", {
ajaxURL: "clients/all",
paginationSize: 15,
paginationSize: 10,
paginationSizeSelector: true,
paginationSizeSelector:[5, 10, 25, 50, 100, 200],
layout: "fitColumns",
pagination: "remote",
pagination: "local",
selectable: false,
printAsHtml: true,
ajaxLoaderLoading: $('#logo_spinner').html(),
@@ -109,18 +111,18 @@
sorter: "string",
},
/*
{ title:"Onboarding Progress Score",
field:"progress_indicator_score",
sorter:"number",
hozAlign:"left",
formatter:"progress",
width:200,
{ title:"Onboarding Progress Score",
field:"progress_indicator_score",
sorter:"number",
hozAlign:"left",
formatter:"progress",
width:200,
editable:true
},
*/
{ title:"Onboarding %",
field:"progress_indicator_score",
sorter:"number",
{ title:"Onboarding %",
field:"progress_indicator_score",
sorter:"number",
},
{
title: "Status",
@@ -167,15 +169,15 @@
orientation:"portrait", //set page orientation to portrait
title:"Click Mobile - Clients", //add title to report
});
});
});
$('#keywordField').on('keyup', function(){
console.log('up');
var keyword = $(this).val();
table.setData("clients/all?keyword=" + keyword);
});
});
</script>

View File

@@ -0,0 +1,118 @@
<div class="modal fade" id="newShortCodeFormModal" tabindex="-1" role="dialog" aria-labelledby="paymentModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<!-- <h4 class="modal-title">Default Modal</h4> -->
<h5 class="modal-title text-center" id="paymentModalLabelHeading">New Short Code Form</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div id="notifyArea" class="alert alert-danger hidden"></div>
<form class="form-vertical" method="POST" id="shortCodeForm" action="{{ url('clients/shortcodes_store') }}">
{{ csrf_field() }}
<input type="hidden" name="client_id" id="clientID" value="{{ $showclient->id }}">
<input type="hidden" name="code_type" id="shortCodeType">
<div class="row">
<div class="form-group" >
<div class="col-md-12" style="padding-bottom: 5px;">
<label for="name">Friendly Name *</label>
<input type="text" class="form-control" name="name" id="name" required >
</div>
</div>
<div class="form-group">
<div class="col-md-12" style="padding-bottom: 5px">
<label for="networks">Country *</label>
{!! Form::select('country', $countries, null, ['class' => 'form-control' , 'id' => 'shortCodeCountry', 'required' => 'required', 'style' => 'width: 100%']) !!}
</div>
</div>
<div class="form-group">
<div class="col-md-12" style="padding-bottom: 5px">
<label for="networks">Network *</label>
<!-- 'multiple'=> 'true', -->
{!! Form::select('network', $mnos_arr, null, ['class' => 'form-control' , 'id' => 'networks', 'required' => 'required', 'style' => 'width: 100%']) !!}
</div>
</div>
<div class="form-group" >
<div class="col-md-12" style="padding-bottom: 5px;">
<label for="shortCode">Code *</label>
<input type="number" class="form-control" name="shortcode" id="shortCode" required >
</div>
</div>
<div class="form-group">
<div class="col-md-12" style="padding-bottom: 5px">
<label for="tollFree">Toll Free</label>
<select name="toll_free" id="tollFree" class="form-control" required style="width: 100%;">
<option value="YES">YES</option>
<option value="NO">NO</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-md-12" style="padding-bottom: 5px">
<label for="monthlyFee">Monthly Fee</label>
<input type="number" class="form-control" name="monthly_fee" id="monthlyFee" >
</div>
</div>
<div class="form-group">
<div class="col-md-6">
<div class='input-group date' id='myDatepicker22' style="padding-bottom: 5px;">
<label for="launchDate">Launch Date</label>
<input type="text" class="form-control" name="launch_date" id="launchDate" required >
<div class="input-group-addon">
<span class="fa fa-calendar"></span>
</div>
</div>
</div>
<div class="col-md-6">
<div class='input-group date' id='myDatepicker223' style="padding-bottom: 5px;">
<label for="expiryDate">Expiry Date</label>
<input type="text" class="form-control" name="expiry_date" id="expiryDate" required >
<div class="input-group-addon">
<span class="fa fa-calendar"></span>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-12" style="padding-bottom: 5px">
<label for="codeStatus">Status</label>
<select id="codeStatus" name="status" class="form-control" required style="width: 100%;">
<option value="LIVE">Live</option>
<option value="PENDING">Pending</option>
<option value="TESTING">Testing</option>
<option value="INACTIVE">Inactive </option>
</select>
</div>
</div>
<div class="form-group" >
<div class="col-md-12" style="padding-bottom: 5px;">
<label for="remarks">Remarks</label>
<input type="text" class="form-control" name="remarks" id="remarks"></textarea>
</div>
</div>
<div class="form-group" style="margin-bottom: 0.2rem; padding-bottom: 5px; padding-top: 5px;">
<div class="col-md-12" style="padding-bottom: 10px;">
<button type="submit" class="btn btn-success btn-block updateBtn"> <i class="fa fa-send"></i> Submit</button>
</div>
</div>
<div class="form-group" style="margin-bottom: 0.5rem; padding-bottom: 5px; padding-top: 5px;">
<div class="col-md-12">
<button type="button" class="btn btn-dark btn-block" data-dismiss="modal"><i class="fa fa-close"></i> Close</button>
</div>
</div>
</div>
</form>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->

View File

@@ -25,8 +25,7 @@
<div class="form-group">
<div class="col-md-12" style="padding-bottom: 5px">
<label for="networks">Network *</label>
<!-- 'multiple'=> 'true', -->
{!! Form::select('network', $networks_raw, null, ['class' => 'form-control' , 'id' => 'networks', 'required' => 'required', 'style' => 'width: 100%']) !!}
{!! Form::select('network', $country_network_arr, null, ['class' => 'form-control' , 'id' => 'networks', 'placeholder'=>'Select Network ' , 'required' => 'required' , 'style' => 'width: 100%']) !!}
</div>
</div>
<div class="form-group" >
@@ -44,6 +43,12 @@
</select>
</div>
</div>
<div class="form-group">
<div class="col-md-12" style="padding-bottom: 5px">
<label for="monthlyFee">Monthly Fee</label>
<input type="number" class="form-control" name="monthly_fee" id="monthlyFee" >
</div>
</div>
<div class="form-group">
<div class="col-md-6">
<div class='input-group date' id='myDatepicker22' style="padding-bottom: 5px;">

View File

@@ -19,6 +19,12 @@
<label for="financeServicesEdit">Services *</label>
{!! Form::select('services[]', $service_type_names , old('services'), ['class' => 'form-control' , 'id' => 'financeServicesEdit', 'required' => 'required', 'multiple'=> 'true', 'style' => 'width: 100%']) !!}
</div>
</div>
<div class="form-group" >
<div class="col-md-12" style="padding-bottom: 5px;">
<label for="shortCodeEdit">Short Code</label>
<input type="text" class="form-control" name="short_code" id="financeShortCodeEdit" required >
</div>
</div>
<div class="form-group" >
<div class="col-md-12" style="padding-bottom: 5px;">

View File

@@ -45,6 +45,12 @@
</select>
</div>
</div>
<div class="form-group">
<div class="col-md-12" style="padding-bottom: 5px">
<label for="monthlyFeeEdit">Monthly Fee</label>
<input type="number" class="form-control" name="monthly_fee" id="monthlyFeeEdit" >
</div>
</div>
<div class="form-group">
<div class="col-md-6">
<div class='input-group date' id='myDatepicker22Edit' style="padding-bottom: 5px;">

View File

@@ -23,8 +23,20 @@
@foreach ($client_sender_ids as $row)
<tr class="even pointer">
<td class="mes-td col-md-2">{{ $row->senderid }} </td>
<td class="col-md-2">{{ $row->network_info->name }}</td>
<td class="col-md-2">{{ $row->network_info->country }}</td>
<td class="col-md-2">
<?php
if(isset($row->network_info->name)){
echo $row->network_info->name;
}
?>
</td>
<td class="col-md-2">
<?php
if(isset($row->network_info->country)){
echo $row->network_info->country;
}
?>
</td>
<td class="col-md-1"><span class="label label-<?php echo ($row->status == 'Approved') ? 'success' : 'warning'; ?>"> {{ $row->status }}</span></td>
<td class="col-md-2">{{ $row->created_by_info->name }}</td>
<td class="mes-td col-md-2" style="width: 100px;">{{ $row->remarks }}</td>

View File

@@ -8,6 +8,7 @@
<th class="column-title">Code</th>
<th class="column-title">Network</th>
<th class="column-title">Toll Free</th>
<th class="column-title">MOnthly Free</th>
<th class="column-title">Status</th>
<th class="column-title">Remarks</th>
<th class="column-title">Launch Date</th>
@@ -29,6 +30,7 @@
<td class="mes-td col-md-1 text-danger"><b>{{ $row->shortcode }}</b></td>
<td class="mes-td col-md-2">{{ $row->network }}</td>
<td class="mes-td col-md-1">{{ strtoupper($row->toll_free) }}</td>
<td class="mes-td col-md-1">{{ strtoupper($row->monthly_fee) }}</td>
<td class="mes-td col-md-1">
<!-- style='color:#3FB449; font-weight:bold;'
dump($row->status)

View File

@@ -8,6 +8,7 @@
<th class="column-title">Code</th>
<th class="column-title">Network</th>
<th class="column-title">Toll Free</th>
<th class="column-title">Monthly Fee</th>
<th class="column-title">Status</th>
<th class="column-title">Launch Date</th>
<th class="column-title">Renewal Date</th>
@@ -28,11 +29,12 @@
<td class="mes-td col-md-1">{{ $row->shortcode }}</td>
<td class="mes-td col-md-2">{{ $row->network }}</td>
<td class="mes-td col-md-1">{{ $row->toll_free }}</td>
<td class="mes-td col-md-1">{{ $row->monthly_fee }}</td>
<td class="mes-td col-md-1">{{ $row->status }}</td>
<td class="mes-td col-md-1" style="width: 100px;">{{ date('d-m-Y', strtotime($row->launch_date)) }}</td>
<td class="mes-td col-md-1" style="width: 100px;">
@if($row->expiry_date == false)
{{ "No found"}}
{{ "Not found"}}
@else
{{ date('d-m-Y', strtotime($row->expiry_date)) }}
@endif

View File

@@ -8,6 +8,7 @@
<th class="column-title">Code</th>
<th class="column-title">Network/Country</th>
<th class="column-title">Toll Free</th>
<th class="column-title">MOnthly Fee</th>
<th class="column-title">Status</th>
<!-- <th class="column-title">Remarks</th> -->
<th class="column-title">Launch Date</th>
@@ -29,6 +30,7 @@
<td class="mes-td col-md-1">{{ $row->shortcode }}</td>
<td class="mes-td col-md-2">{{ $row->network }}</td>
<td class="mes-td col-md-1">{{ $row->toll_free }}</td>
<td class="mes-td col-md-1">{{ $row->monthly_fee }}</td>
<td class="mes-td col-md-1">{{ $row->status }}</td>
<td class="mes-td col-md-1" style="width: 100px;">{{ date('d-m-Y', strtotime($row->launch_date)) }}</td>
<td class="mes-td col-md-1" style="width: 100px;">

View File

@@ -8,6 +8,7 @@
<th class="column-title">Code</th>
<th class="column-title">Network/Country</th>
<th class="column-title">Toll Free</th>
<th class="column-title">MOnthly Fee</th>
<th class="column-title">Status</th>
<th class="column-title">Launch Date</th>
<th class="column-title">Expiry Date</th>
@@ -28,6 +29,7 @@
<td class="mes-td col-md-1">{{ $row->shortcode }}</td>
<td class="mes-td col-md-2">{{ $row->network }}</td>
<td class="mes-td col-md-1">{{ $row->toll_free }}</td>
<td class="mes-td col-md-1">{{ $row->monthly_fee }}</td>
<td class="mes-td col-md-1">{{ $row->status }}</td>
<td class="mes-td col-md-1" style="width: 100px;">{{ date('d-m-Y', strtotime($row->launch_date)) }}</td>
<td class="mes-td col-md-1" style="width: 100px;">

View File

@@ -42,6 +42,9 @@
@include('commons.notifications')
</div>
<div class="x_content">
<div class="col-md-12">
</div>
<div class="col-md-3 col-sm-3 col-xs-12 profile_left">
<div class="profile_img">
<div id="crop-avatar">
@@ -103,254 +106,125 @@
</ul> -->
<!-- end of skills -->
</div>
<div class="col-md-9 col-sm-9 col-xs-12" style="border: 1px solid; min-height: 500px;">
<div class="" role="tabpanel" data-example-id="togglable-tabs">
<ul id="myTab" class="nav nav-tabs bar_tabs" role="tablist">
<li role="presentation" class="active"><a href="#tabCompany" id="company-tab" role="tab" class="text-success" data-toggle="tab" aria-expanded="true">Company</a></li>
<!-- <li role="presentation" class=""><a href="#tabConnection" role="tab" id="connection-tab" data-toggle="tab" aria-expanded="false">Connection</a></li> -->
<li role="presentation" class=""><a href="#tabContract" role="tab" id="contract-tab2" class="text-info bg-info" data-toggle="tab" aria-expanded="false">Contract</a></li>
<li role="presentation" class=""><a href="#tabFinance" role="tab" id="finance-tab2" class="text-success" data-toggle="tab" aria-expanded="false">Finance</a></li>
<li role="presentation" class=""><a href="#tabNotes" role="tab" id="notes-tab2" class="text-default" data-toggle="tab" aria-expanded="false">Notes</a></li>
<li role="presentation" class=""><a href="#tabSenderIDs" role="tab" id="senderIds-tab2" class="text-warning" data-toggle="tab" aria-expanded="false">Sender IDs</a></li>
<li role="presentation" class=""><a href="#tabSmsShortCode" role="tab" id="smsshortcode-tab2" class="text-info" data-toggle="tab" aria-expanded="false">SMS Short Codes</a></li>
<li role="presentation" class=""><a href="#tabUssdShortCode" role="tab" id="ussdshortcode-tab2" class="text-success" data-toggle="tab" aria-expanded="false">USSD Short Codes</a></li>
<li role="presentation" class=""><a href="#tabVoiceShortCode" role="tab" id="voiceshortcode-tab2" class="text-warning" data-toggle="tab" aria-expanded="false">Voice Short Codes</a></li>
</ul>
<div id="myTabContent" class="tab-content">
<div role="tabpanel" class="tab-pane fade active in" id="tabCompany" aria-labelledby="company-tab">
<div class="col-md-4">
<div class="row">
<div class="col-md-12">
<div class="" role="tabpanel" data-example-id="togglable-tabs">
<div class="col-xs-3">
<ul id="myTab" class="nav nav-tabs bar_tabs tabs-left" role="tablist">
<li role="presentation" class=""><a href="#tabContract" role="tab" id="contract-tab2" class="text-info bg-info" data-toggle="tab" aria-expanded="false">Contract</a></li>
<li role="presentation" class=""><a href="#tabFinance" role="tab" id="finance-tab2" class="text-success" data-toggle="tab" aria-expanded="false">Finance</a></li>
<li role="presentation" class=""><a href="#tabNotes" role="tab" id="notes-tab2" class="text-default" data-toggle="tab" aria-expanded="false">Notes</a></li>
<li role="presentation" class=""><a href="#tabSenderIDs" role="tab" id="senderIds-tab2" class="text-warning" data-toggle="tab" aria-expanded="false">Sender IDs</a></li>
<li role="presentation" class=""><a href="#tabSmsShortCode" role="tab" id="smsshortcode-tab2" class="text-info" data-toggle="tab" aria-expanded="false">SMS Short Codes</a></li>
<li role="presentation" class=""><a href="#tabUssdShortCode" role="tab" id="ussdshortcode-tab2" class="text-success" data-toggle="tab" aria-expanded="false">USSD Short Codes</a></li>
<li role="presentation" class=""><a href="#tabVoiceShortCode" role="tab" id="voiceshortcode-tab2" class="text-warning" data-toggle="tab" aria-expanded="false">Voice Short Codes</a></li>
</ul>
</div>
<div class="col-xs-9">
<div id="myTabContent" class="tab-content">
<div role="tabpanel" class="tab-pane fade" id="tabConnection" aria-labelledby="connection-tab">
<h4 class="lead"><strong>Connection Details </strong></h4>
<blockquote>
<p>Connection Types : <?php if($showclient->connections) { echo implode(", ", json_decode($showclient->connections, true)); } else {echo "N/A"; } ?></p>
<br>
<h4 class="lead"><strong>Company Details</strong></h4>
<blockquote>
<p>Country : <strong> {{ $showclient->country or "N/A" }}</strong></p>
<p>Company Type : <strong> {{ $showclient->company_type or "N/A" }}</strong></p>
<!-- <p>Products </p> -->
<!-- <p>Products Description</p> -->
<!-- <p>Product Specification</p> -->
<!-- <p>Networks</p> gettype(json_decode($showclient->sender_ids, true )); -->
<p>Requested Sender IDs : <strong> <?php if($showclient->sender_ids) { echo implode(", ", json_decode($showclient->sender_ids, true)); } else {echo "N/A"; } ?></strong></p>
</blockquote>
<h4 class="lead"><strong>Connection Details </strong></h4>
<blockquote>
<p>Connection Types : <em> <?php if($showclient->connections) { echo implode(", ", json_decode($showclient->connections, true)); } else {echo "N/A"; } ?></em></p>
<p>SMPP Username : <em>
<?php if($showclient->smpp_username) { echo $showclient->smpp_username; } else {echo "N/A"; } ?></em></p>
<p>Message Types : <em>
<?php if($showclient->message_types) {
$types_array = json_decode($showclient->message_types);
echo implode(', ', $types_array);
}
else {
echo "N/A";
} ?>
</em>
</p>
</blockquote>
</div>
<div class="col-md-4">
<h4 class="lead"><strong>Support Phone(s)</strong></h4>
@if(!empty($showclient->support_phones))
<blockquote>
<?php
$the_arr = json_decode($showclient->support_phones, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
<h4 class="lead"><strong>Support Email(s)</strong></h4>
@if(!empty($showclient->support_emails))
<blockquote>
<?php
$the_arr = json_decode($showclient->support_emails, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
@if(!empty($showclient->rate_emails))
<h4 class="lead"><strong>Rates Email(s)</strong></h4>
<blockquote>
<?php
$the_arr = json_decode($showclient->rate_emails, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
<h4 class="lead"><strong>Finance Email(s)</strong></h4>
@if(!empty($showclient->finance_email))
<blockquote>
<?php
$the_arr = json_decode($showclient->finance_email, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
</div>
<div class="col-md-4">
<h4 class="lead"><strong>Support Skype ID(s)</strong></h4>
@if(!empty($showclient->support_skype))
<blockquote>
<?php
$the_arr = json_decode($showclient->support_skype, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
<div class="well">
<h4>How We Got This Client</h4>
<?php echo $showclient->how_we_got_client ?? "N/A" ?>
<p>Partner SMPP Details <br>
<?php //if($showclient->smpp_details) { echo $showclient->smpp_details; } else {echo "N/A"; } ?></p>
</blockquote>
</div>
<h4>Documents</h4>
@if(!$showdocuments->isEmpty() == true)
@foreach($showdocuments as $docs)
<p class="url">
<span class="fs1 text-info" aria-hidden="true" data-icon=""></span>
<a href="{{ url('clients/downloadfile', $docs->id) }}"><i class="fa fa-paperclip"></i> {{ $docs->name }}.{{ $docs->file_extension }}</a>
</p>
@endforeach
@else
<p>No Documents found</p>
@endif
</div>
<div role="tabpanel" class="tab-pane fade" id="tabContract" aria-labelledby="contract-tab">
<h4 class="lead"> <strong>Contract Details </strong></h4>
<blockquote>
<p>Contract Type : <strong> {{ ucfirst($showclient->contract_type) ?? 'N/A'}} </strong><br> </p>
</div>
<div role="tabpanel" class="tab-pane fade" id="tabConnection" aria-labelledby="connection-tab">
<h4 class="lead"><strong>Connection Details </strong></h4>
<blockquote>
<p>Connection Types : <?php if($showclient->connections) { echo implode(", ", json_decode($showclient->connections, true)); } else {echo "N/A"; } ?></p>
<br>
<p>Partner SMPP Details <br>
<?php //if($showclient->smpp_details) { echo $showclient->smpp_details; } else {echo "N/A"; } ?></p>
</blockquote>
</div>
<div role="tabpanel" class="tab-pane fade" id="tabContract" aria-labelledby="contract-tab">
<h4 class="lead"> <strong>Contract Details </strong></h4>
<blockquote>
<p>Contract Type : <strong> {{ ucfirst($showclient->contract_type) ?? 'N/A'}} </strong><br> </p>
<p>Contract Validity (Date) : <strong> {{ $showclient->contract_validity or 'N/A'}} </strong></p>
<p>Contract Auto Renewal : <strong> {{ $showclient->contract_auto_renew or 'N/A'}} </strong></p>
@if($showclient->contract_auto_renew != 'YES')
<p>Renewal Due : <strong class="text-<?php echo ($highlight_colour == 'none') ? '' : 'danger'; ?> "> {{ $renewal_due }} </strong></p>
@endif
</blockquote>
<h4 class="lead"> <strong>Support Fees </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="addSupportFeesInfoBtn"><i class="fa fa-plus-square"></i> New Support Fee Info</button>
<div class="clearfix"></div>
@include('client.partials.support_fees')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabFinance" aria-labelledby="finance-tab">
<h4 class="lead"><strong>Finance Details </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createPaymentBtn"><i class="fa fa-plus-square"></i> New Payment Details</button>
<div class="clearfix"></div>
<hr>
@include('client.partials.recent-payments')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabNotes" aria-labelledby="notes-tab">
<strong><h3> Notes</h3> </strong>
<div class="pull-right">
<!-- {{ url('clients/create-notes') }} -->
<button type="button" class="btn btn-success btn-sm" id="createNotesBtn">New Notes <i class="fa fa-plus-square"></i> </button>
</div>
<p>Contract Validity (Date) : <strong> {{ $showclient->contract_validity or 'N/A'}} </strong></p>
<p>Contract Auto Renewal : <strong> {{ $showclient->contract_auto_renew or 'N/A'}} </strong></p>
@if($showclient->contract_auto_renew != 'YES')
<p>Renewal Due : <strong class="text-<?php echo ($highlight_colour == 'none') ? '' : 'danger'; ?> "> {{ $renewal_due }} </strong></p>
@endif
</blockquote>
<h4 class="lead"> <strong>Support Fees </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="addSupportFeesInfoBtn"><i class="fa fa-plus-square"></i> New Support Fee Info</button>
<div class="clearfix"></div>
<div style="background-color: #dce2e4; height: 400px; overflow: scroll;">
<ul class="messages list-group" style="padding: 15px;">
@if($show_notes->isEmpty())
<li style="" class="">No notes found</li>
@else
<?php for ($i = 0; $i < $show_notes->count(); $i++) { ?>
<?php if ($show_notes[$i]->highlight == 'YES'): continue; endif; ?>
<li class="list-group-item list-group-item-<?php echo ($i%2 == 0)? "secondary" : "info"; ?>">
<div class="message_date" style="padding-right: 10px;">
<h3 class="date text-info"><?php echo date('d', strtotime($show_notes[$i]->created_at)); ?></h3>
<p class="month"><?php echo date('M', strtotime($show_notes[$i]->created_at)); ?></p>
<p class="year"><?php echo date('Y', strtotime($show_notes[$i]->created_at)); ?></p>
</div>
<div class="message_wrapper">
<h4 class="heading">{{ $show_notes[$i]->client_info->name }}</h4>
<blockquote class="message"><em>Content : </em> {{ $show_notes[$i]->notes_body }}</blockquote>
<br />
<p class="url">
<span class="fs1 text-info" aria-hidden="true" data-icon=""></span>
<input type="hidden" name="notes_id" class="notesRowId" value="{{ $show_notes[$i]->id }}">
<a href="#" class="notesEditBtn"><i class="fa fa-edit"></i>Account Manager : {{ $show_notes[$i]->created_by_info->name }} </a>
</p>
</div>
</li>
<?php } ?>
@endif
</ul>
@include('client.partials.support_fees')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabFinance" aria-labelledby="finance-tab">
<h4 class="lead"><strong>Finance Details </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createPaymentBtn"><i class="fa fa-plus-square"></i> New Payment Details</button>
<div class="clearfix"></div>
<hr>
@include('client.partials.recent-payments')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabNotes" aria-labelledby="notes-tab">
<strong><h3> Notes</h3> </strong>
<div class="pull-right">
<!-- {{ url('clients/create-notes') }} -->
<button type="button" class="btn btn-success btn-sm" id="createNotesBtn">New Notes <i class="fa fa-plus-square"></i> </button>
</div>
<div class="clearfix"></div>
<div style="background-color: #dce2e4; height: 400px; overflow: scroll;">
<ul class="messages list-group" style="padding: 15px;">
@if($show_notes->isEmpty())
<li style="" class="">No notes found</li>
@else
<?php for ($i = 0; $i < $show_notes->count(); $i++) { ?>
<?php if ($show_notes[$i]->highlight == 'YES'): continue; endif; ?>
<li class="list-group-item list-group-item-<?php echo ($i%2 == 0)? "secondary" : "info"; ?>">
<div class="message_date" style="padding-right: 10px;">
<h3 class="date text-info"><?php echo date('d', strtotime($show_notes[$i]->created_at)); ?></h3>
<p class="month"><?php echo date('M', strtotime($show_notes[$i]->created_at)); ?></p>
<p class="year"><?php echo date('Y', strtotime($show_notes[$i]->created_at)); ?></p>
</div>
<div class="message_wrapper">
<h4 class="heading">{{ $show_notes[$i]->client_info->name }}</h4>
<blockquote class="message"><em>Content : </em> {{ $show_notes[$i]->notes_body }}</blockquote>
<br />
<p class="url">
<span class="fs1 text-info" aria-hidden="true" data-icon=""></span>
<input type="hidden" name="notes_id" class="notesRowId" value="{{ $show_notes[$i]->id }}">
<a href="#" class="notesEditBtn"><i class="fa fa-edit"></i>Account Manager : {{ $show_notes[$i]->created_by_info->name }} </a>
</p>
</div>
</li>
<?php } ?>
@endif
</ul>
</div>
</div>
<div role="tabpanel" class="tab-pane fade" id="tabSenderIDs" aria-labelledby="senderIds-tab">
<h4 class="lead"><strong>Sender IDs </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createSenderIdBtn"><i class="fa fa-plus-square"></i> New Sender ID</button>
<div class="clearfix"></div>
@include('client.partials.sender-ids')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabSmsShortCode" aria-labelledby="smsshortcode-tab">
<h4 class="lead"><strong>SMS Short Code </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createSmsShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.sms-codes')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabUssdShortCode" aria-labelledby="ussdshortcode-tab">
<h4 class="lead"><strong>USSD Short Codes </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createUssdShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.ussd-codes')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabVoiceShortCode" aria-labelledby="voiceshortcode-tab">
<h4 class="lead"><strong>Voice Short Code </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createVoiceShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.voice-codes')
</div>
</div>
</div>
<div role="tabpanel" class="tab-pane fade" id="tabSenderIDs" aria-labelledby="senderIds-tab">
<h4 class="lead"><strong>Sender IDs </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createSenderIdBtn"><i class="fa fa-plus-square"></i> New Sender ID</button>
<div class="clearfix"></div>
@include('client.partials.sender-ids')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabSmsShortCode" aria-labelledby="smsshortcode-tab">
<h4 class="lead"><strong>SMS Short Code </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createSmsShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.sms-codes')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabUssdShortCode" aria-labelledby="ussdshortcode-tab">
<h4 class="lead"><strong>USSD Short Codes </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createUssdShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.ussd-codes')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabVoiceShortCode" aria-labelledby="voiceshortcode-tab">
<h4 class="lead"><strong>Voice Short Code </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createVoiceShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.voice-codes')
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,415 @@
@extends('layouts.master')
@section('page_title')
@if(isset($page_title))
{{ $page_title }}
@endif
@endsection
@section('css')
<link href="{{ url('public/assets/vendors/iCheck/skins/flat/green.css') }}" rel="stylesheet">
@endsection
@section('content')
@include('client.partials.new_notes')
@include('client.partials.edit-notes')
@include('client.partials.finance')
@include('client.partials.create-shortcodes')
@include('client.partials.edit-shortcodes')
@include('client.partials.edit-finance')
@include('client.partials.progress_indicator_details')
@include('client.partials.support_fees_form')
@include('client.partials.create-senderids')
<?php ?>
<div class="">
<div class="page-title">
<div class="title_left">
</div>
<div class="title_left">
<ol class="breadcrumb">
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
<li><a href="{!! url('clients') !!}">Clients</a></li>
<li class="active">Client Details</li>
</ol>
</div>
</div>
<div class="clearfix"></div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="x_panel">
<div class="x_title">
<h2>Client Details </h2>
<div class="clearfix"></div>
@include('commons.notifications')
</div>
<div class="x_content">
<div class="col-md-3 col-sm-3 col-xs-12 profile_left">
<div class="profile_img">
<div id="crop-avatar">
<!-- Current avatar -->
@if($showclient->country_flag_info !== null)
<img class="img-responsives avatar-views" src="{{ url($showclient->country_flag_info->url) }}" alt="Generic Client Icon" title="Country Flag" width="100px">
@else
<img class="img-responsive avatar-view" src="{{ url('public/assets/img/generic-client.png') }}" alt="Generic Client Icon" title="Change the avatar" width="100px">
@endif
</div>
</div>
<h3>{{ $showclient->name }}</h3>
<div class="well" style="border-radius: 25px;">
Click Account Manager <br>
<strong><em> <?php echo $showclient->auth_user_info->name ?? 'N/A' ?> </em></strong>
</div>
<h4>
Status : <span class="label label-{{ $status_bg }}">{{ $showclient->status }}</span>&nbsp;
<span role="button" id="progressIndicatorBtn" class="label label-{{ $progress_status_bg }}"> Progress: {{ $showclient->progress_indicator_score }}%</span>
</h4>
<ul class="list-unstyled user_data">
<li><i class="fa fa-phone user-profile-icon"></i> <?php echo $showclient->phone ?? "N/A"; ?></li>
<li><i class="fa fa-envelope user-profile-icon"></i> <?php echo $showclient->email ?? "N/A"; ?> </li>
<li class="m-top-xs"><i class="fa fa-skype user-profile-icon"></i> <?php echo $showclient->skype_name ?? "N/A"; ?></li>
<li class="m-top-xs"><i class="fa fa-linkedin user-profile-icon"></i> <?php echo $showclient->linkedin_name ?? "N/A"; ?></li>
</ul>
<h5 style="text-decoration: underline;">Highlights</h5>
@if(!$show_notes->isEmpty())
<ul class="legend list-unstyled">
<li>
<p>
<span class="icon"><i class="fa fa-square blue"></i></span> <span class="name">
<?php for ($i = 0; $i < $show_notes->count(); $i++) { ?>
<?php if ($show_notes[$i]->highlight == 'NO'): continue; endif; ?>
<strong> {{ $i+1 . "." }}</strong> {{ $show_notes[$i]->notes_body }}
<?php } ?>
</span>
</p>
</li>
</ul>
@endif
@if(session('current_user.id') == $showclient->auth_user_id)
<a class="btn btn-success" href="{{ url('clients/'. $showclient->id . '/edit') }}"><i class="fa fa-edit m-right-xs"></i> Edit Client</a>
<a class="btn btn-primary" href="{{ url('clients/onboarding', $showclient->id) }}"><i class="fa fa-edit m-right-xs"></i> Onboarding Checklist</a>
@endif
<a class="btn btn-primary" href="{{ url('clients/readonly/'. $showclient->id) }}"><i class="fa fa-eye m-right-xs"></i> Full Details (Readonly)</a>
<br />
<!-- start skills -->
<!-- <h4>Finance</h4>
<ul class="list-unstyled user_data">
<li><i class="fa fa-phone user-profile-icon"></i> [Phone Number here]</li>
<li><i class="fa fa-envelope user-profile-icon"></i> [email here] </li>
<li class="m-top-xs"><i class="fa fa-skype user-profile-icon"></i> [Skype ID Here]</li>
</ul> -->
<!-- end of skills -->
</div>
<div class="col-md-9 col-sm-9 col-xs-12" style="border: 1px solid; min-height: 500px;">
<div class="" role="tabpanel" data-example-id="togglable-tabs">
<ul id="myTab" class="nav nav-tabs bar_tabs" role="tablist">
<li role="presentation" class="active"><a href="#tabCompany" id="company-tab" role="tab" class="text-success" data-toggle="tab" aria-expanded="true">Company</a></li>
<!-- <li role="presentation" class=""><a href="#tabConnection" role="tab" id="connection-tab" data-toggle="tab" aria-expanded="false">Connection</a></li> -->
<li role="presentation" class=""><a href="#tabContract" role="tab" id="contract-tab2" class="text-info bg-info" data-toggle="tab" aria-expanded="false">Contract</a></li>
<li role="presentation" class=""><a href="#tabFinance" role="tab" id="finance-tab2" class="text-success" data-toggle="tab" aria-expanded="false">Finance</a></li>
<li role="presentation" class=""><a href="#tabNotes" role="tab" id="notes-tab2" class="text-default" data-toggle="tab" aria-expanded="false">Notes</a></li>
<li role="presentation" class=""><a href="#tabSenderIDs" role="tab" id="senderIds-tab2" class="text-warning" data-toggle="tab" aria-expanded="false">Sender IDs</a></li>
<li role="presentation" class=""><a href="#tabSmsShortCode" role="tab" id="smsshortcode-tab2" class="text-info" data-toggle="tab" aria-expanded="false">SMS Short Codes</a></li>
<li role="presentation" class=""><a href="#tabUssdShortCode" role="tab" id="ussdshortcode-tab2" class="text-success" data-toggle="tab" aria-expanded="false">USSD Short Codes</a></li>
<li role="presentation" class=""><a href="#tabVoiceShortCode" role="tab" id="voiceshortcode-tab2" class="text-warning" data-toggle="tab" aria-expanded="false">Voice Short Codes</a></li>
</ul>
<div id="myTabContent" class="tab-content">
<div role="tabpanel" class="tab-pane fade active in" id="tabCompany" aria-labelledby="company-tab">
<div class="col-md-4">
<h4 class="lead"><strong>Company Details</strong></h4>
<blockquote>
<p>Country : <strong> {{ $showclient->country or "N/A" }}</strong></p>
<p>Company Type : <strong> {{ $showclient->company_type or "N/A" }}</strong></p>
<!-- <p>Products </p> -->
<!-- <p>Products Description</p> -->
<!-- <p>Product Specification</p> -->
<!-- <p>Networks</p> gettype(json_decode($showclient->sender_ids, true )); -->
<p>Requested Sender IDs : <strong> <?php if($showclient->sender_ids) { echo implode(", ", json_decode($showclient->sender_ids, true)); } else {echo "N/A"; } ?></strong></p>
</blockquote>
<h4 class="lead"><strong>Connection Details </strong></h4>
<blockquote>
<p>Connection Types : <em> <?php if($showclient->connections) { echo implode(", ", json_decode($showclient->connections, true)); } else {echo "N/A"; } ?></em></p>
<p>SMPP Username : <em>
<?php if($showclient->smpp_username) { echo $showclient->smpp_username; } else {echo "N/A"; } ?></em></p>
<p>Message Types : <em>
<?php if($showclient->message_types) {
$types_array = json_decode($showclient->message_types);
echo implode(', ', $types_array);
}
else {
echo "N/A";
} ?>
</em>
</p>
</blockquote>
</div>
<div class="col-md-4">
<h4 class="lead"><strong>Support Phone(s)</strong></h4>
@if(!empty($showclient->support_phones))
<blockquote>
<?php
$the_arr = json_decode($showclient->support_phones, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
<h4 class="lead"><strong>Support Email(s)</strong></h4>
@if(!empty($showclient->support_emails))
<blockquote>
<?php
$the_arr = json_decode($showclient->support_emails, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
@if(!empty($showclient->rate_emails))
<h4 class="lead"><strong>Rates Email(s)</strong></h4>
<blockquote>
<?php
$the_arr = json_decode($showclient->rate_emails, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
<h4 class="lead"><strong>Finance Email(s)</strong></h4>
@if(!empty($showclient->finance_email))
<blockquote>
<?php
$the_arr = json_decode($showclient->finance_email, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
</div>
<div class="col-md-4">
<h4 class="lead"><strong>Support Skype ID(s)</strong></h4>
@if(!empty($showclient->support_skype))
<blockquote>
<?php
$the_arr = json_decode($showclient->support_skype, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
</blockquote>
@else
N/A
@endif
<div class="well">
<h4>How We Got This Client</h4>
<?php echo $showclient->how_we_got_client ?? "N/A" ?>
</div>
<h4>Documents</h4>
@if(!$showdocuments->isEmpty() == true)
@foreach($showdocuments as $docs)
<p class="url">
<span class="fs1 text-info" aria-hidden="true" data-icon=""></span>
<a href="{{ url('clients/downloadfile', $docs->id) }}"><i class="fa fa-paperclip"></i> {{ $docs->name }}.{{ $docs->file_extension }}</a>
</p>
@endforeach
@else
<p>No Documents found</p>
@endif
</div>
</div>
<div role="tabpanel" class="tab-pane fade" id="tabConnection" aria-labelledby="connection-tab">
<h4 class="lead"><strong>Connection Details </strong></h4>
<blockquote>
<p>Connection Types : <?php if($showclient->connections) { echo implode(", ", json_decode($showclient->connections, true)); } else {echo "N/A"; } ?></p>
<br>
<p>Partner SMPP Details <br>
<?php //if($showclient->smpp_details) { echo $showclient->smpp_details; } else {echo "N/A"; } ?></p>
</blockquote>
</div>
<div role="tabpanel" class="tab-pane fade" id="tabContract" aria-labelledby="contract-tab">
<h4 class="lead"> <strong>Contract Details </strong></h4>
<blockquote>
<p>Contract Type : <strong> {{ ucfirst($showclient->contract_type) ?? 'N/A'}} </strong><br> </p>
<p>Contract Validity (Date) : <strong> {{ $showclient->contract_validity or 'N/A'}} </strong></p>
<p>Contract Auto Renewal : <strong> {{ $showclient->contract_auto_renew or 'N/A'}} </strong></p>
@if($showclient->contract_auto_renew != 'YES')
<p>Renewal Due : <strong class="text-<?php echo ($highlight_colour == 'none') ? '' : 'danger'; ?> "> {{ $renewal_due }} </strong></p>
@endif
</blockquote>
<h4 class="lead"> <strong>Support Fees </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="addSupportFeesInfoBtn"><i class="fa fa-plus-square"></i> New Support Fee Info</button>
<div class="clearfix"></div>
@include('client.partials.support_fees')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabFinance" aria-labelledby="finance-tab">
<h4 class="lead"><strong>Finance Details </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createPaymentBtn"><i class="fa fa-plus-square"></i> New Payment Details</button>
<div class="clearfix"></div>
<hr>
@include('client.partials.recent-payments')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabNotes" aria-labelledby="notes-tab">
<strong><h3> Notes</h3> </strong>
<div class="pull-right">
<!-- {{ url('clients/create-notes') }} -->
<button type="button" class="btn btn-success btn-sm" id="createNotesBtn">New Notes <i class="fa fa-plus-square"></i> </button>
</div>
<div class="clearfix"></div>
<div style="background-color: #dce2e4; height: 400px; overflow: scroll;">
<ul class="messages list-group" style="padding: 15px;">
@if($show_notes->isEmpty())
<li style="" class="">No notes found</li>
@else
<?php for ($i = 0; $i < $show_notes->count(); $i++) { ?>
<?php if ($show_notes[$i]->highlight == 'YES'): continue; endif; ?>
<li class="list-group-item list-group-item-<?php echo ($i%2 == 0)? "secondary" : "info"; ?>">
<div class="message_date" style="padding-right: 10px;">
<h3 class="date text-info"><?php echo date('d', strtotime($show_notes[$i]->created_at)); ?></h3>
<p class="month"><?php echo date('M', strtotime($show_notes[$i]->created_at)); ?></p>
<p class="year"><?php echo date('Y', strtotime($show_notes[$i]->created_at)); ?></p>
</div>
<div class="message_wrapper">
<h4 class="heading">{{ $show_notes[$i]->client_info->name }}</h4>
<blockquote class="message"><em>Content : </em> {{ $show_notes[$i]->notes_body }}</blockquote>
<br />
<p class="url">
<span class="fs1 text-info" aria-hidden="true" data-icon=""></span>
<input type="hidden" name="notes_id" class="notesRowId" value="{{ $show_notes[$i]->id }}">
<a href="#" class="notesEditBtn"><i class="fa fa-edit"></i>Account Manager : {{ $show_notes[$i]->created_by_info->name }} </a>
</p>
</div>
</li>
<?php } ?>
@endif
</ul>
</div>
</div>
<div role="tabpanel" class="tab-pane fade" id="tabSenderIDs" aria-labelledby="senderIds-tab">
<h4 class="lead"><strong>Sender IDs </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createSenderIdBtn"><i class="fa fa-plus-square"></i> New Sender ID</button>
<div class="clearfix"></div>
@include('client.partials.sender-ids')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabSmsShortCode" aria-labelledby="smsshortcode-tab">
<h4 class="lead"><strong>SMS Short Code </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createSmsShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.sms-codes')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabUssdShortCode" aria-labelledby="ussdshortcode-tab">
<h4 class="lead"><strong>USSD Short Codes </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createUssdShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.ussd-codes')
</div>
<div role="tabpanel" class="tab-pane fade" id="tabVoiceShortCode" aria-labelledby="voiceshortcode-tab">
<h4 class="lead"><strong>Voice Short Code </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="createVoiceShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.voice-codes')
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('javascript')
<script src="{{ url('public/assets/vendors/iCheck/icheck.min.js') }}"></script>
<script src="{{ url('public/assets/js/clientshow.js') }}"></script>
<script type="text/javascript">
// iCheck
$(document).ready(function() {
if ($("input.flat")[0]) {
$(document).ready(function () {
$('input.flat').iCheck({
checkboxClass: 'icheckbox_flat-green',
radioClass: 'iradio_flat-green'
});
});
}
});
// /iCheck
// Table
$('table input').on('ifChecked', function () {
checkState = '';
$(this).parent().parent().parent().addClass('selected');
countChecked();
});
$('table input').on('ifUnchecked', function () {
checkState = '';
$(this).parent().parent().parent().removeClass('selected');
countChecked();
});
var checkState = '';
$('.bulk_action input').on('ifChecked', function () {
checkState = '';
$(this).parent().parent().parent().addClass('selected');
countChecked();
});
$('.bulk_action input').on('ifUnchecked', function () {
checkState = '';
$(this).parent().parent().parent().removeClass('selected');
countChecked();
});
$('.bulk_action input#check-all').on('ifChecked', function () {
checkState = 'all';
countChecked();
});
$('.bulk_action input#check-all').on('ifUnchecked', function () {
checkState = 'none';
countChecked();
});
</script>
@endsection

View File

@@ -0,0 +1,438 @@
@extends('layouts.master')
@section('page_title')
@if(isset($page_title))
{{ $page_title }}
@endif
@endsection
@section('css')
<link href="{{ url('public/assets/vendors/iCheck/skins/flat/green.css') }}" rel="stylesheet">
@endsection
@section('content')
@include('client.partials.new_notes')
@include('client.partials.edit-notes')
@include('client.partials.finance')
@include('client.partials.create-shortcodes')
@include('client.partials.edit-shortcodes')
@include('client.partials.edit-finance')
@include('client.partials.progress_indicator_details')
@include('client.partials.support_fees_form')
@include('client.partials.create-senderids')
<div class="">
<div class="x_content">
<div class="col-md-12 col-sm-12 col-xs-12">
<div class="x_panel">
<div class="x_title">
<h2><i class="fa fa-align-left"></i> Client Details</h2>
<div class="clearfix"></div>
@include('commons.notifications')
</div>
<div class="x_content">
<!-- start accordion -->
<div class="accordion" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel">
<a class="panel-heading" role="tab" id="headingZero" data-toggle="collapse" data-parent="#accordion" href="#collapseZero" aria-expanded="true" aria-controls="collapseZero">
<h4 class="panel-title">Details Summary</h4>
</a>
<div id="collapseZero" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingZero">
<div class="panel-body">
<div class="col-md-12">
<ul class="stats-overview">
<li>
<span class="name"> Total Payments </span>
<span class="value text-success"> {{ number_format($recent_payments->sum('invoice_amount')) }} </span>
</li>
<li>
<span class="name"> Short Codes </span>
<span class="value text-success">
{{ $ussd_codes->count() + $sms_codes->count() + $voice_codes->count() }}
</span>
</li>
<li class="hidden-phone">
<span class="name"> Sender IDs </span>
<span class="value text-success"> {{ $client_sender_ids->count() }} </span>
</li>
</ul>
</div>
<div class="col-md-5">
<div class="text-centerM">
<div class="profile_img" style="padding-bottom: 5px;">
<div id="crop-avatar">
<!-- Current avatar -->
@if($showclient->country_flag_info !== null)
<!-- <img class="img-responsives avatar-views" src="{{ url($showclient->country_flag_info->url) }}" alt="Generic Client Icon" title="Country Flag" width="100px"> -->
@else
<!-- <img class="img-responsive avatar-view" src="{{ url('public/assets/img/generic-client.png') }}" alt="Generic Client Icon" title="Change the avatar" width="100px"> -->
@endif
</div>
</div>
<p class="text-warning" style="font-size: larger;"><strong>{{ $showclient->name }}</strong></p>
<h4>
Status : <span class="label label-{{ $status_bg }}">{{ $showclient->status }}</span>&nbsp;
<span role="button" id="progressIndicatorBtn" class="label label-{{ $progress_status_bg }}"> Progress: {{ $showclient->progress_indicator_score }}%</span>
</h4>
<div class="">
Client Account Manager : <strong><em> <?php echo $showclient->contact_person ?? 'N/A' ?> </em></strong>
</div>
<div class="">
Click Account Manager : <strong><em> <?php echo $showclient->auth_user_info->name ?? 'N/A' ?> </em></strong>
</div>
<ul class="list-unstyled user_data">
<li>
<i class="fa fa-phone user-profile-icon"></i> <?php echo $showclient->phone ?? "N/A"; ?> | <i class="fa fa-envelope user-profile-icon"></i> <?php echo $showclient->email ?? "N/A"; ?>
</li>
<li>
<i class="fa fa-skype user-profile-icon"></i> <?php echo $showclient->skype_name ?? "N/A"; ?> | <i class="fa fa-linkedin user-profile-icon"></i> <?php echo $showclient->linkedin_name ?? "N/A"; ?>
</li>
</ul>
<ul class="list-unstyled user_data">
<li>Country : <strong> {{ $showclient->country or "N/A" }}</strong> | Company Type : <strong> {{ $showclient->company_type or "N/A" }}</strong></li>
</ul>
@if(session('current_user.id') == $showclient->auth_user_id)
<a class="btn btn-success btn-sm" href="{{ url('clients/'. $showclient->id . '/edit') }}"><i class="fa fa-edit m-right-xs"></i> Edit Client</a>
<a class="btn btn-primary btn-sm" href="{{ url('clients/onboarding', $showclient->id) }}"><i class="fa fa-edit m-right-xs"></i> Checklist</a>
@endif
</div>
</div>
<div class="col-md-4">
<h5 style="text-decoration: underline;">Contract</h5>
<ul class="list-unstyled user_data">
<li>Contract Type : <strong> {{ ucfirst($showclient->contract_type) ?? 'N/A'}} </strong></li>
<li>Contract Validity (Date) : <strong> {{ $showclient->contract_validity or 'N/A'}} </strong></li>
<li>Contract Auto Renewal : <strong> {{ $showclient->contract_auto_renew or 'N/A'}} </strong></li>
</ul>
@if($showclient->contract_auto_renew != 'YES')
<p>Renewal Due : <strong class="text-<?php echo ($highlight_colour == 'none') ? '' : 'danger'; ?> "> {{ $renewal_due }} </strong></p>
@endif
<h5 class="" style="text-decoration: underline;"><strong>Connection Details </strong></h5>
<p>Connection Types : <em> <?php if($showclient->connections) { echo implode(", ", json_decode($showclient->connections, true)); } else {echo "N/A"; } ?></em></p>
<p>SMPP Username : <em>
<?php if($showclient->smpp_username) { echo $showclient->smpp_username; } else {echo "N/A"; } ?></em></p>
<p>Message Types : <em>
<?php if($showclient->message_types) {
$types_array = json_decode($showclient->message_types);
echo implode(', ', $types_array);
}
else {
echo "N/A";
} ?>
</em>
</p>
</div>
<div class="col-md-3">
<h5 style="text-decoration: underline;">Documents</h5>
@if(!$showdocuments->isEmpty() == true)
@foreach($showdocuments as $docs)
<p class="url">
<span class="fs1 text-info" aria-hidden="true" data-icon=""></span>
<a href="{{ url('clients/downloadfile', $docs->id) }}" title="Click to Download"><i class="fa fa-paperclip"></i> {{ $docs->name }}.{{ $docs->file_extension }}</a>
</p>
@endforeach
@else
<p>No Documents uploaded</p>
@endif
<div class="" style="padding-top: 10px;">
<h5 style="text-decoration: underline;">How We Got This Client</h5>
<p class="label label-success">
<?php echo $showclient->how_we_got_client ?? "N/A" ?>
</p>
</div>
</div>
<div class="col-md-12">
<h5>Notes(Highlights)</h5>
<ul class="legend list-unstyled">
<li>
<p>
<span class="icon"><i class="fa fa-square blue"></i></span> <span class="name">
<?php for ($i = 0; $i < $show_notes_highlight->count(); $i++) { ?>
<strong> {{ $i+1 . "." }}</strong>
{{ $show_notes_highlight[$i]->notes_body }}
<?php } ?>
</span>
</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="panel">
<a class="panel-heading collapsed" role="tab" id="headingOne" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
<h3 class="panel-title">Contact & Support Details</h3>
</a>
<div id="collapseOne" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
<div class="row">
<div class="col-md-6">
<h5 class=""><strong>Support Phone(s)</strong></h5>
@if(!empty($showclient->support_phones))
<?php
$the_arr = json_decode($showclient->support_phones, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
@else
N/A
@endif
<h5 class=""><strong>Support Email(s)</strong></h5>
@if(!empty($showclient->support_emails))
<?php
$the_arr = json_decode($showclient->support_emails, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
@else
N/A
@endif
@if(!empty($showclient->rate_emails))
<h5 class=""><strong>Rates Email(s)</strong></h5>
<?php
$the_arr = json_decode($showclient->rate_emails, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
@else
N/A
@endif
</div>
<div class="col-md-6">
<h5 class=""><strong>Finance Email(s)</strong></h5>
@if(!empty($showclient->finance_email))
<?php
$the_arr = json_decode($showclient->finance_email, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
@else
N/A
@endif
<h5 class=""><strong>Support Skype ID(s)</strong></h5>
@if(!empty($showclient->support_skype))
<?php
$the_arr = json_decode($showclient->support_skype, true) ?>
<ul>
<?php foreach ($the_arr as $row): ?>
<li>{{ $row }}</li>
<?php endforeach ?>
</ul>
@else
N/A
@endif
</div>
</div>
</div>
</div>
</div>
<div class="panel">
<a class="panel-heading collapsed" role="tab" id="headingTwo" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
<h4 class="panel-title">Support Fees</h4>
</a>
<div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
<div class="panel-body">
<h4 class="lead"> <strong>Fees List </strong></h4>
<button type="button" class="btn btn-success btn-sm pull-right" id="addSupportFeesInfoBtn"><i class="fa fa-plus-square"></i> New Support Fee Info</button>
<div class="clearfix"></div>
@include('client.partials.support_fees')
</div>
</div>
</div>
<div class="panel">
<a class="panel-heading collapsed" role="tab" id="headingThree" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
<h4 class="panel-title">Notes</h4>
</a>
<div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
<div class="panel-body">
<!-- <p><strong>Collapsible Item 3 data</strong></p> -->
<div class="pull-rightMMM">
<button type="button" class="btn btn-success btn-sm" id="createNotesBtn">New Notes <i class="fa fa-plus-square"></i> </button>
</div>
<div class="clearfix"></div>
<div style="background-color: #dce2e4; height: 400px; overflow: scroll;">
<ul class="messages list-group" style="padding: 15px;">
@if($show_notes->isEmpty())
<li style="" class="">No notes found</li>
@else
<?php for ($i = 0; $i < $show_notes->count(); $i++) { ?>
<?php if ($show_notes[$i]->highlight == 'YES'): continue; endif; ?>
<li class="list-group-item list-group-item-<?php echo ($i%2 == 0)? "secondary" : "info"; ?>">
<div class="message_date" style="padding-right: 10px;">
<h3 class="date text-info"><?php echo date('d', strtotime($show_notes[$i]->created_at)); ?></h3>
<p class="month"><?php echo date('M', strtotime($show_notes[$i]->created_at)); ?></p>
<p class="year"><?php echo date('Y', strtotime($show_notes[$i]->created_at)); ?></p>
</div>
<div class="message_wrapper">
<h4 class="heading">{{ $show_notes[$i]->client_info->name }}</h4>
<blockquote class="message"><em>Content : </em> {{ $show_notes[$i]->notes_body }}</blockquote>
<br />
<p class="url">
<span class="fs1 text-info" aria-hidden="true" data-icon=""></span>
<input type="hidden" name="notes_id" class="notesRowId" value="{{ $show_notes[$i]->id }}">
<a href="#" class="notesEditBtn"><i class="fa fa-edit"></i>Account Manager : {{ $show_notes[$i]->created_by_info->name }} </a>
</p>
</div>
</li>
<?php } ?>
@endif
</ul>
</div>
</div>
</div>
</div>
<div class="panel">
<a class="panel-heading collapsed" role="tab" id="headingFour" data-toggle="collapse" data-parent="#accordion" href="#collapseFour" aria-expanded="false" aria-controls="collapseFour">
<h4 class="panel-title">Recent Payments</h4>
</a>
<div id="collapseFour" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingFour">
<div class="panel-body">
<!-- <p><strong>Collapsible Item Four data</strong></p> -->
<button type="button" class="btn btn-success btn-sm pull-rightb" id="createPaymentBtn"><i class="fa fa-plus-square"></i> New Payment Details</button>
<div class="clearfix"></div>
<div class="" style="background-color: #dce2e4; height: 400px; overflow: scroll;">
@include('client.partials.recent-payments')
</div>
</div>
</div>
</div>
<div class="panel">
<a class="panel-heading collapsed" role="tab" id="headingFive" data-toggle="collapse" data-parent="#accordion" href="#collapseFive" aria-expanded="false" aria-controls="collapseFive">
<h4 class="panel-title">Sender IDs</h4>
</a>
<div id="collapseFive" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingFive">
<div class="panel-body">
<!-- <p><strong>Collapsible Item Five data</strong></p> -->
<button type="button" class="btn btn-success btn-sm pull-rightMM" id="createSenderIdBtn"><i class="fa fa-plus-square"></i> New Sender ID</button>
<div class="clearfix"></div>
@include('client.partials.sender-ids')
</div>
</div>
</div>
<div class="panel">
<a class="panel-heading collapsed" role="tab" id="headingSix" data-toggle="collapse" data-parent="#accordion" href="#collapseSix" aria-expanded="false" aria-controls="collapseSix">
<h4 class="panel-title">SMS Short Codes</h4>
</a>
<div id="collapseSix" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingSix">
<div class="panel-body">
<!-- <p><strong>Collapsible Item Six data</strong></p> -->
<button type="button" class="btn btn-success btn-sm pull-rightE" id="createSmsShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.sms-codes')
</div>
</div>
</div>
<div class="panel">
<a class="panel-heading collapsed" role="tab" id="headingSeven" data-toggle="collapse" data-parent="#accordion" href="#collapseSeven" aria-expanded="false" aria-controls="collapseSeven">
<h4 class="panel-title">USSD Short Codes</h4>
</a>
<div id="collapseSeven" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingSeven">
<div class="panel-body">
<!-- <h4 class="lead"><strong>USSD Short Codes </strong></h4> -->
<button type="button" class="btn btn-success btn-sm" id="createUssdShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.ussd-codes')
</div>
</div>
</div>
<div class="panel">
<a class="panel-heading collapsed" role="tab" id="headingVoice" data-toggle="collapse" data-parent="#accordion" href="#collapseVoice" aria-expanded="false" aria-controls="collapseVoice">
<h4 class="panel-title">Voice Short Codes</h4>
</a>
<div id="collapseVoice" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingVoice">
<div class="panel-body">
<!-- <p><strong>Collapsible Item Voice data</strong></p> -->
<button type="button" class="btn btn-success btn-sm" id="createVoiceShortCodeBtn"><i class="fa fa-plus-square"></i> New Short Code</button>
<div class="clearfix"></div>
@include('client.partials.voice-codes')
</div>
</div>
</div>
</div>
<!-- end of accordion -->
</div>
</div>
</div>
</div>
</div>
@endsection
@section('javascript')
<script src="{{ url('public/assets/vendors/iCheck/icheck.min.js') }}"></script>
<script src="{{ url('public/assets/js/clientshow.js') }}"></script>
<script type="text/javascript">
// iCheck
$(document).ready(function() {
if ($("input.flat")[0]) {
$(document).ready(function () {
$('input.flat').iCheck({
checkboxClass: 'icheckbox_flat-green',
radioClass: 'iradio_flat-green'
});
});
}
});
// /iCheck
// Table
$('table input').on('ifChecked', function () {
checkState = '';
$(this).parent().parent().parent().addClass('selected');
countChecked();
});
$('table input').on('ifUnchecked', function () {
checkState = '';
$(this).parent().parent().parent().removeClass('selected');
countChecked();
});
var checkState = '';
$('.bulk_action input').on('ifChecked', function () {
checkState = '';
$(this).parent().parent().parent().addClass('selected');
countChecked();
});
$('.bulk_action input').on('ifUnchecked', function () {
checkState = '';
$(this).parent().parent().parent().removeClass('selected');
countChecked();
});
$('.bulk_action input#check-all').on('ifChecked', function () {
checkState = 'all';
countChecked();
});
$('.bulk_action input#check-all').on('ifUnchecked', function () {
checkState = 'none';
countChecked();
});
</script>
@endsection