bug fixes, mno,client contract renewals, scheduling

This commit is contained in:
Kwesi Banson
2024-06-10 21:40:28 +00:00
parent 1a4a3acfda
commit 464b544587
110 changed files with 531 additions and 127 deletions

BIN
.DS_Store vendored Executable file

Binary file not shown.

BIN
app/.DS_Store vendored Executable file

Binary file not shown.

View File

@@ -0,0 +1,46 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Http\Controllers\ClientContractRenewalAlertsController;
class ProcessClientContractRenewalAlert extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'client_renewal:send';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Send notices on client pending contract renewals';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct(ClientContractRenewalAlertsController $client_contractRenewalReminder)
{
parent::__construct();
$this->client_contractRenewalReminder = $client_contractRenewalReminder;
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->client_contractRenewalReminder->getClientDetails();
\Log::info('SendClientContractRenewalReminders command completed...');
}
}

View File

@@ -0,0 +1,46 @@
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Http\Controllers\ContractRenewalReminderController;
class SendContractRenewalReminders extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'renewal:send';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Send notices on pending contract renewals';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct(ContractRenewalReminderController $contractRenewalReminder)
{
parent::__construct();
$this->contractRenewalReminder = $contractRenewalReminder;
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$this->contractRenewalReminder->getMnos();
\Log::info('SendContractRenewalReminders command completed...');
}
}

View File

@@ -13,7 +13,8 @@ class Kernel extends ConsoleKernel
* @var array
*/
protected $commands = [
//
Commands\SendContractRenewalReminders::class
Commands\ProcessClientContractRenewalAlert::class
];
/**
@@ -26,6 +27,8 @@ class Kernel extends ConsoleKernel
{
// $schedule->command('inspire')
// ->hourly();
$schedule->command('renewal:send')->weekdays()->at('13:00');
$schedule->command('client_renewal:send')->weekdays()->at('14:00');
}
/**

BIN
app/Http/.DS_Store vendored Executable file

Binary file not shown.

BIN
app/Http/Controllers/.DS_Store vendored Executable file

Binary file not shown.

View File

@@ -0,0 +1,41 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models;
use Session;
use Illuminate\Support\Arr;
use App\Jobs\SendClientContractRenewalAlert;
use App\Http\Requests;
use Carbon\Carbon;
class ClientContractRenewalAlertsController extends Controller
{
public function getClientDetails(){
$client_arr = Models\Client::with('auth_user_info')->where('contract_auto_renew', 'NO')->get();
// dd($client_arr);
$renew_ready = [];
$current_date = date('Y-m-d');
foreach ($client_arr as $value) {
if ($value->contract_validity == false) {
continue;
}
$date1 = date_create($current_date);
$date2 = date_create($value->contract_validity);
$difference = date_diff($date1, $date2);
if ($difference->days <= 45) {
$renew_ready['client_name'] = $value->name;
$renew_ready['account_manager_email'] = $value->auth_user_info->email;
$renew_ready['days_to_expire'] = $difference->days;
dispatch(new SendClientContractRenewalAlert($renew_ready));
}
}
//dump($renew_ready);
$log_data = implode(', ', $renew_ready);
\Log::info('Clients due for renewal ' . $log_data);
//$this->sendNtfy('Clients due for renewal ' . $log_data);
}
}

View File

@@ -776,6 +776,7 @@ class ClientsController extends Controller
'codes_data' => $codes_data,
'type' => $type
];
// dd($data);
return view('client.shortcodes', $data);
}
/**

View File

@@ -0,0 +1,39 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models;
use Session;
use Illuminate\Support\Arr;
use App\Jobs\SendMnoContractRenewalEmailAlert;
use App\Http\Requests;
use Carbon\Carbon;
class ContractRenewalReminderController extends Controller
{
public function getMnos(){
$network_arr = Models\NetworkOps::with('account_manager_info')->where('contract_auto_renew', 'NO')->get();
$renew_ready = [];
$current_date = date('Y-m-d');
foreach ($network_arr as $value) {
if ($value->contract_validity == false) {
continue;
}
$date1 = date_create($current_date);
$date2 = date_create($value->contract_validity);
$difference = date_diff($date1, $date2);
if ($difference->days <= 45) {
$renew_ready['mno_name'] = $value->name;
$renew_ready['account_manager_email'] = $value->account_manager_info->email;
$renew_ready['days_to_expire'] = $difference->days;
dispatch(new SendMnoContractRenewalEmailAlert($renew_ready));
}
}
$log_data = implode(', ', $renew_ready);
\Log::info('MNOs due for renewal ' . $log_data);
$this->sendNtfy('MNOs due for renewal ' . $log_data);
}
}

View File

@@ -26,14 +26,16 @@ class Controller extends BaseController
}
);
}
public function sendNtfy($data){
$url = 'https://ntfy.sh/mMjh6hStlSQiyiUr';
$url_b = 'https://ntfy.sh/SansaTest';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_HTTPHEADER => array(
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
CURLOPT_URL => 'https://ntfy.sh/SansaTest',
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
@@ -45,12 +47,12 @@ class Controller extends BaseController
));
$response = curl_exec($curl);
return $response;
}
public function logUsersActivity($type, $content, $user_id = null){
if($user_id == null){
$user_id = session('current_user.id');
}
}
$activity_arr = [
'type' => $type,
'content' => $content,
@@ -63,7 +65,7 @@ class Controller extends BaseController
}
public function storeLoggedUser(){
$user_id = session('current_user.id');
$logged_arr = [
$logged_arr = [
'user_id' => $user_id,
'last_seen_time' => date('Y-m-d H:i:s'),
'ip_address' => \Request::ip(),

View File

@@ -9,7 +9,7 @@ use Session;
class DashboardController extends Controller
{
public function index(){
// dd('foo bar');
$total_clients = Models\Client::count();
$ussd_clients = Models\Client::where('services', 'LIKE', '%ussd%')->orwhere('services', 'LIKE', '%A2P%')->count();
$sms_clients = Models\Client::where('services', 'LIKE', '%sms%')->count();

View File

@@ -33,6 +33,7 @@ class GeneralDocumentsController extends Controller
'rates' => 'SMS/Voice Rates',
'scfees' => 'Short Code Fees',
'vpn_forms' => 'VPN Forms',
'user_guides' => 'User Guides',
'sidwl' => 'SID Whitelisting Letter',
'others' => 'Others'
];
@@ -109,6 +110,7 @@ class GeneralDocumentsController extends Controller
'scfees' => 'Short Code Fees',
'presentations' => 'presentations',
'vpn_forms' => 'VPN Forms',
'user_guides' => 'User Guides',
'others' => 'Others'
];

View File

@@ -17,7 +17,7 @@ class LoginController extends Controller
public function handleLogin(Request $request){
$this->validate($request, ['email' => 'required', 'password' => 'required']);
//system user : $table = "auth_users";
$logged_in = Models\SystemUser::with('designation_info')->where('email', $request->email)->where('password', md5($request->password))->first();
if(empty($logged_in)){
@@ -39,6 +39,9 @@ class LoginController extends Controller
$this->storeLoggedUser();
switch ($logged_in->designation_info->name) {
case 'Administrator':
return redirect(url('finance')); // change it to a combined dashboard
break;
case 'Accounts & Finance':
return redirect(url('finance'));
break;

View File

@@ -63,6 +63,7 @@ class NetworkOperatorsController extends Controller
'page_title' => 'Mobile Network Operators',
'current_user' => session('current_user')
];
// dd($data);
return view('network_ops.index', $data);
}
public function getMnosJson(Request $request)
@@ -84,7 +85,7 @@ class NetworkOperatorsController extends Controller
->whereRaw("network_operators.name LIKE '%$keyword%' OR network_operators.connection_status LIKE '%$keyword%' OR network_operators.country LIKE '%$keyword%' OR staffam.name LIKE '%$keyword%' ")
->orderBy('network_operators.name', 'ASC')
->paginate(15);
}
}
return response()->json($mno_arr);
}
@@ -117,7 +118,7 @@ class NetworkOperatorsController extends Controller
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
{
$request->validate([
'name' => 'required',
'country' => 'required',
@@ -224,7 +225,7 @@ class NetworkOperatorsController extends Controller
else{
$old_connection_type = [];
}
if ($network_arr->connection_status == 'Active') {
$status_bg = "info";
}
@@ -242,8 +243,8 @@ class NetworkOperatorsController extends Controller
'account_manager' => $account_manager,
'current_services' => json_decode($network_arr->services, true),
'services' => $services->toArray(),
'support_emails' => $support_emails,
'finance_emails' => $finance_emails,
'support_emails' => $support_emails,
'finance_emails' => $finance_emails,
'support_skype_arr' => $support_skype_arr,
'support_phones' => $support_phones,
'old_support_emails' => $old_support_emails,
@@ -327,7 +328,7 @@ class NetworkOperatorsController extends Controller
else{
$old_connection_type = [];
}
if ($network_arr->connection_status == 'Active') {
$status_bg = "info";
}
@@ -344,8 +345,8 @@ class NetworkOperatorsController extends Controller
'account_manager' => $account_manager,
'current_services' => json_decode($network_arr->services, true),
'services' => $services->toArray(),
'support_emails' => $support_emails,
'finance_emails' => $finance_emails,
'support_emails' => $support_emails,
'finance_emails' => $finance_emails,
'support_skype_arr' => $support_skype_arr,
'support_phones' => $support_phones,
'old_support_emails' => $old_support_emails,
@@ -379,7 +380,7 @@ class NetworkOperatorsController extends Controller
$request->document_one->storeAs('mno_files', $filename, 'public');
$document_arr['file_path'] = $filename;
$operator_update->name = $request->name;
$document_arr['file_extension'] = $request->document_one->extension();
$document_arr['file_reff'] = time() . uniqid();
$document_arr['name'] = $request->document_one_name;
@@ -394,7 +395,7 @@ class NetworkOperatorsController extends Controller
$request->document_two->storeAs('mno_files', $filename, 'public');
$document_arr['file_path'] = $filename;
$operator_update->name = $request->name;
$document_arr['file_extension'] = $request->document_two->extension();
$document_arr['file_reff'] = time() . uniqid();
$document_arr['name'] = $request->document_two_name;
@@ -404,13 +405,13 @@ class NetworkOperatorsController extends Controller
}
}
$operator_update->name = $request->name;
$operator_update->country = $request->country;
$operator_update->account_manager_id = $request->account_manager_id;
$operator_update->mno_account_manager = $request->mno_account_manager;
$operator_update->contact_person_email = $request->contact_person_email;
$operator_update->contact_person_phone = $request->contact_person_phone;
$operator_update->contact_person = $request->contact_person;
@@ -418,12 +419,12 @@ class NetworkOperatorsController extends Controller
$operator_update->technical_support_person = $request->technical_support_person ?? "";
$operator_update->contact_person_finance = $request->contact_person_finance ?? "";
$operator_update->contract_validity = $request->contract_validity ?? "";
$operator_update->contract_auto_renew = $request->contract_auto_renew ?? "";
$operator_update->connection_type = ($request->connection_type) ? json_encode($request->connection_type) : "";
$operator_update->connection_type = ($request->connection_type) ? json_encode($request->connection_type) : "";
$operator_update->contact_person_skype = $request->contact_person_skype ?? "";
@@ -433,7 +434,7 @@ class NetworkOperatorsController extends Controller
$operator_update->finance_emails = ($request->finance_emails) ? json_encode($request->finance_emails) : "";
$operator_update->support_phones = ($request->support_phones) ? json_encode($request->support_phones) : "";
$operator_update->support_skype = ($request->support_skype) ? json_encode($request->support_skype) : "";
$result = $operator_update->save();
@@ -460,7 +461,7 @@ class NetworkOperatorsController extends Controller
'created_by' => $auth_user['id'],
'last_modified_by' => $auth_user['id']
];
$result = Models\Mnoips::create($addresses_arr);
@@ -495,13 +496,13 @@ class NetworkOperatorsController extends Controller
if ($request->has('highlight')) {
$notes_arr['highlight'] = 'YES';
}
//dd($notes_arr);
$result = Models\Mnonote::create($notes_arr);
$notes = Models\Mnonote::with('mno_info', 'created_by_info')->find($result->id);
//todo : send emails
dispatch(new NewMnoNotesEmailAlerts($notes));
@@ -517,7 +518,7 @@ class NetworkOperatorsController extends Controller
{
$note = Models\Mnonote::find($id);
if ($note) {
$current_date = date_create(date('Y-m-d'));
$expiry_date = date_create($note->created_at);
@@ -535,7 +536,7 @@ class NetworkOperatorsController extends Controller
else{
return response()->json([ 'code' => 3, 'msg' => 'Request could not be handled at this time']);
}
}
public function getSinglePayment($id)
{
@@ -548,7 +549,7 @@ class NetworkOperatorsController extends Controller
else{
return response()->json([ 'code' => 3, 'msg' => 'Request could not be handled at this time']);
}
}
public function financeStore(Request $request)
{
@@ -562,7 +563,7 @@ class NetworkOperatorsController extends Controller
]);
$auth_user = session('current_user');
$finance_arr = [
'invoice_number' => $request->invoice_number,
'invoice_amount' => $request->invoice_amount,
@@ -575,7 +576,7 @@ class NetworkOperatorsController extends Controller
if ($request->has('remarks')) {
$finance_arr['remarks'] = $request->remarks;
}
$result = Models\Mnopayment::create($finance_arr);
if ($result) {
$data = ['code' => 1, 'msg' => 'Payment Details successfully added'];
@@ -630,8 +631,8 @@ class NetworkOperatorsController extends Controller
if ($request->has('highlight')) {
$notes_arr['highlight'] = 'YES';
}
//dd($notes_arr);
$result = Models\Mnonote::create($notes_arr);
@@ -650,7 +651,7 @@ class NetworkOperatorsController extends Controller
public function getMnoFile($id)
{
$mno_file = Models\MnoFile::with('mno_info')->findOrFail($id);
$file = public_path('documents/mno_files/') . $mno_file->file_path;
$headers = []; //['Content-Type: application/pdf'];
@@ -667,7 +668,7 @@ class NetworkOperatorsController extends Controller
$string = preg_replace('/[^A-Za-z0-9\-]/', '', $string);
// Replaces multiple hyphens with single one.
$string = preg_replace('/-+/', '_', $string);
return $string;
}
public function destroy($id)

View File

@@ -11,10 +11,10 @@ use Illuminate\Contracts\Mail\Mailer;
class UtilityController extends Controller
{
public function EmailTest(Mailer $mailer)
{
$emails = ['kwesi@click-mobile.com', 'kwesi_banson@hotmail.com'];
$data = [
@@ -32,6 +32,9 @@ class UtilityController extends Controller
return view('utility.map');
}
public function ntfyTest(){
$this->sendNtfy('In the ERP');
}
function insertOnboardingProgress(){
$all_clients = Models\Client::get();
$count_cl = 0;
@@ -40,30 +43,30 @@ class UtilityController extends Controller
foreach ($get_stage_subs_items as $value) {
$stage_id = ['stage_id' => $value->stage_id, 'client_id' => $row->id, 'name' => $value->name ];
$progress_arr = [
'status' => 'PENDING'
'status' => 'PENDING'
];
$clients_onboarding_progress = Models\ClientOnboardingProgress::updateOrCreate($stage_id, $progress_arr);
}
$count_cl++;
}
}
dump($count_cl);
}
function massOnboardingProgress($client_id){
//todo : update
//todo : update
/*
-- client_onboarding_sub_items -- this holds all sub items
-- client_onboarding_progress -- update to completed
-- in the clients table
-- onboarding_progress_stage == update to complete,
-- progress_indicator to complete,
-- in the clients table
-- onboarding_progress_stage == update to complete,
-- progress_indicator to complete,
-- progress_indicator_score to 100
*/
$get_stage_subs_items = Models\ClientOnboardingSubItem::get();
$get_stage_subs_items = Models\ClientOnboardingSubItem::get();
foreach ($get_stage_subs_items as $value) {
$progress_arr = [
'stage_id' => $value->stage_id,
'client_id' => $client_id,
'name' => $value->name,
'stage_id' => $value->stage_id,
'client_id' => $client_id,
'name' => $value->name,
'status' => 'COMPLETE'
];
$clients_onboarding_progress = Models\ClientOnboardingProgress::create($progress_arr);
@@ -75,13 +78,13 @@ class UtilityController extends Controller
foreach ($get_stage_subs_items as $value) {
$stage_id = ['stage_id' => $value->stage_id, 'client_id' => $row->id, 'name' => $value->name ];
$progress_arr = [
'status' => 'PENDING'
'status' => 'PENDING'
];
$clients_onboarding_progress = Models\ClientOnboardingProgress::updateOrCreate($stage_id, $progress_arr);
}
$count_cl++;
}
}
dump($count_cl);
}
}
// https://www.tokyvideo.com/video/sheena-the-queen-of-the-jungle-1984-movie-with-tanya-roberts-ted-wass-donovan-scott
// https://www.tokyvideo.com/video/sheena-the-queen-of-the-jungle-1984-movie-with-tanya-roberts-ted-wass-donovan-scott

View File

@@ -38,9 +38,11 @@ class UpdateMnoRequest extends FormRequest
'contact_person' => 'required',
'contact_person_email' => 'required',
'contact_person_phone' => 'required',
'contract_auto_renew' => 'required',
'contract_validity' => 'required',
'document_one' => 'max:20480|mimes:png,jpg,jpeg,bmp,pdf,doc,docx,xlx,xlsx',
'document_two' => 'max:20480|mimes:png,jpg,jpeg,bmp,pdf,doc,docx,xlx,xlsx',
];
}
}

View File

@@ -0,0 +1,47 @@
<?php
namespace App\Jobs;
use App\Models;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Contracts\Mail\Mailer;
class SendClientContractRenewalAlert implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $renewalSet;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($renewalSet)
{
$this->renewalSet = $renewalSet;
}
/**
* Execute the job.
*
* @return void
*/
public function handle(Mailer $mailer){
$renewalSet = $this->renewalSet;
$emails = ['samuel@click-mobile.com'];
$emails = ['kwesi@click-mobile.com'];
$emails = ['effie@click-mobile.com'];
$emails[] = $renewalSet['account_manager_email'];
$data = [
'client_name' => $renewalSet['client_name'],
'alert_body' => 'Contract for ' . $renewalSet['client_name'] . ' will expire in ' . $renewalSet['days_to_expire'] . ' days. Take note'
];
$mailer->send('emails.client_renewal-alert', $data, function ($message) use ($data, $emails) {
$message->from('support@click-mobile.com', 'Click Mobile ERP');
$message->to($emails)->subject('Client Contract Renewal Alert');
});
}
}

View File

@@ -0,0 +1,48 @@
<?php
namespace App\Jobs;
use App\Models;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Contracts\Mail\Mailer;
class SendMnoContractRenewalEmailAlert implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $renewalSet;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($renewalSet)
{
$this->renewalSet = $renewalSet;
}
/**
* Execute the job.
*
* @return void
*/
public function handle(Mailer $mailer){
$renewalSet = $this->renewalSet;
$emails = ['samuel@click-mobile.com'];
$emails = ['kwesi@click-mobile.com'];
$emails = ['effie@click-mobile.com'];
$emails[] = $renewalSet['account_manager_email'];
$data = [
'mno_name' => $renewalSet['mno_name'],
'alert_body' => 'Contract for ' . $renewalSet['mno_name'] . ' will expire in ' . $renewalSet['days_to_expire'] . ' days. Take note'
];
\Log::info("Contract Renewal Alert triggered by : ");
$mailer->send('emails.renewal-alert', $data, function ($message) use ($data, $emails) {
$message->from('support@click-mobile.com', 'Click Mobile ERP');
$message->to($emails)->subject('Contract Renewal Alert');
});
}
}

BIN
app/Models/.DS_Store vendored Executable file

Binary file not shown.

View File

@@ -13,7 +13,7 @@ return [
|
*/
'name' => env('APP_NAME', 'Laravel'),
'name' => env('APP_NAME', 'Click_ERP'),
/*
|--------------------------------------------------------------------------

BIN
public/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
public/assets/js/.DS_Store vendored Normal file

Binary file not shown.

BIN
public/assets/others/.DS_Store vendored Normal file

Binary file not shown.

BIN
public/assets/vendors/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/autosize/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/bootstrap/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/bootstrap/dist/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/bootstrap/less/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/dropify/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/dropzone/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/dropzone/dist/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/fastclick/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/iCheck/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/jquery-knob/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/jquery/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/jquery/src/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/jquery/src/css/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/moment/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/moment/src/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/moment/src/lib/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/nprogress/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/pdfmake/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/pnotify/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/raphael/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/raphael/dev/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/select2/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/select2/docs/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/select2/src/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/select2/src/js/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/select2/tests/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/starrr/.DS_Store vendored Executable file

Binary file not shown.

BIN
public/assets/vendors/switchery/.DS_Store vendored Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
public/assets/vendors/transitionize/.DS_Store vendored Executable file

Binary file not shown.

BIN
resources/.DS_Store vendored Executable file

Binary file not shown.

BIN
resources/lang/.DS_Store vendored Normal file

Binary file not shown.

BIN
resources/views/.DS_Store vendored Executable file

Binary file not shown.

BIN
resources/views/client/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -11,6 +11,7 @@
<th class="column-title">Status</th>
<th class="column-title">Remarks</th>
<th class="column-title">Launch Date</th>
<th class="column-title">Renewal Date</th>
<th class="column-title no-link last"><span class="nobr">Action</span>
</th>
@@ -31,6 +32,14 @@
<td class="mes-td col-md-1">{{ $row->status }}</td>
<td class="mes-td col-md-2">{{ $row->remarks }}</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"}}
@else
{{ date('d-m-Y', strtotime($row->expiry_date)) }}
@endif
</td>
<td class="last col-md-1" style="width: 100px;">
<span>
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>

View File

@@ -10,7 +10,7 @@
<th class="column-title">Toll Free</th>
<th class="column-title">Status</th>
<th class="column-title">Launch Date</th>
<th class="column-title">Expiry Date</th>
<th class="column-title">Renewal Date</th>
<th class="column-title no-link last"><span class="nobr">Action</span>
</th>
@@ -30,7 +30,13 @@
<td class="mes-td col-md-1">{{ $row->toll_free }}</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;">{{ date('d-m-Y', strtotime($row->expiry_date)) }}</td>
<td class="mes-td col-md-1" style="width: 100px;">
@if($row->expiry_date == false)
{{ "No found"}}
@else
{{ date('d-m-Y', strtotime($row->expiry_date)) }}
@endif
</td>
<td class="last col-md-1" style="width: 100px;">
<span>
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>

View File

@@ -30,9 +30,16 @@
<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->status }}</td>
<td class="mes-td col-md-2">{{ $row->remarks }}</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;">{{ date('d-m-Y', strtotime($row->expiry_date)) }}</td>
<td class="mes-td col-md-1" style="width: 100px;">
@if($row->expiry_date == false)
{{ "No found"}}
@else
{{ date('d-m-Y', strtotime($row->expiry_date)) }}
@endif
</td>
<td class="last col-md-1" style="width: 100px;">
<span>
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>

View File

@@ -30,7 +30,13 @@
<td class="mes-td col-md-1">{{ $row->toll_free }}</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;">{{ date('d-m-Y', strtotime($row->exipiry_date)) }}</td>
<td class="mes-td col-md-1" style="width: 100px;">
@if($row->expiry_date == false)
{{ "No found"}}
@else
{{ date('d-m-Y', strtotime($row->expiry_date)) }}
@endif
</td>
<td class="last col-md-1" style="width: 100px;">
<span>
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>

Some files were not shown because too many files have changed in this diff Show More