after a series of bug fixes plus Non MNO logic for Sender IDs, unfinished leave management and holiday modules
@@ -10,6 +10,7 @@ use App\Jobs\SendNewUssdClientEmail;
|
|||||||
use App\Jobs\SendUssdClientActiveEmail;
|
use App\Jobs\SendUssdClientActiveEmail;
|
||||||
use App\Jobs\SendNewNotesEmailAlert;
|
use App\Jobs\SendNewNotesEmailAlert;
|
||||||
use App\Jobs\SendOnboardingCompletedEmailAlert;
|
use App\Jobs\SendOnboardingCompletedEmailAlert;
|
||||||
|
use App\Jobs\SendShortCodeListToFinance;
|
||||||
use App\Http\Requests;
|
use App\Http\Requests;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use App\Libs\PaperLessNgx;
|
use App\Libs\PaperLessNgx;
|
||||||
@@ -23,31 +24,8 @@ class ClientsController extends Controller
|
|||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function index(){
|
public function index(){
|
||||||
|
|
||||||
/*
|
|
||||||
$currentuser = session('current_user.name');
|
|
||||||
$user_model = Models\SystemUser::find(session('current_user.id'));
|
|
||||||
#\Auth::user()->actions;
|
|
||||||
$actions = $user_model->actions;
|
|
||||||
dd($actions);
|
|
||||||
$clientModel = new Models\Client;
|
|
||||||
$currentuser = session('current_user.name');
|
|
||||||
$user_model = Models\SystemUser::find(session('current_user.id'));
|
|
||||||
activity()->performedOn($clientModel)
|
|
||||||
->causedBy($user_model)
|
|
||||||
->log($currentuser . ' Opened the Client Module at: ' . date('Y-m-d H:i:s'));
|
|
||||||
*/
|
|
||||||
// ->log('viewed');
|
|
||||||
/*
|
|
||||||
$client = Models\Client::find(3);
|
|
||||||
dd($client->client_services);
|
|
||||||
|
|
||||||
$client_arr = new Models\Client;
|
|
||||||
$client_arr = $client_arr->with('auth_user_info','country_info', 'created_by_info')->orderBy('name', 'ASC')->paginate(15);
|
|
||||||
*/
|
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Clients',
|
'page_title' => 'Clients',
|
||||||
//'client_arr' => $client_arr,
|
|
||||||
'current_user' => session('current_user')
|
'current_user' => session('current_user')
|
||||||
];
|
];
|
||||||
return view('client.index-tabulator', $data);
|
return view('client.index-tabulator', $data);
|
||||||
@@ -62,22 +40,15 @@ class ClientsController extends Controller
|
|||||||
return view('client.index-rawjs', $data);
|
return view('client.index-rawjs', $data);
|
||||||
}
|
}
|
||||||
public function getClientJson(Request $request){
|
public function getClientJson(Request $request){
|
||||||
/*
|
|
||||||
$client_arr = new Models\Client;
|
|
||||||
$client_arr = $client_arr->with('auth_user_info','country_info', 'created_by_info', 'modified_by_info')->orderBy('name', 'ASC')->paginate(20);
|
|
||||||
|
|
||||||
dump($request->all());
|
|
||||||
$client_arr = $client_arr->with('auth_user_info','country_info', 'created_by_info', 'modified_by_info')
|
|
||||||
->orderBy('name', 'ASC')->paginate(20);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
$client_arr = \DB::table('clients')
|
$client_arr = \DB::table('clients')
|
||||||
->join('auth_users AS aumngr', 'aumngr.id', '=', 'clients.auth_user_id')
|
->join('auth_users AS aumngr', 'aumngr.id', '=', 'clients.auth_user_id')
|
||||||
->join('auth_users AS aumodify', 'aumodify.id', '=', 'clients.last_modified_by')
|
->join('auth_users AS aumodify', 'aumodify.id', '=', 'clients.last_modified_by')
|
||||||
->join('flags AS flags', 'flags.country', '=', 'clients.country')
|
->join('flags AS flags', 'flags.country', '=', 'clients.country')
|
||||||
->select('clients.id', 'clients.name', 'clients.status','clients.progress_indicator_score', 'clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy', 'flags.url AS theflag')
|
->select('clients.id', 'clients.name', 'clients.status','clients.progress_indicator_score', 'clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy', 'flags.url AS theflag')
|
||||||
->orderBy('name', 'ASC')
|
->orderBy('name', 'ASC')
|
||||||
->paginate(15);
|
->get();
|
||||||
|
// ->paginate(15);
|
||||||
|
|
||||||
if($request->has('keyword')){
|
if($request->has('keyword')){
|
||||||
$keyword = $request->keyword;
|
$keyword = $request->keyword;
|
||||||
@@ -88,7 +59,8 @@ class ClientsController extends Controller
|
|||||||
->select('clients.id','clients.name', 'clients.status', 'clients.progress_indicator_score','clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy', 'flags.url AS theflag')
|
->select('clients.id','clients.name', 'clients.status', 'clients.progress_indicator_score','clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy', 'flags.url AS theflag')
|
||||||
->whereRaw("clients.name like '%$keyword%' or clients.status like '%$keyword%' OR clients.country like '%$keyword%' OR aumngr.name like '%$keyword%' OR aumodify.name like '%$keyword%' OR clients.progress_indicator_score like '%$keyword%'")
|
->whereRaw("clients.name like '%$keyword%' or clients.status like '%$keyword%' OR clients.country like '%$keyword%' OR aumngr.name like '%$keyword%' OR aumodify.name like '%$keyword%' OR clients.progress_indicator_score like '%$keyword%'")
|
||||||
->orderBy('name', 'ASC')
|
->orderBy('name', 'ASC')
|
||||||
->paginate(15);
|
->get();
|
||||||
|
// ->paginate(15);
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json($client_arr);
|
return response()->json($client_arr);
|
||||||
@@ -133,7 +105,6 @@ class ClientsController extends Controller
|
|||||||
$industries = Models\Industry::orderBy('name', 'ASC')->pluck('name', 'name');
|
$industries = Models\Industry::orderBy('name', 'ASC')->pluck('name', 'name');
|
||||||
// $industries = Models\Industry::pluck('name', 'name')->orderBy('name', 'ASC');
|
// $industries = Models\Industry::pluck('name', 'name')->orderBy('name', 'ASC');
|
||||||
|
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Create Client',
|
'page_title' => 'Create Client',
|
||||||
'countries' => $countries,
|
'countries' => $countries,
|
||||||
@@ -274,10 +245,9 @@ class ClientsController extends Controller
|
|||||||
$notes_arr['highlight'] = 'YES';
|
$notes_arr['highlight'] = 'YES';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$result = Models\ClientNote::updateOrCreate(['services' => $request->services, 'client_id' => $request->client_id, 'auth_user_id' => $auth_user['id'] ], $notes_arr);
|
||||||
//dd($notes_arr);
|
|
||||||
$result = Models\ClientNote::create($notes_arr);
|
|
||||||
// dd($result);
|
// dd($result);
|
||||||
|
$client = Models\Client::find($request->client_id);
|
||||||
$notes = Models\ClientNote::with('client_info', 'created_by_info')->find($result->id);
|
$notes = Models\ClientNote::with('client_info', 'created_by_info')->find($result->id);
|
||||||
//todo : send emails
|
//todo : send emails
|
||||||
dispatch(new SendNewNotesEmailAlert($notes));
|
dispatch(new SendNewNotesEmailAlert($notes));
|
||||||
@@ -290,7 +260,7 @@ class ClientsController extends Controller
|
|||||||
}
|
}
|
||||||
$user_id = session('current_user.id');
|
$user_id = session('current_user.id');
|
||||||
$username = session('current_user.name');
|
$username = session('current_user.name');
|
||||||
$content = "User ID : " . $user_id . " (" . $username . ") Added a new Note";
|
$content = "User ID : " . $user_id . " (" . $username . ") Added a new Note for : " . $client->name;
|
||||||
$this->logUsersActivity($type = 'staff', $content);
|
$this->logUsersActivity($type = 'staff', $content);
|
||||||
return response()->json($data, 200);
|
return response()->json($data, 200);
|
||||||
}
|
}
|
||||||
@@ -360,9 +330,7 @@ class ClientsController extends Controller
|
|||||||
// 'short_code' => 'sometimes|numeric'
|
// 'short_code' => 'sometimes|numeric'
|
||||||
]);
|
]);
|
||||||
$auth_user = session('current_user');
|
$auth_user = session('current_user');
|
||||||
// dump($request->has('short_code'));
|
|
||||||
//dd($request->all());
|
|
||||||
// dump($request->short_code);
|
|
||||||
if ($request->short_code !== null) {
|
if ($request->short_code !== null) {
|
||||||
$check = is_numeric($request->short_code);
|
$check = is_numeric($request->short_code);
|
||||||
if ($check == false) {
|
if ($check == false) {
|
||||||
@@ -370,7 +338,7 @@ class ClientsController extends Controller
|
|||||||
return response()->json($data, 200);
|
return response()->json($data, 200);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// dd($request->all());
|
|
||||||
$finance_arr = [
|
$finance_arr = [
|
||||||
'invoice_number' => $request->invoice_number,
|
'invoice_number' => $request->invoice_number,
|
||||||
'invoice_amount' => $request->invoice_amount,
|
'invoice_amount' => $request->invoice_amount,
|
||||||
@@ -384,8 +352,15 @@ class ClientsController extends Controller
|
|||||||
if ($request->has('remarks')) {
|
if ($request->has('remarks')) {
|
||||||
$finance_arr['remarks'] = $request->remarks;
|
$finance_arr['remarks'] = $request->remarks;
|
||||||
}
|
}
|
||||||
// dd($finance_arr);
|
$client = Models\Client::find($request->client_id);
|
||||||
$result = Models\ClientPayment::create($finance_arr);
|
$result = Models\ClientPayment::updateOrCreate(['invoice_number' => $request->invoice_number, 'client_id' => $request->client_id, ], $finance_arr);
|
||||||
|
if ($request->has('short_code')) {
|
||||||
|
$short_code_list = Models\ClientShortCode::where('client_id', $request->client_id)->get();
|
||||||
|
$client = Models\Client::find($request->client_id);
|
||||||
|
$message_body = $auth_user['name'] . " has added a new Short Code ($request->short_code) Payment entry for " . $client->name;
|
||||||
|
|
||||||
|
dispatch(new SendShortCodeListToFinance($short_code_list, $message_body, $finance_arr));
|
||||||
|
}
|
||||||
|
|
||||||
#$payments = Models\ClientPayment::with('client_info', 'created_by_info')->find($result->id);
|
#$payments = Models\ClientPayment::with('client_info', 'created_by_info')->find($result->id);
|
||||||
if ($result) {
|
if ($result) {
|
||||||
@@ -396,7 +371,7 @@ class ClientsController extends Controller
|
|||||||
}
|
}
|
||||||
$user_id = session('current_user.id');
|
$user_id = session('current_user.id');
|
||||||
$username = session('current_user.name');
|
$username = session('current_user.name');
|
||||||
$content = "User ID : " . $user_id . " (" . $username . ") Added a payment record";
|
$content = "User ID : " . $user_id . " (" . $username . ") Added a payment record for : " . $client->name;
|
||||||
$this->logUsersActivity($type = 'staff', $content);
|
$this->logUsersActivity($type = 'staff', $content);
|
||||||
return response()->json($data, 200);
|
return response()->json($data, 200);
|
||||||
}
|
}
|
||||||
@@ -427,7 +402,7 @@ class ClientsController extends Controller
|
|||||||
$support_fees_arr['remarks'] = $request->remarks;
|
$support_fees_arr['remarks'] = $request->remarks;
|
||||||
}
|
}
|
||||||
$result = Models\ClientSupportFees::create($support_fees_arr);
|
$result = Models\ClientSupportFees::create($support_fees_arr);
|
||||||
|
$client = Models\Client::find($request->client_id);
|
||||||
#$payments = Models\ClientPayment::with('client_info', 'created_by_info')->find($result->id);
|
#$payments = Models\ClientPayment::with('client_info', 'created_by_info')->find($result->id);
|
||||||
if ($result) {
|
if ($result) {
|
||||||
$data = ['code' => 1, 'msg' => 'Support Fees Details successfully added'];
|
$data = ['code' => 1, 'msg' => 'Support Fees Details successfully added'];
|
||||||
@@ -437,7 +412,7 @@ class ClientsController extends Controller
|
|||||||
}
|
}
|
||||||
$user_id = session('current_user.id');
|
$user_id = session('current_user.id');
|
||||||
$username = session('current_user.name');
|
$username = session('current_user.name');
|
||||||
$content = "User ID : " . $user_id . " (" . $username . ") Added a support fees record";
|
$content = "User ID : " . $user_id . " (" . $username . ") Added a support fees record for : " . $client->name;
|
||||||
$this->logUsersActivity($type = 'staff', $content);
|
$this->logUsersActivity($type = 'staff', $content);
|
||||||
return response()->json($data, 200);
|
return response()->json($data, 200);
|
||||||
}
|
}
|
||||||
@@ -451,15 +426,17 @@ class ClientsController extends Controller
|
|||||||
'status' => 'required',
|
'status' => 'required',
|
||||||
'remarks' => 'required',
|
'remarks' => 'required',
|
||||||
'launch_date' => 'required',
|
'launch_date' => 'required',
|
||||||
'expiry_date' => 'required'
|
'expiry_date' => 'required',
|
||||||
|
'monthly_fee' => 'sometimes'
|
||||||
]);
|
]);
|
||||||
|
// dd($request->all());
|
||||||
$auth_user = session('current_user');
|
$auth_user = session('current_user');
|
||||||
#$network = Models\NetworkOps::find($request->network);
|
#$network = Models\NetworkOps::find($request->network);
|
||||||
$mnoCountry = $this->getMnoCountry($request->network);
|
// $mnoCountry = $this->getMNO($request->network);
|
||||||
if ($mnoCountry == false) {
|
// if ($mnoCountry == false) {
|
||||||
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
// $data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||||
return response()->json($data, 200);
|
// return response()->json($data, 200);
|
||||||
}
|
// }
|
||||||
/*
|
/*
|
||||||
$networks_raw = [
|
$networks_raw = [
|
||||||
'AirtelTigo GH' => 'AirtelTigo GH',
|
'AirtelTigo GH' => 'AirtelTigo GH',
|
||||||
@@ -498,7 +475,7 @@ class ClientsController extends Controller
|
|||||||
'name' => $request->name,
|
'name' => $request->name,
|
||||||
'client_id' => $request->client_id,
|
'client_id' => $request->client_id,
|
||||||
'network' => $request->network,
|
'network' => $request->network,
|
||||||
'country' => $mnoCountry, //$network->country,
|
// 'country' => $mnoCountry, //$network->country,
|
||||||
'shortcode' => $request->shortcode,
|
'shortcode' => $request->shortcode,
|
||||||
'code_type' => $request->code_type,
|
'code_type' => $request->code_type,
|
||||||
'toll_free' => $request->toll_free,
|
'toll_free' => $request->toll_free,
|
||||||
@@ -506,13 +483,19 @@ class ClientsController extends Controller
|
|||||||
'launch_date' => $request->launch_date,
|
'launch_date' => $request->launch_date,
|
||||||
'expiry_date' => $request->expiry_date,
|
'expiry_date' => $request->expiry_date,
|
||||||
'status' => $request->status
|
'status' => $request->status
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// dd($shortcode_arr);
|
||||||
if ($request->has('remarks')) {
|
if ($request->has('remarks')) {
|
||||||
$shortcode_arr['remarks'] = $request->remarks;
|
$shortcode_arr['remarks'] = $request->remarks;
|
||||||
}
|
}
|
||||||
|
if ($request->has('monthly_fee')) {
|
||||||
|
$shortcode_arr['monthly_fee'] = $request->monthly_fee;
|
||||||
|
}
|
||||||
|
|
||||||
$result = Models\ClientShortCode::create($shortcode_arr);
|
$result = Models\ClientShortCode::create($shortcode_arr);
|
||||||
|
$client = Models\Client::find($request->client_id);
|
||||||
if ($result) {
|
if ($result) {
|
||||||
$data = ['code' => 1, 'msg' => 'ShortCode Details successfully added'];
|
$data = ['code' => 1, 'msg' => 'ShortCode Details successfully added'];
|
||||||
}
|
}
|
||||||
@@ -521,7 +504,7 @@ class ClientsController extends Controller
|
|||||||
}
|
}
|
||||||
$user_id = session('current_user.id');
|
$user_id = session('current_user.id');
|
||||||
$username = session('current_user.name');
|
$username = session('current_user.name');
|
||||||
$content = "User ID : " . $user_id . " (" . $username . ") Added new short code";
|
$content = "User ID : " . $user_id . " (" . $username . ") Added new short code for " . $client->name;
|
||||||
$this->logUsersActivity($type = 'staff', $content);
|
$this->logUsersActivity($type = 'staff', $content);
|
||||||
return response()->json($data, 200);
|
return response()->json($data, 200);
|
||||||
}
|
}
|
||||||
@@ -535,6 +518,7 @@ class ClientsController extends Controller
|
|||||||
'invoice_date' => 'required',
|
'invoice_date' => 'required',
|
||||||
'invoice_status' => 'required'
|
'invoice_status' => 'required'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$auth_user = session('current_user');
|
$auth_user = session('current_user');
|
||||||
$payment = Models\ClientPayment::findOrFail($request->payment_id);
|
$payment = Models\ClientPayment::findOrFail($request->payment_id);
|
||||||
|
|
||||||
@@ -542,9 +526,31 @@ class ClientsController extends Controller
|
|||||||
$payment->invoice_amount = $request->invoice_amount;
|
$payment->invoice_amount = $request->invoice_amount;
|
||||||
$payment->invoice_date = $request->invoice_date;
|
$payment->invoice_date = $request->invoice_date;
|
||||||
$payment->invoice_status = $request->invoice_status;
|
$payment->invoice_status = $request->invoice_status;
|
||||||
|
$payment->short_code = ($request->short_code) ? $request->short_code : "";
|
||||||
|
|
||||||
$payment->services = implode(',', $request->services);
|
$payment->services = implode(',', $request->services);
|
||||||
$result = $payment->save();
|
$result = $payment->save();
|
||||||
|
$client = Models\Client::find($request->client_id);
|
||||||
|
if ($request->has('short_code')) {
|
||||||
|
$short_code_list = Models\ClientShortCode::where('client_id', $request->client_id)->get();
|
||||||
|
|
||||||
|
$finance_arr = [
|
||||||
|
'invoice_number' => $request->invoice_number,
|
||||||
|
'invoice_amount' => $request->invoice_amount,
|
||||||
|
'invoice_date' => $request->invoice_date,
|
||||||
|
'invoice_status' => $request->invoice_status,
|
||||||
|
'short_code' => ($request->short_code) ? $request->short_code : "",
|
||||||
|
'services' => implode(',', $request->services),
|
||||||
|
'user_id' => $auth_user['id'],
|
||||||
|
'client_id' => $request->client_id
|
||||||
|
];
|
||||||
|
if ($request->has('remarks')) {
|
||||||
|
$finance_arr['remarks'] = $request->remarks;
|
||||||
|
}
|
||||||
|
$message_body = $auth_user['name'] . " has updated a Short Code ($request->short_code) Payment entry for " . $client->name;
|
||||||
|
#dispatch(new SendShortCodeListToFinance($short_code_list, $message_body, $finance_arr));
|
||||||
|
}
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
$data = ['code' => 1, 'msg' => 'Payment Details successfully updated'];
|
$data = ['code' => 1, 'msg' => 'Payment Details successfully updated'];
|
||||||
}
|
}
|
||||||
@@ -553,8 +559,11 @@ class ClientsController extends Controller
|
|||||||
}
|
}
|
||||||
$user_id = session('current_user.id');
|
$user_id = session('current_user.id');
|
||||||
$username = session('current_user.name');
|
$username = session('current_user.name');
|
||||||
$content = "User ID : " . $user_id . " (" . $username . ") updated an existing payment record";
|
$content = "User ID : " . $user_id . " (" . $username . ") updated an existing payment record for " . $client->name;
|
||||||
$this->logUsersActivity($type = 'staff', $content);
|
$this->logUsersActivity($type = 'staff', $content);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return response()->json($data, 200);
|
return response()->json($data, 200);
|
||||||
}
|
}
|
||||||
public function shortCodeUpdate(Request $request){
|
public function shortCodeUpdate(Request $request){
|
||||||
@@ -564,6 +573,7 @@ class ClientsController extends Controller
|
|||||||
'shortcode' => 'required',
|
'shortcode' => 'required',
|
||||||
'code_type' => 'required',
|
'code_type' => 'required',
|
||||||
'toll_free' => 'required',
|
'toll_free' => 'required',
|
||||||
|
'monthly_fee' => 'sometimes',
|
||||||
'status' => 'required',
|
'status' => 'required',
|
||||||
'remarks' => 'required',
|
'remarks' => 'required',
|
||||||
'launch_date' => 'required',
|
'launch_date' => 'required',
|
||||||
@@ -592,18 +602,21 @@ class ClientsController extends Controller
|
|||||||
if ($request->has('remarks')) {
|
if ($request->has('remarks')) {
|
||||||
$shortcode_arr['remarks'] = $request->remarks;
|
$shortcode_arr['remarks'] = $request->remarks;
|
||||||
}
|
}
|
||||||
|
if ($request->has('monthly_fee')) {
|
||||||
|
$shortcode_arr['monthly_fee'] = $request->monthly_fee;
|
||||||
|
}
|
||||||
// $payment = Models\ClientShortCode::findOrFail($request->shortcode_id);
|
// $payment = Models\ClientShortCode::findOrFail($request->shortcode_id);
|
||||||
$result = Models\ClientShortCode::where('id', $request->shortcode_id)->update($shortcode_arr);
|
$result = Models\ClientShortCode::where('id', $request->shortcode_id)->update($shortcode_arr);
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
$data = ['code' => 1, 'msg' => 'Payment Details successfully updated'];
|
$data = ['code' => 1, 'msg' => 'Short Code Details successfully updated'];
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||||
}
|
}
|
||||||
$user_id = session('current_user.id');
|
$user_id = session('current_user.id');
|
||||||
$username = session('current_user.name');
|
$username = session('current_user.name');
|
||||||
$content = "User ID : " . $user_id . " (" . $username . ") updated short code enty";
|
$content = "User ID : " . $user_id . " (" . $username . ") updated short code enty for " . $request->short_code;
|
||||||
$this->logUsersActivity($type = 'staff', $content);
|
$this->logUsersActivity($type = 'staff', $content);
|
||||||
return response()->json($data, 200);
|
return response()->json($data, 200);
|
||||||
}
|
}
|
||||||
@@ -614,7 +627,6 @@ class ClientsController extends Controller
|
|||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function show($id){
|
public function show($id){
|
||||||
//with('short_code_info')->
|
|
||||||
$showclient = Models\Client::with('service_info', 'country_flag_info', 'auth_user_info', 'short_code_info')->find($id);
|
$showclient = Models\Client::with('service_info', 'country_flag_info', 'auth_user_info', 'short_code_info')->find($id);
|
||||||
//$clientModel = new Models\Client;
|
//$clientModel = new Models\Client;
|
||||||
/*
|
/*
|
||||||
@@ -639,6 +651,12 @@ class ClientsController extends Controller
|
|||||||
$service_type_names = Models\Service::pluck('name', 'name');
|
$service_type_names = Models\Service::pluck('name', 'name');
|
||||||
$show_services = Models\ClientCategory::where('client_id', $id)->get();
|
$show_services = Models\ClientCategory::where('client_id', $id)->get();
|
||||||
//$networks_raw = ['AirtelTigo GH' => 'AirtelTigo GH','MTN GH' => 'MTN GH', 'Airtel MW' => 'Airtel MW', 'Airtel Zambia' => 'Airtel Zambia', 'TNM MW' => 'TNM MW', 'Airtel MW' => 'Airtel MW'];
|
//$networks_raw = ['AirtelTigo GH' => 'AirtelTigo GH','MTN GH' => 'MTN GH', 'Airtel MW' => 'Airtel MW', 'Airtel Zambia' => 'Airtel Zambia', 'TNM MW' => 'TNM MW', 'Airtel MW' => 'Airtel MW'];
|
||||||
|
// $networks_raw_two = Models\NetworkOps::pluck('country', 'id');
|
||||||
|
// dd($networks_raw_two);
|
||||||
|
$country_networks = \DB::table('network_operators')->Select(\DB::raw('id, concat(name, " (", country, ")") AS network'))->orderBy('network')->pluck('network', 'network');
|
||||||
|
// $country_networks = \DB::table('network_operators')->Select(\DB::raw('concat(name, " (", country, ")") AS network)')->orderBy('network')->get()->toArray();
|
||||||
|
// $country_networks = \DB::table('network_operators')->Select(\DB::raw('concat(name, " (", country, ")") AS network)'))->pluck('network', 'network');
|
||||||
|
|
||||||
$networks_raw = [
|
$networks_raw = [
|
||||||
'AirtelTigo GH' => 'AirtelTigo GH',
|
'AirtelTigo GH' => 'AirtelTigo GH',
|
||||||
'MTN GH' => 'MTN GH',
|
'MTN GH' => 'MTN GH',
|
||||||
@@ -652,12 +670,16 @@ class ClientsController extends Controller
|
|||||||
'Orange Kenya' => 'Orange Kenya'
|
'Orange Kenya' => 'Orange Kenya'
|
||||||
];
|
];
|
||||||
//->where('highlight', 'NO')
|
//->where('highlight', 'NO')
|
||||||
$show_notes = Models\ClientNote::with('created_by_info', 'client_info')->where('client_id', $id)->orderBy('id', 'DESC')->get()->take(20);
|
$show_notes = Models\ClientNote::with('created_by_info', 'client_info')->where('client_id', $id)->orderBy('created_at', 'DESC')->get()->take(20);
|
||||||
|
$show_notes_highlight = Models\ClientNote::with('created_by_info', 'client_info')->where('client_id', $id)->where('highlight', 'YES')->orderBy('created_at', 'DESC')->get()->take(1);
|
||||||
|
|
||||||
$voice_codes = Models\ClientShortCode::where('client_id', $id)->where('code_type', 'voice')->get();
|
$voice_codes = Models\ClientShortCode::where('client_id', $id)->where('code_type', 'voice')->get();
|
||||||
$sms_codes = Models\ClientShortCode::where('client_id', $id)->where('code_type', 'sms')->get();
|
$sms_codes = Models\ClientShortCode::where('client_id', $id)->where('code_type', 'sms')->get();
|
||||||
$ussd_codes = Models\ClientShortCode::where('client_id', $id)->where('code_type', 'ussd')->get();
|
$ussd_codes = Models\ClientShortCode::where('client_id', $id)->where('code_type', 'ussd')->get();
|
||||||
$recent_payments = Models\ClientPayment::where('client_id', $id)->orderBy('id', 'DESC')->get();
|
$recent_payments = Models\ClientPayment::where('client_id', $id)->orderBy('id', 'DESC')->get();
|
||||||
|
|
||||||
$countries = Models\Country::pluck('en_short_name','en_short_name');
|
$countries = Models\Country::pluck('en_short_name','en_short_name');
|
||||||
|
// dd($countries);
|
||||||
$networks = Models\NetworkOps::pluck('name', 'id');
|
$networks = Models\NetworkOps::pluck('name', 'id');
|
||||||
$support_fees = Models\ClientSupportFees::where('client_id', $id)->orderBy('id', 'DESC')->get();
|
$support_fees = Models\ClientSupportFees::where('client_id', $id)->orderBy('id', 'DESC')->get();
|
||||||
|
|
||||||
@@ -739,6 +761,7 @@ class ClientsController extends Controller
|
|||||||
'service_type' => $service_type,
|
'service_type' => $service_type,
|
||||||
'service_type_names' => $service_type_names,
|
'service_type_names' => $service_type_names,
|
||||||
'show_notes' => $show_notes,
|
'show_notes' => $show_notes,
|
||||||
|
'show_notes_highlight' => $show_notes_highlight,
|
||||||
'status_bg' => $status_bg,
|
'status_bg' => $status_bg,
|
||||||
'progress_status_bg' => $progress_status_bg,
|
'progress_status_bg' => $progress_status_bg,
|
||||||
'voice_codes' => $voice_codes,
|
'voice_codes' => $voice_codes,
|
||||||
@@ -755,13 +778,17 @@ class ClientsController extends Controller
|
|||||||
'support_fees' => $support_fees,
|
'support_fees' => $support_fees,
|
||||||
'recurring_arr' => $recurring_arr,
|
'recurring_arr' => $recurring_arr,
|
||||||
'client_sender_ids' => $client_sender_ids,
|
'client_sender_ids' => $client_sender_ids,
|
||||||
'sender_id_statuses' => $sender_id_statuses
|
'sender_id_statuses' => $sender_id_statuses,
|
||||||
|
'country_network_arr' => $country_networks,
|
||||||
|
'mnos_arr' => ['' => '-- Select Country first --']
|
||||||
];
|
];
|
||||||
// dump($client_sender_ids);
|
// dump($client_sender_ids);
|
||||||
// foreach ($client_sender_ids as $value) {
|
// foreach ($client_sender_ids as $value) {
|
||||||
// dd($value->network_info->name);
|
// dd($value->network_info->name);
|
||||||
// }
|
// }
|
||||||
return view('client.show', $data);
|
// dd($data);
|
||||||
|
// return view('client.show_original_copy', $data);
|
||||||
|
return view('client.show_test', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showReadonly($id){
|
public function showReadonly($id){
|
||||||
@@ -1109,7 +1136,7 @@ class ClientsController extends Controller
|
|||||||
* @return \Illuminate\Http\Response
|
* @return \Illuminate\Http\Response
|
||||||
*/
|
*/
|
||||||
public function update(Requests\UpdateClientRequest $request, $id){
|
public function update(Requests\UpdateClientRequest $request, $id){
|
||||||
// dump($request->all());
|
// dd($request->all());
|
||||||
// \DB::connection()->enableQueryLog();
|
// \DB::connection()->enableQueryLog();
|
||||||
$client_update = Models\Client::find($id);
|
$client_update = Models\Client::find($id);
|
||||||
$paperless = new PaperLessNgx();
|
$paperless = new PaperLessNgx();
|
||||||
@@ -1155,25 +1182,25 @@ class ClientsController extends Controller
|
|||||||
dispatch(new SendOnboardingCompletedEmailAlert($client));
|
dispatch(new SendOnboardingCompletedEmailAlert($client));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$existing_documents = Models\ClientFile::where('client_id', $id)->get();
|
$existing_documents = Models\ClientFile::where('client_id', $id)->get();
|
||||||
if ($request->has('document_one') && $request->has('document_one_name')) {
|
if ($request->has('document_one') && $request->has('document_one_name')) {
|
||||||
if ($request->file('document_one')->isValid()) {
|
if ($request->file('document_one')->isValid()) {
|
||||||
$filename = "erp_" . time() . str_random(4) . "." . $request->document_one->extension();
|
$filename = "erp_" . time() . str_random(4) . "." . $request->document_one->extension();
|
||||||
$request->document_one->storeAs('client_files', $filename, 'public');
|
$request->document_one->storeAs('client_files', $filename, 'public');
|
||||||
$document_arr['file_path'] = $filename;
|
$document_arr['file_path'] = $filename;
|
||||||
$client_update->name = $request->name;
|
$client_update->name = $request->name;
|
||||||
|
|
||||||
$store_location = "client_files";
|
$store_location = "client_files";
|
||||||
$top = $paperless->processPaperlessFile($request->document_one_name, $request->document_one_name, $filename, $store_location);
|
#$top = $paperless->processPaperlessFile($request->document_one_name, $request->document_one_name, $filename, $store_location);
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->document_one->extension();
|
$document_arr['file_extension'] = $request->document_one->extension();
|
||||||
$document_arr['file_reff'] = time() . uniqid();
|
$document_arr['file_reff'] = time() . uniqid();
|
||||||
$document_arr['name'] = $request->document_one_name;
|
$document_arr['name'] = $request->document_one_name;
|
||||||
$document_arr['created_by'] = session('current_user.id');
|
$document_arr['created_by'] = session('current_user.id');
|
||||||
//$document_arr['client_id'] = $id;
|
//$document_arr['client_id'] = $id;
|
||||||
$result = Models\ClientFile::create($document_arr, ['client_id' => $id]);
|
//$document_arr,
|
||||||
|
// $result = Models\ClientNote::updateOrCreate(['services' => $request->services, 'client_id' => $request->client_id, 'auth_user_id' => $auth_user['id'] ], $notes_arr);
|
||||||
|
$result = Models\ClientFile::updateOrCreate(['client_id' => $id, 'name' => $request->document_one_name], $document_arr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($request->has('document_two') && $request->has('document_two_name')) {
|
if ($request->has('document_two') && $request->has('document_two_name')) {
|
||||||
@@ -1183,7 +1210,7 @@ class ClientsController extends Controller
|
|||||||
$document_arr['file_path'] = $filename;
|
$document_arr['file_path'] = $filename;
|
||||||
$client_update->name = $request->name;
|
$client_update->name = $request->name;
|
||||||
$store_location = "client_files";
|
$store_location = "client_files";
|
||||||
$top = $paperless->processPaperlessFile($request->document_two_name, $request->document_two_name, $filename, $store_location);
|
#$top = $paperless->processPaperlessFile($request->document_two_name, $request->document_two_name, $filename, $store_location);
|
||||||
|
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->document_two->extension();
|
$document_arr['file_extension'] = $request->document_two->extension();
|
||||||
@@ -1193,7 +1220,7 @@ class ClientsController extends Controller
|
|||||||
$document_arr['client_id'] = $id;
|
$document_arr['client_id'] = $id;
|
||||||
// $result = Models\ClientFile::create($document_arr);
|
// $result = Models\ClientFile::create($document_arr);
|
||||||
//$document_arr['client_id'] = $id;
|
//$document_arr['client_id'] = $id;
|
||||||
$result = Models\ClientFile::create($document_arr, ['client_id' => $id]);
|
$result = Models\ClientFile::updateOrCreate(['client_id' => $id, 'name' => $request->document_two_name], $document_arr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($request->has('document_three') && $request->has('document_three_name')) {
|
if ($request->has('document_three') && $request->has('document_three_name')) {
|
||||||
@@ -1204,7 +1231,7 @@ class ClientsController extends Controller
|
|||||||
$client_update->name = $request->name;
|
$client_update->name = $request->name;
|
||||||
|
|
||||||
$store_location = "client_files";
|
$store_location = "client_files";
|
||||||
$top = $paperless->processPaperlessFile($request->document_three_name, $request->document_three_name, $filename, $store_location);
|
#$top = $paperless->processPaperlessFile($request->document_three_name, $request->document_three_name, $filename, $store_location);
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->document_three->extension();
|
$document_arr['file_extension'] = $request->document_three->extension();
|
||||||
$document_arr['file_reff'] = time() . uniqid();
|
$document_arr['file_reff'] = time() . uniqid();
|
||||||
@@ -1213,7 +1240,7 @@ class ClientsController extends Controller
|
|||||||
$document_arr['client_id'] = $id;
|
$document_arr['client_id'] = $id;
|
||||||
// $result = Models\ClientFile::create($document_arr);
|
// $result = Models\ClientFile::create($document_arr);
|
||||||
//$document_arr['client_id'] = $id;
|
//$document_arr['client_id'] = $id;
|
||||||
$result = Models\ClientFile::create($document_arr, ['client_id' => $id]);
|
$result = Models\ClientFile::updateOrCreate(['client_id' => $id, 'name' => $request->document_three_name], $document_arr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($request->has('other_document') && $request->has('other_document_name')) {
|
if ($request->has('other_document') && $request->has('other_document_name')) {
|
||||||
@@ -1224,19 +1251,18 @@ class ClientsController extends Controller
|
|||||||
$client_update->name = $request->name;
|
$client_update->name = $request->name;
|
||||||
|
|
||||||
$store_location = "client_files";
|
$store_location = "client_files";
|
||||||
$top = $paperless->processPaperlessFile($request->other_document_name, $request->other_document_name, $filename, $store_location);
|
#$top = $paperless->processPaperlessFile($request->other_document_name, $request->other_document_name, $filename, $store_location);
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->other_document->extension();
|
$document_arr['file_extension'] = $request->other_document->extension();
|
||||||
$document_arr['file_reff'] = time() . uniqid();
|
$document_arr['file_reff'] = time() . uniqid();
|
||||||
$document_arr['name'] = $request->document_three_name;
|
$document_arr['name'] = ($request->other_document_name == null) ? 'Other Document' : $request->other_document_name;
|
||||||
$document_arr['created_by'] = session('current_user.id');
|
$document_arr['created_by'] = session('current_user.id');
|
||||||
$document_arr['client_id'] = $id;
|
$document_arr['client_id'] = $id;
|
||||||
$result = Models\ClientFile::create($document_arr);
|
// dd($document_arr);
|
||||||
|
$result = Models\ClientFile::updateOrCreate(['client_id' => $id, 'name' => $request->other_document_name], $document_arr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$client_update->name = $request->name;
|
$client_update->name = $request->name;
|
||||||
$client_update->email = $request->email;
|
$client_update->email = $request->email;
|
||||||
$client_update->phone = $request->phone ?? "";
|
$client_update->phone = $request->phone ?? "";
|
||||||
@@ -1363,16 +1389,15 @@ class ClientsController extends Controller
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public function storeFiles(AddFilesRequest $request){
|
public function storeFiles(AddFilesRequest $request){
|
||||||
|
|
||||||
$document_arr = $request->except('document');
|
$document_arr = $request->except('document');
|
||||||
if ($request->hasFile('document')) {
|
if ($request->hasFile('document')) {
|
||||||
if ($request->file('document')->isValid()) {
|
if ($request->file('document')->isValid()) {
|
||||||
$filename = "erp_" . time() . "." . $request->document->extension();
|
$filename = "erp_" . time() . "." . $request->document->extension();
|
||||||
$request->document->storeAs('client_files', $filename, 'public');
|
$request->document->storeAs('client_files', $filename, 'public');
|
||||||
$document_arr['document'] = json_encode([$filename]);
|
$document_arr['document'] = json_encode([$filename]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$client = Models\Client::find($request->client_id);
|
||||||
$document_arr['file_extension'] = $request->document->extension();
|
$document_arr['file_extension'] = $request->document->extension();
|
||||||
$document_arr['file_reff'] = time() . uniqid();
|
$document_arr['file_reff'] = time() . uniqid();
|
||||||
$document_arr['last_modified_by'] = session('current_user.id');
|
$document_arr['last_modified_by'] = session('current_user.id');
|
||||||
@@ -1385,11 +1410,16 @@ class ClientsController extends Controller
|
|||||||
else{
|
else{
|
||||||
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||||
}
|
}
|
||||||
|
$user_id = session('current_user.id');
|
||||||
|
$username = session('current_user.name');
|
||||||
|
$content = "User ID : " . $user_id . " (" . $username . ") Document successfully uploaded for " . $client->name;
|
||||||
|
$this->logUsersActivity($type = 'staff', $content);
|
||||||
return response()->json($data, 200);
|
return response()->json($data, 200);
|
||||||
|
|
||||||
}
|
}
|
||||||
public function getClientFile($id){
|
public function getClientFile($id){
|
||||||
$client_file = Models\ClientFile::with('client_info')->findOrFail($id);
|
$client_file = Models\ClientFile::with('client_info')->findOrFail($id);
|
||||||
|
// dd($client_file);
|
||||||
//PDF file is stored under project/public/download/info.pdf
|
//PDF file is stored under project/public/download/info.pdf
|
||||||
$file = public_path('documents/client_files/') . $client_file->file_path;
|
$file = public_path('documents/client_files/') . $client_file->file_path;
|
||||||
|
|
||||||
@@ -1425,6 +1455,12 @@ class ClientsController extends Controller
|
|||||||
return $string;
|
return $string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getMNO($id){
|
||||||
|
$mno = Models\NetworkOps::find($id);
|
||||||
|
|
||||||
|
return $mno;
|
||||||
|
|
||||||
|
}
|
||||||
public function getMnoCountry($network){
|
public function getMnoCountry($network){
|
||||||
$networks_raw = [
|
$networks_raw = [
|
||||||
'AirtelTigo GH' => 'AirtelTigo GH',
|
'AirtelTigo GH' => 'AirtelTigo GH',
|
||||||
|
|||||||
@@ -71,11 +71,14 @@ class ContractRenewalReminderController extends Controller
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($difference->days <= 10) {
|
if (isset($difference)) {
|
||||||
$renew_ready['client_name'] = $value->client_info->name;
|
//will review this later
|
||||||
$renew_ready['account_manager_email'] = $value->created_by_info->email;
|
if ($difference->days <= 10) {
|
||||||
$renew_ready['days_to_renew'] = $difference->days;
|
$renew_ready['client_name'] = $value->client_info->name;
|
||||||
dispatch(new SendSupportFeesReminderEmailAlert($renew_ready));
|
$renew_ready['account_manager_email'] = $value->created_by_info->email;
|
||||||
|
$renew_ready['days_to_renew'] = $difference->days;
|
||||||
|
dispatch(new SendSupportFeesReminderEmailAlert($renew_ready));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
\Log::info('Support Fees Reminder schedule has successfully ran ');
|
\Log::info('Support Fees Reminder schedule has successfully ran ');
|
||||||
if (count($renew_ready) > 0) {
|
if (count($renew_ready) > 0) {
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ class GeneralDocumentsController extends Controller
|
|||||||
|
|
||||||
#sendToPaperLess
|
#sendToPaperLess
|
||||||
$store_location = "general_files";
|
$store_location = "general_files";
|
||||||
$top = $paperless->processPaperlessFile($request->document_one_name, $request->document_one_category, $filename, $store_location);
|
#$top = $paperless->processPaperlessFile($request->document_one_name, $request->document_one_category, $filename, $store_location);
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->document_one->extension();
|
$document_arr['file_extension'] = $request->document_one->extension();
|
||||||
$document_arr['file_reff'] = time() . uniqid();
|
$document_arr['file_reff'] = time() . uniqid();
|
||||||
@@ -158,7 +158,7 @@ class GeneralDocumentsController extends Controller
|
|||||||
|
|
||||||
#sendToPaperLess
|
#sendToPaperLess
|
||||||
$store_location = "general_files";
|
$store_location = "general_files";
|
||||||
$top = $paperless->processPaperlessFile($request->document_two_name, $request->document_two_category, $filename, $store_location);
|
#$top = $paperless->processPaperlessFile($request->document_two_name, $request->document_two_category, $filename, $store_location);
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->document_two->extension();
|
$document_arr['file_extension'] = $request->document_two->extension();
|
||||||
$document_arr['file_reff'] = time() . uniqid();
|
$document_arr['file_reff'] = time() . uniqid();
|
||||||
@@ -176,7 +176,7 @@ class GeneralDocumentsController extends Controller
|
|||||||
|
|
||||||
#sendToPaperLess
|
#sendToPaperLess
|
||||||
$store_location = "general_files";
|
$store_location = "general_files";
|
||||||
$top = $paperless->processPaperlessFile($request->document_three_name, $request->document_three_category, $filename, $store_location);
|
#$top = $paperless->processPaperlessFile($request->document_three_name, $request->document_three_category, $filename, $store_location);
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->document_three->extension();
|
$document_arr['file_extension'] = $request->document_three->extension();
|
||||||
$document_arr['file_reff'] = time() . uniqid();
|
$document_arr['file_reff'] = time() . uniqid();
|
||||||
|
|||||||
13
app/Http/Controllers/HolidaysController.php
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class HolidaysController extends Controller
|
||||||
|
{
|
||||||
|
protected $guarded = array('id');
|
||||||
|
public $table = "holidays";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
10
app/Http/Controllers/LeaveManagementController.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class LeaveManagementController extends Controller
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
@@ -87,6 +87,17 @@ class NetworkOperatorsController extends Controller
|
|||||||
}
|
}
|
||||||
return response()->json($mno_arr);
|
return response()->json($mno_arr);
|
||||||
}
|
}
|
||||||
|
public function getCountryNetworks(Request $request){
|
||||||
|
$mno_arr = Models\NetworkOps::where('country', $request->country)->pluck('name', 'id');
|
||||||
|
// dd(count($mno_arr));
|
||||||
|
if (count($mno_arr) == 0) {
|
||||||
|
$data = ['code' => '2', 'msg' => 'No MNOs found in the selected country'];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$data = ['code' => '1', 'mnos' => $mno_arr,];
|
||||||
|
}
|
||||||
|
return response()->json($data);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the form for creating a new resource.
|
* Show the form for creating a new resource.
|
||||||
@@ -388,7 +399,7 @@ class NetworkOperatorsController extends Controller
|
|||||||
$operator_update->name = $request->name;
|
$operator_update->name = $request->name;
|
||||||
|
|
||||||
$store_location = "mno_files";
|
$store_location = "mno_files";
|
||||||
$top = $paperless->processPaperlessFile($request->document_one_name, $request->document_one_category, $filename, $store_location);
|
#$top = $paperless->processPaperlessFile($request->document_one_name, $request->document_one_category, $filename, $store_location);
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->document_one->extension();
|
$document_arr['file_extension'] = $request->document_one->extension();
|
||||||
$document_arr['file_reff'] = time() . uniqid();
|
$document_arr['file_reff'] = time() . uniqid();
|
||||||
@@ -406,7 +417,7 @@ class NetworkOperatorsController extends Controller
|
|||||||
$operator_update->name = $request->name;
|
$operator_update->name = $request->name;
|
||||||
|
|
||||||
$store_location = "mno_files";
|
$store_location = "mno_files";
|
||||||
$top = $paperless->processPaperlessFile($request->document_two_name, $request->document_two_category, $filename, $store_location);
|
#$top = $paperless->processPaperlessFile($request->document_two_name, $request->document_two_category, $filename, $store_location);
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->document_two->extension();
|
$document_arr['file_extension'] = $request->document_two->extension();
|
||||||
$document_arr['file_reff'] = time() . uniqid();
|
$document_arr['file_reff'] = time() . uniqid();
|
||||||
@@ -424,7 +435,7 @@ class NetworkOperatorsController extends Controller
|
|||||||
// $operator_update->name = $request->name;
|
// $operator_update->name = $request->name;
|
||||||
|
|
||||||
$store_location = "mno_files";
|
$store_location = "mno_files";
|
||||||
$top = $paperless->processPaperlessFile("sliding_rate", 'rates', $filename, $store_location);
|
#$top = $paperless->processPaperlessFile("sliding_rate", 'rates', $filename, $store_location);
|
||||||
|
|
||||||
|
|
||||||
$document_arr['file_extension'] = $request->sliding_rate_file->extension();
|
$document_arr['file_extension'] = $request->sliding_rate_file->extension();
|
||||||
|
|||||||
@@ -15,8 +15,38 @@ use Carbon\Carbon;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ReportsController extends Controller
|
class ReportsController extends Controller{
|
||||||
{
|
public function overview(){
|
||||||
|
$document_arr = \DB::table('general_documents')
|
||||||
|
->select(\DB::raw('count(*) as docs_count, category'))
|
||||||
|
->groupBy('category')
|
||||||
|
->get();
|
||||||
|
|
||||||
|
$client_docs = \DB::table('client_files')
|
||||||
|
->join('clients', 'clients.id', '=', 'client_files.client_id')
|
||||||
|
->select(\DB::raw('count(*) as docs_count, clients.name, client_files.client_id'))
|
||||||
|
->groupBy('clients.name', 'client_files.client_id')
|
||||||
|
->get();
|
||||||
|
|
||||||
|
$mno_docs = \DB::table('mno_files')
|
||||||
|
->join('network_operators', 'network_operators.id', '=', 'mno_files.mno_id')
|
||||||
|
->select(\DB::raw('count(*) as docs_count, network_operators.name, mno_files.mno_id'))
|
||||||
|
->groupBy('network_operators.name', 'mno_files.mno_id')
|
||||||
|
->get();
|
||||||
|
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'Report Overview',
|
||||||
|
// 'vas_clients' => $vas_clients,
|
||||||
|
// 'domain_clients' => $domain_clients,
|
||||||
|
// 'recent_clients' => $recent_clients,
|
||||||
|
// 'user_activities' => $user_activities,
|
||||||
|
'current_user' => session('current_user'),
|
||||||
|
// 'client_docs' => $client_docs,
|
||||||
|
'mno_docs' => $mno_docs
|
||||||
|
];
|
||||||
|
return view('reports.overview', $data);
|
||||||
|
}
|
||||||
public function getRecentClients(){
|
public function getRecentClients(){
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Recent Clients',
|
'page_title' => 'Recent Clients',
|
||||||
@@ -43,4 +73,70 @@ class ReportsController extends Controller
|
|||||||
return response()->json($clients);
|
return response()->json($clients);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getUserActivities(){
|
||||||
|
#$user_activities = Models\UserActivity::where('user_id', '>', '1')->with('userInfo')->orderBy('created_at', 'DESC')->take(5)->get();
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'User Activities',
|
||||||
|
'current_user' => session('current_user')
|
||||||
|
];
|
||||||
|
return view('reports.user-activities', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getUserActivitiesJson(Request $request){
|
||||||
|
#$user_activities = Models\UserActivity::where('user_id', '>', '1')->with('userInfo')->orderBy('created_at', 'DESC')->take(5)->get();
|
||||||
|
$user_activities = \DB::table('user_activities')
|
||||||
|
->join('auth_users', 'auth_users.id', '=', 'user_activities.user_id')
|
||||||
|
->select('user_activities.id','auth_users.name', 'user_activities.content', 'user_activities.ip_address', 'user_activities.created_at',
|
||||||
|
'user_activities.updated_at')
|
||||||
|
->whereRaw("user_activities.type = 'staff'")
|
||||||
|
->orderBy('user_activities.created_at', 'DESC')
|
||||||
|
->get();
|
||||||
|
|
||||||
|
|
||||||
|
if($request->has('keyword')){
|
||||||
|
$keyword = $request->keyword;
|
||||||
|
$user_activities = \DB::table('user_activities')
|
||||||
|
->join('auth_users', 'auth_users.id', '=', 'user_activities.user_id')
|
||||||
|
->select('user_activities.id','auth_users.name', 'user_activities.content', 'user_activities.ip_address', 'user_activities.created_at', 'user_activities.updated_at')
|
||||||
|
->whereRaw("user_activities.name like '%$keyword%' or user_activities.ip_address like '%$keyword%' OR user_activities.created_at like '%$keyword%' OR user_activities.updated_at like '%$keyword%'")
|
||||||
|
->orderBy('user_activities.created_at', 'DESC')
|
||||||
|
->get();
|
||||||
|
// ->paginate(15);
|
||||||
|
}
|
||||||
|
return response()->json($user_activities);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAmNewClients(){
|
||||||
|
// $new_clients = Models\Client::where()
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAmNewNotes(){
|
||||||
|
|
||||||
|
}
|
||||||
|
public function getClientsByService(){
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'Clients By Service',
|
||||||
|
'current_user' => session('current_user')
|
||||||
|
];
|
||||||
|
return view('reports.clients-by-service', $data);
|
||||||
|
}
|
||||||
|
public function getClientsByServiceJson(){
|
||||||
|
$keyword = "USSD";
|
||||||
|
$clients = \DB::table('clients')
|
||||||
|
->join('auth_users AS aumngr', 'aumngr.id', '=', 'clients.auth_user_id')
|
||||||
|
->select('clients.name', 'clients.services', 'clients.status', 'clients.country', 'aumngr.name As accountMgr', 'clients.created_at')
|
||||||
|
->whereRaw("services like '%$keyword%'")
|
||||||
|
->orderBy('name', 'ASC')->get();
|
||||||
|
|
||||||
|
return response()->json($clients);
|
||||||
|
|
||||||
|
}
|
||||||
|
public function name(){
|
||||||
|
|
||||||
|
$list = ['first', 'second', 'third'];
|
||||||
|
// return $list[2];
|
||||||
|
print($list[2]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class SenderIdController extends Controller
|
|||||||
->join('staff_members AS staffmodify', 'staffmodify.id', '=', 'sender_ids.last_modified_by')
|
->join('staff_members AS staffmodify', 'staffmodify.id', '=', 'sender_ids.last_modified_by')
|
||||||
->join('network_operators', 'network_operators.id', '=', 'sender_ids.network_id')
|
->join('network_operators', 'network_operators.id', '=', 'sender_ids.network_id')
|
||||||
->join('clients', 'clients.id', '=', 'sender_ids.client_id')
|
->join('clients', 'clients.id', '=', 'sender_ids.client_id')
|
||||||
->select('sender_ids.id', 'clients.name AS clientName', 'network_operators.name AS networkName', 'network_operators.country', 'sender_ids.senderid', 'sender_ids.status', 'sender_ids.network_id', 'network_operators.country','sender_ids.remarks', 'staffcreate.name As createdBy', 'staffmodify.name AS modifiedBy')
|
->select('sender_ids.id', 'clients.name AS clientName', 'network_operators.name AS networkName', 'network_operators.country', 'sender_ids.senderid', 'sender_ids.status', 'sender_ids.network_id', 'network_operators.country','sender_ids.remarks', 'staffcreate.name As createdBy','sender_ids.direct_mno', 'staffmodify.name AS modifiedBy')
|
||||||
->orderBy('sender_ids.senderid', 'ASC')
|
->orderBy('sender_ids.senderid', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
|
|
||||||
@@ -38,8 +38,8 @@ class SenderIdController extends Controller
|
|||||||
->join('staff_members AS staffmodify', 'staffmodify.id', '=', 'sender_ids.last_modified_by')
|
->join('staff_members AS staffmodify', 'staffmodify.id', '=', 'sender_ids.last_modified_by')
|
||||||
->join('network_operators', 'network_operators.id', '=', 'sender_ids.network_id')
|
->join('network_operators', 'network_operators.id', '=', 'sender_ids.network_id')
|
||||||
->join('clients', 'clients.id', '=', 'sender_ids.client_id')
|
->join('clients', 'clients.id', '=', 'sender_ids.client_id')
|
||||||
->select('sender_ids.id', 'clients.name AS clientName', 'network_operators.name AS networkName', 'network_operators.country', 'sender_ids.senderid', 'sender_ids.status', 'sender_ids.network_id', 'network_operators.country','sender_ids.remarks', 'staffcreate.name As createdBy', 'staffmodify.name AS modifiedBy')
|
->select('sender_ids.id', 'clients.name AS clientName', 'network_operators.name AS networkName', 'network_operators.country', 'sender_ids.senderid', 'sender_ids.status', 'sender_ids.network_id', 'network_operators.country','sender_ids.remarks', 'staffcreate.name As createdBy', 'sender_ids.direct_mno', 'staffmodify.name AS modifiedBy')
|
||||||
->whereRaw("sender_ids.senderid LIKE '%$keyword%' OR sender_ids.status LIKE '%$keyword%' OR network_operators.name LIKE '%$keyword%' OR network_operators.country LIKE '%$keyword%' OR staffcreate.name LIKE '%$keyword%' OR staffmodify.name LIKE '%$keyword%' OR clients.name LIKE '%$keyword%'")
|
->whereRaw("sender_ids.senderid LIKE '%$keyword%' OR sender_ids.status LIKE '%$keyword%' OR network_operators.name LIKE '%$keyword%' OR network_operators.country LIKE '%$keyword%' OR staffcreate.name LIKE '%$keyword%' OR staffmodify.name LIKE '%$keyword%' OR clients.name LIKE '%$keyword%' OR sender_ids.direct_mno LIKE '%$keyword%'")
|
||||||
->orderBy('sender_ids.senderid', 'ASC')
|
->orderBy('sender_ids.senderid', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
}
|
}
|
||||||
@@ -51,6 +51,8 @@ class SenderIdController extends Controller
|
|||||||
|
|
||||||
$networks = \DB::table('network_operators')->Select(\DB::raw('id, concat(name, " (", country, ")") AS network'))->orderBy('network')->get()->toArray();
|
$networks = \DB::table('network_operators')->Select(\DB::raw('id, concat(name, " (", country, ")") AS network'))->orderBy('network')->get()->toArray();
|
||||||
$network_arr = array_pluck($networks, 'network', 'id');
|
$network_arr = array_pluck($networks, 'network', 'id');
|
||||||
|
$direct_mno_arr = ['YES' => 'YES', 'NO' => 'NO'];
|
||||||
|
|
||||||
// dd($network_arr);
|
// dd($network_arr);
|
||||||
#$network_arr = array_combine($network_arr, $network_arr);
|
#$network_arr = array_combine($network_arr, $network_arr);
|
||||||
|
|
||||||
@@ -61,9 +63,10 @@ class SenderIdController extends Controller
|
|||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Create Sender ID',
|
'page_title' => 'Create Sender ID',
|
||||||
'network_arr' => $network_arr,
|
'network_arr' => [], // $network_arr,
|
||||||
'status' => $status,
|
'status' => $status,
|
||||||
'clients' => $clients,
|
'clients' => $clients,
|
||||||
|
'direct_mno_arr' => $direct_mno_arr,
|
||||||
'staffmembers' => $staffmembers
|
'staffmembers' => $staffmembers
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -87,7 +90,16 @@ class SenderIdController extends Controller
|
|||||||
$senderid_arr['created_by'] = session('current_user.id');
|
$senderid_arr['created_by'] = session('current_user.id');
|
||||||
$senderid_arr['last_modified_by'] = session('current_user.id');
|
$senderid_arr['last_modified_by'] = session('current_user.id');
|
||||||
$senderid_arr['remarks'] = $request->remarks ?? '';
|
$senderid_arr['remarks'] = $request->remarks ?? '';
|
||||||
|
if ($request->direct_mno == 'NO') {
|
||||||
|
$mno_world_wide = Models\Worldwidemno::find($request->network_id);
|
||||||
|
// code... save in the network ops with status as non-direct ... user createOrUpdate method
|
||||||
|
$network_ops_arr['name'] = $mno_world_wide->network;
|
||||||
|
$network_ops_arr['country'] = $mno_world_wide->country;
|
||||||
|
$network_ops_arr['name'] = $mno_world_wide->network;
|
||||||
|
$network_ops_arr['direct_business'] = 'NO'; // $mno_world_wide->network;
|
||||||
|
$result = Models\NetworkOps::updateOrCreate(['name' => $mno_world_wide->network, 'country' => $mno_world_wide->country, 'direct_business' => 'NO'], $network_ops_arr);
|
||||||
|
}
|
||||||
|
// dd($senderid_arr);
|
||||||
|
|
||||||
$result = Models\SenderId::create($senderid_arr);
|
$result = Models\SenderId::create($senderid_arr);
|
||||||
|
|
||||||
@@ -169,4 +181,18 @@ class SenderIdController extends Controller
|
|||||||
return response()->json([ 'code' => 3, 'msg' => 'Request could not be handled at this time']);
|
return response()->json([ 'code' => 3, 'msg' => 'Request could not be handled at this time']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getMNOList($type){
|
||||||
|
if ($type == 'YES') {
|
||||||
|
$data_arr = \DB::table('network_operators')->Select(\DB::raw('id, concat(name, " (", country, ")") AS name'))->orderBy('country')->get()->toArray();
|
||||||
|
}
|
||||||
|
elseif ($type == 'NO') {
|
||||||
|
$data_arr = \DB::table('mno_world_wide')->Select(\DB::raw('id, concat(network, " (", country, ")") AS name'))->orderBy('country')->get()->toArray();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return response()->json(['code' => 3, 'msg' => 'invalid request']);
|
||||||
|
}
|
||||||
|
return response()->json(['code' => 1, 'msg' => 'success', 'result' => $data_arr]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,22 +26,36 @@ class ShortCodesController extends Controller{
|
|||||||
->select('code_type', \DB::raw('count(*) as total'))
|
->select('code_type', \DB::raw('count(*) as total'))
|
||||||
->groupBy('code_type')
|
->groupBy('code_type')
|
||||||
->get();
|
->get();
|
||||||
|
$networks_raw = [
|
||||||
|
'AirtelTigo GH' => 'AirtelTigo GH',
|
||||||
|
'MTN GH' => 'MTN GH',
|
||||||
|
'Airtel MW' => 'Airtel MW',
|
||||||
|
'Airtel Zambia' => 'Airtel Zambia',
|
||||||
|
'TNM MW' => 'TNM MW',
|
||||||
|
'Airtel MW' => 'Airtel MW',
|
||||||
|
'Safaricom Kenya' => 'Safaricom Kenya',
|
||||||
|
'Airtel Kenya' => 'Airtel Kenya',
|
||||||
|
'Telkom Kenya' => 'Telkom Kenya',
|
||||||
|
'Orange Kenya' => 'Orange Kenya'
|
||||||
|
];
|
||||||
|
sort($networks_raw);
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Short Codes',
|
'page_title' => 'Short Codes',
|
||||||
'type' => 'SMS',
|
'type' => 'SMS',
|
||||||
'codes_data' => $codes_data,
|
'codes_data' => $codes_data,
|
||||||
|
'networks_raw' => array_combine($networks_raw, $networks_raw),
|
||||||
'current_user' => session('current_user')
|
'current_user' => session('current_user')
|
||||||
];
|
];
|
||||||
return view('shortcodes.smsindex', $data);
|
return view('shortcodes.smsindex', $data);
|
||||||
}
|
}
|
||||||
public function getShortCodesJson(Request $request){
|
public function getShortCodesJson(Request $request){
|
||||||
#$this->log_query();
|
$this->log_query();
|
||||||
//$codes_data = Models\ClientShortCode::with('client_info', 'update_info')->where('code_type', 'sms')->orderBy('id', 'DESC')->get();
|
//$codes_data = Models\ClientShortCode::with('client_info', 'update_info')->where('code_type', 'sms')->orderBy('id', 'DESC')->get();
|
||||||
|
|
||||||
$shortcode_arr = \DB::table('client_short_codes')
|
$shortcode_arr = \DB::table('client_short_codes')
|
||||||
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
||||||
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
||||||
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.monthly_fee', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
||||||
->where('client_short_codes.code_type', 'sms')
|
->where('client_short_codes.code_type', 'sms')
|
||||||
->orderBy('client_short_codes.shortcode', 'ASC')
|
->orderBy('client_short_codes.shortcode', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
@@ -52,8 +66,8 @@ class ShortCodesController extends Controller{
|
|||||||
$shortcode_arr = \DB::table('client_short_codes')
|
$shortcode_arr = \DB::table('client_short_codes')
|
||||||
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
||||||
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
||||||
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.monthly_fee', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
||||||
->whereRaw("code_type = '$code_type' AND (client_short_codes.name LIKE '%$keyword%' OR client_short_codes.shortcode LIKE '%$keyword%' OR client_short_codes.status LIKE '%$keyword%' OR client_short_codes.network LIKE '%$keyword%' OR client_short_codes.toll_free LIKE '%$keyword%' OR client_short_codes.launch_date LIKE '%$keyword%' OR client_short_codes.expiry_date LIKE '%$keyword%' OR clients.name LIKE '%$keyword%' OR auth_users.name LIKE '%$keyword%')")
|
->whereRaw("code_type = '$code_type' AND (client_short_codes.name LIKE '%$keyword%' OR client_short_codes.shortcode LIKE '%$keyword%' OR client_short_codes.status LIKE '%$keyword%' OR client_short_codes.network LIKE '%$keyword%' OR client_short_codes.toll_free LIKE '%$keyword%' OR client_short_codes.monthly_fee LIKE '%$keyword%' OR client_short_codes.launch_date LIKE '%$keyword%' OR client_short_codes.expiry_date LIKE '%$keyword%' OR clients.name LIKE '%$keyword%' OR auth_users.name LIKE '%$keyword%')")
|
||||||
// ->where('code_type', $code_type)
|
// ->where('code_type', $code_type)
|
||||||
->orderBy('client_short_codes.shortcode', 'ASC')
|
->orderBy('client_short_codes.shortcode', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
@@ -82,7 +96,7 @@ class ShortCodesController extends Controller{
|
|||||||
$shortcode_arr = \DB::table('client_short_codes')
|
$shortcode_arr = \DB::table('client_short_codes')
|
||||||
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
||||||
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
||||||
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.monthly_fee', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
||||||
->where('client_short_codes.code_type', 'ussd')
|
->where('client_short_codes.code_type', 'ussd')
|
||||||
->orderBy('client_short_codes.shortcode', 'ASC')
|
->orderBy('client_short_codes.shortcode', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
@@ -93,8 +107,8 @@ class ShortCodesController extends Controller{
|
|||||||
$shortcode_arr = \DB::table('client_short_codes')
|
$shortcode_arr = \DB::table('client_short_codes')
|
||||||
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
||||||
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
||||||
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.monthly_fee', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
||||||
->whereRaw("code_type = '$code_type' AND (client_short_codes.name LIKE '%$keyword%' OR client_short_codes.shortcode LIKE '%$keyword%' OR client_short_codes.status LIKE '%$keyword%' OR client_short_codes.network LIKE '%$keyword%' OR client_short_codes.toll_free LIKE '%$keyword%' OR client_short_codes.launch_date LIKE '%$keyword%' OR client_short_codes.expiry_date LIKE '%$keyword%' OR clients.name LIKE '%$keyword%' OR auth_users.name LIKE '%$keyword%')")
|
->whereRaw("code_type = '$code_type' AND (client_short_codes.name LIKE '%$keyword%' OR client_short_codes.shortcode LIKE '%$keyword%' OR client_short_codes.status LIKE '%$keyword%' OR client_short_codes.network LIKE '%$keyword%' OR client_short_codes.toll_free LIKE '%$keyword%' OR client_short_codes.monthly_fee LIKE '%$keyword%' OR client_short_codes.launch_date LIKE '%$keyword%' OR client_short_codes.expiry_date LIKE '%$keyword%' OR clients.name LIKE '%$keyword%' OR auth_users.name LIKE '%$keyword%')")
|
||||||
// ->where('code_type', $code_type)
|
// ->where('code_type', $code_type)
|
||||||
->orderBy('client_short_codes.shortcode', 'ASC')
|
->orderBy('client_short_codes.shortcode', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
@@ -124,7 +138,7 @@ class ShortCodesController extends Controller{
|
|||||||
$shortcode_arr = \DB::table('client_short_codes')
|
$shortcode_arr = \DB::table('client_short_codes')
|
||||||
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
||||||
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
||||||
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.monthly_fee','client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
||||||
->where('client_short_codes.code_type', 'voice')
|
->where('client_short_codes.code_type', 'voice')
|
||||||
->orderBy('client_short_codes.shortcode', 'ASC')
|
->orderBy('client_short_codes.shortcode', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
@@ -135,8 +149,8 @@ class ShortCodesController extends Controller{
|
|||||||
$shortcode_arr = \DB::table('client_short_codes')
|
$shortcode_arr = \DB::table('client_short_codes')
|
||||||
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
->join('auth_users', 'auth_users.id', '=', 'client_short_codes.last_updated_by')
|
||||||
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
->join('clients', 'clients.id', '=', 'client_short_codes.client_id')
|
||||||
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
->select('client_short_codes.id', 'client_short_codes.name', 'client_short_codes.shortcode', 'clients.name AS clientName', 'client_short_codes.network', 'client_short_codes.toll_free', 'client_short_codes.monthly_fee', 'client_short_codes.status', 'client_short_codes.remarks', 'client_short_codes.launch_date', 'client_short_codes.expiry_date', 'client_short_codes.last_updated_by', 'auth_users.name AS modifiedBy')
|
||||||
->whereRaw("code_type = '$code_type' AND (client_short_codes.name LIKE '%$keyword%' OR client_short_codes.shortcode LIKE '%$keyword%' OR client_short_codes.status LIKE '%$keyword%' OR client_short_codes.network LIKE '%$keyword%' OR client_short_codes.toll_free LIKE '%$keyword%' OR client_short_codes.launch_date LIKE '%$keyword%' OR client_short_codes.expiry_date LIKE '%$keyword%' OR clients.name LIKE '%$keyword%' OR auth_users.name LIKE '%$keyword%')")
|
->whereRaw("code_type = '$code_type' AND (client_short_codes.name LIKE '%$keyword%' OR client_short_codes.shortcode LIKE '%$keyword%' OR client_short_codes.status LIKE '%$keyword%' OR client_short_codes.network LIKE '%$keyword%' OR client_short_codes.toll_free LIKE '%$keyword%' OR client_short_codes.monthly_fee LIKE '%$keyword%' OR client_short_codes.launch_date LIKE '%$keyword%' OR client_short_codes.expiry_date LIKE '%$keyword%' OR clients.name LIKE '%$keyword%' OR auth_users.name LIKE '%$keyword%')")
|
||||||
// ->where('code_type', $code_type)
|
// ->where('code_type', $code_type)
|
||||||
->orderBy('client_short_codes.shortcode', 'ASC')
|
->orderBy('client_short_codes.shortcode', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
|
|||||||
@@ -9,6 +9,28 @@ use Session;
|
|||||||
class StaffMembersController extends Controller
|
class StaffMembersController extends Controller
|
||||||
{
|
{
|
||||||
public function index(){
|
public function index(){
|
||||||
|
$staff_members_arr = Models\StaffMember::paginate(10);
|
||||||
|
// dd($staff_members_arr);
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'Staff Members',
|
||||||
|
'staff_members' => $staff_members_arr,
|
||||||
|
'current_user' => session('current_user')
|
||||||
|
];
|
||||||
|
return view('staff_members.index-two', $data);
|
||||||
|
}
|
||||||
|
public function profile($staff_member_id){
|
||||||
|
$staff_member = Models\StaffMember::find($staff_member_id);
|
||||||
|
// dd($staff_member);
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'Staff Profile',
|
||||||
|
'staff_member' => $staff_member,
|
||||||
|
'current_user' => session('current_user')
|
||||||
|
];
|
||||||
|
return view('staff_members.profile', $data);
|
||||||
|
}
|
||||||
|
public function indexOld(){
|
||||||
$staff_members_arr = new Models\StaffMember;
|
$staff_members_arr = new Models\StaffMember;
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Staff Members',
|
'page_title' => 'Staff Members',
|
||||||
|
|||||||
@@ -6,9 +6,8 @@ use Illuminate\Http\Request;
|
|||||||
|
|
||||||
use App\Models;
|
use App\Models;
|
||||||
use Spatie\Activitylog\Models\Activity;
|
use Spatie\Activitylog\Models\Activity;
|
||||||
// use Illuminate\Contracts\Mail\Mailer;
|
use Illuminate\Contracts\Mail\Mailer;
|
||||||
|
use App\Jobs\SendTestEmail;
|
||||||
|
|
||||||
|
|
||||||
class UtilityController extends Controller
|
class UtilityController extends Controller
|
||||||
{
|
{
|
||||||
@@ -17,7 +16,8 @@ class UtilityController extends Controller
|
|||||||
}
|
}
|
||||||
public function EmailTest(Mailer $mailer)
|
public function EmailTest(Mailer $mailer)
|
||||||
{
|
{
|
||||||
|
dispatch(new SendTestEmail());
|
||||||
|
/*
|
||||||
$emails = ['kwesi@click-mobile.com', 'kwesi_banson@hotmail.com'];
|
$emails = ['kwesi@click-mobile.com', 'kwesi_banson@hotmail.com'];
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
@@ -30,6 +30,20 @@ class UtilityController extends Controller
|
|||||||
$message->from('erp@click-mobile.com', 'Click Mobile ERP');
|
$message->from('erp@click-mobile.com', 'Click Mobile ERP');
|
||||||
$message->to($emails)->subject('New Notes');
|
$message->to($emails)->subject('New Notes');
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
$emails = [
|
||||||
|
'kwesi@click-mobile.com',
|
||||||
|
'kwesi_banson@hotmail.com'
|
||||||
|
];
|
||||||
|
$data = [];
|
||||||
|
$top = $mailer->send('emails.test', $data, function ($message) use ($data, $emails) {
|
||||||
|
$message->from('support@click-mobile.com', 'Click Mobile ERP');
|
||||||
|
$message->to($emails)->subject('Short Code Invoices');
|
||||||
|
});
|
||||||
|
|
||||||
|
dd($top);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* maptest function to display the map view.
|
* maptest function to display the map view.
|
||||||
@@ -37,7 +51,6 @@ class UtilityController extends Controller
|
|||||||
* @return Illuminate\View\View
|
* @return Illuminate\View\View
|
||||||
*/
|
*/
|
||||||
public function maptest(){
|
public function maptest(){
|
||||||
|
|
||||||
return view('utility.map');
|
return view('utility.map');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,5 +158,71 @@ class UtilityController extends Controller
|
|||||||
dump($activity_up->subject); //returns the instance of NewsItem that was created
|
dump($activity_up->subject); //returns the instance of NewsItem that was created
|
||||||
dump($activity_up->changes);
|
dump($activity_up->changes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function loadShortCodes(){
|
||||||
|
$short_codes_file = public_path('misc/client_short_codes.csv');
|
||||||
|
$codes_arr = file($short_codes_file);
|
||||||
|
|
||||||
|
dump($codes_arr);
|
||||||
|
// "Friendly Name"
|
||||||
|
// 1 => "Shortcode"
|
||||||
|
// 2 => "Network"
|
||||||
|
// 3 => "Client"
|
||||||
|
// 4 => "Status"
|
||||||
|
// 0 => "Nexmo"
|
||||||
|
// 1 => "40520"
|
||||||
|
// 2 => "Safaricom"
|
||||||
|
// 3 => "Nexmo"
|
||||||
|
// 4 => "LIVE\r\n"
|
||||||
|
|
||||||
|
$client_arr = [];
|
||||||
|
foreach ($codes_arr as $row) {
|
||||||
|
$row_arr = explode(',', $row);
|
||||||
|
$client_arr['name'] = trim($row_arr[0]);
|
||||||
|
$client_arr['shortcode'] = trim($row_arr[1]);
|
||||||
|
$client_arr['network'] = trim($row_arr[2]);
|
||||||
|
$client_arr['client'] = trim($row_arr[3]);
|
||||||
|
$client_arr['status'] = trim($row_arr[4]);
|
||||||
|
|
||||||
|
dd($client_arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getClient($name){
|
||||||
|
|
||||||
|
}
|
||||||
|
public function getNetwork($name){
|
||||||
|
|
||||||
|
}
|
||||||
|
public function processMnoWorldwideFile(){
|
||||||
|
|
||||||
|
|
||||||
|
$file = public_path('helper_documents/mcc_mnc_table.json');
|
||||||
|
|
||||||
|
$jsonData = file_get_contents($file);
|
||||||
|
|
||||||
|
// Decode the JSON string into an associative array
|
||||||
|
$dataArray = json_decode($jsonData, true);
|
||||||
|
|
||||||
|
if (json_last_error() === JSON_ERROR_NONE) {
|
||||||
|
$counter = 0;
|
||||||
|
foreach ($dataArray as $key => $value) {
|
||||||
|
$result = Models\Worldwidemno::create($value);
|
||||||
|
$counter++;
|
||||||
|
}
|
||||||
|
dump($counter . " Records found and inserted");
|
||||||
|
} else {
|
||||||
|
dump('Error decoding JSON: ' . json_last_error_msg());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// dd($file);
|
||||||
|
// $decoded = json_decode($file, true);
|
||||||
|
// dd($decoded);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// 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
|
||||||
|
|||||||
156
app/Http/Controllers/VpnController.php
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models;
|
||||||
|
use Session;
|
||||||
|
|
||||||
|
class VpnController extends Controller{
|
||||||
|
public function indexBK(){
|
||||||
|
$result = Models\VpnConfig::where('partner_type', 'mno')->with('mno_info')->paginate(15);
|
||||||
|
// dd($result);
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'infrastructure: VPN',
|
||||||
|
'vpn_list' => $result
|
||||||
|
];
|
||||||
|
// dd($result);
|
||||||
|
return view('vpn.index', $data);
|
||||||
|
}
|
||||||
|
public function indexBKK(){
|
||||||
|
$result = Models\VpnConfig::get();
|
||||||
|
// dd($result);
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'infrastructure: VPN',
|
||||||
|
'vpn_list' => $result
|
||||||
|
];
|
||||||
|
return view('vpn.index_test', $data);
|
||||||
|
}
|
||||||
|
public function index(){
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'Infrastructure: VPN',
|
||||||
|
'current_user' => session('current_user')
|
||||||
|
];
|
||||||
|
return view('vpn.index_rawjs', $data);
|
||||||
|
}
|
||||||
|
public function getVpnListJsonRawJs(Request $request){
|
||||||
|
// dd($request->has('keyword') && $request->keyword == true);
|
||||||
|
|
||||||
|
if($request->has('keyword') && $request->keyword == true){
|
||||||
|
//'vpn_configs.client_id',
|
||||||
|
$keyword = $request->keyword;
|
||||||
|
$vpn_list_arr = \DB::table('vpn_configs')
|
||||||
|
->join('auth_users', 'auth_users.id', '=', 'vpn_configs.user_id')
|
||||||
|
->join('network_operators', 'network_operators.id', '=', 'vpn_configs.mno_id')
|
||||||
|
->select('network_operators.id', 'vpn_configs.date_received', 'network_operators.name AS mnoName', 'network_operators.country', 'auth_users.name As username', 'vpn_configs.vpn_device', 'vpn_configs.mno_id', 'vpn_configs.partner_type', 'vpn_configs.remote_peer_ip', 'vpn_configs.local_access_control_list', 'vpn_configs.partner_access_control_list')
|
||||||
|
->whereRaw("network_operators.name LIKE '%$keyword%' OR vpn_configs.vpn_device LIKE '%$keyword%' OR network_operators.country LIKE '%$keyword%' OR vpn_configs.remote_peer_ip LIKE '%$keyword%' OR vpn_configs.local_access_control_list like '%$keyword%' OR vpn_configs.partner_access_control_list LIKE '%$keyword%'")
|
||||||
|
->paginate(10);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$vpn_list_arr = \DB::table('vpn_configs')
|
||||||
|
->join('auth_users', 'auth_users.id', '=', 'vpn_configs.user_id')
|
||||||
|
->join('network_operators', 'network_operators.id', '=', 'vpn_configs.mno_id')
|
||||||
|
->select('vpn_configs.id', 'vpn_configs.date_received', 'network_operators.name AS mnoName', 'network_operators.country', 'auth_users.name As username', 'vpn_configs.vpn_device', 'vpn_configs.mno_id', 'vpn_configs.partner_type', 'vpn_configs.remote_peer_ip', 'vpn_configs.local_access_control_list', 'vpn_configs.partner_access_control_list')
|
||||||
|
->paginate(10);
|
||||||
|
|
||||||
|
}
|
||||||
|
return response()->json($vpn_list_arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function create(){
|
||||||
|
$partner_type_arr = ['client' => 'client', 'mno' => 'mno'];
|
||||||
|
$partners_arr = [];
|
||||||
|
$services = Models\Service::pluck('name', 'name');
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'infrastructure: VPN',
|
||||||
|
'partner_type_arr' => $partner_type_arr,
|
||||||
|
'partners_arr' => $partners_arr,
|
||||||
|
'services_arr' => $services
|
||||||
|
];
|
||||||
|
return view('vpn.create', $data);
|
||||||
|
}
|
||||||
|
public function edit($id){
|
||||||
|
$vpn = Models\VpnConfig::find($id);
|
||||||
|
$partner_type_arr = ['client' => 'client', 'mno' => 'mno'];
|
||||||
|
$partners_arr = [];
|
||||||
|
$services = Models\Service::pluck('name', 'name');
|
||||||
|
$data = [
|
||||||
|
'vpn' => $vpn,
|
||||||
|
'page_title' => 'infrastructure: VPN',
|
||||||
|
'partner_type_arr' => $partner_type_arr,
|
||||||
|
'partners_arr' => $partners_arr,
|
||||||
|
'services_arr' => $services
|
||||||
|
];
|
||||||
|
return view('vpn.create', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function store(Request $request){
|
||||||
|
$request->validate([
|
||||||
|
'partner_type_id' => 'required',
|
||||||
|
'vpn_device' => 'sometimes',
|
||||||
|
'remote_peer_ip' => 'required',
|
||||||
|
'partner_access_control_list' => 'required',
|
||||||
|
'local_access_control_list' => 'required',
|
||||||
|
'partner_type' => 'required',
|
||||||
|
'phase_1_raw_settings' => 'sometimes',
|
||||||
|
'phase_2_raw_settings' => 'sometimes',
|
||||||
|
]);
|
||||||
|
// dd($request->all());
|
||||||
|
$vpn_configs_arr = $request->except('_token', 'vpn_form');
|
||||||
|
if ($request->partner_type == 'mno') {
|
||||||
|
|
||||||
|
$vpn_configs_arr['mno_id'] = $request->partner_type_id;
|
||||||
|
}
|
||||||
|
elseif($request->partner_type == 'client'){
|
||||||
|
$vpn_configs_arr['client_id'] = $request->partner_type_id;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
Session::flash('error_message', 'Your request could not be handled at this time. Try again');
|
||||||
|
return redirect(url('infrastructure/vpn'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$vpn_configs_arr['user_id'] = session('current_user.id');
|
||||||
|
|
||||||
|
// dd($vpn_configs_arr);
|
||||||
|
if ($request->hasFile('vpn_form')) {
|
||||||
|
if ($request->file('vpn_form')->isValid()) {
|
||||||
|
$filename = "erp_" . time() . "." . $request->vpn_form->extension();
|
||||||
|
$request->vpn_form->storeAs('vpn_form_files', $filename, 'public');
|
||||||
|
$document_arr['vpn_form'] = json_encode([$filename]);
|
||||||
|
$vpn_configs_arr['partner_vpn_form'] = $filename;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$result = Models\VpnConfig::create($vpn_configs_arr);
|
||||||
|
|
||||||
|
Session::flash('success_message', 'VPN Configs successfully added');
|
||||||
|
return redirect(url('infrastructure/vpn'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMNOandClient($type){
|
||||||
|
if ($type == 'mno') {
|
||||||
|
$data_arr = \DB::table('network_operators')->Select(\DB::raw('id, concat(name, " (", country, ")") AS partner'))->orderBy('name')->get()->toArray();
|
||||||
|
}
|
||||||
|
elseif ($type == 'client') {
|
||||||
|
$data_arr = \DB::table('clients')->Select(\DB::raw('id, concat(name, " (", country, ")") AS partner'))->orderBy('name')->get()->toArray();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return response()->json(['code' => 3, 'msg' => 'invalid request']);
|
||||||
|
}
|
||||||
|
return response()->json(['code' => 1, 'msg' => 'success', 'result' => $data_arr]);
|
||||||
|
}
|
||||||
|
public function getPhaseOneTwo($vpn_list_id){
|
||||||
|
$vpn = Models\VpnConfig::find($vpn_list_id);
|
||||||
|
if ($vpn) {
|
||||||
|
// code...
|
||||||
|
$data = ['code' => 1, 'msg' => 'success', 'result' => $vpn];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$data = ['code' => 3, 'msg' => 'request could not be handled'];
|
||||||
|
}
|
||||||
|
return response()->json($data);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ class NewMnoNotesEmailAlerts implements ShouldQueue
|
|||||||
];
|
];
|
||||||
\Log::info($note->notes_body);
|
\Log::info($note->notes_body);
|
||||||
$mailer->send('emails.new-mno-notes', $data, function ($message) use ($data, $emails) {
|
$mailer->send('emails.new-mno-notes', $data, function ($message) use ($data, $emails) {
|
||||||
$message->from('support@click-mobile.com', 'Click Mobile ERP');
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
$message->to($emails)->subject('New Notes on Mobile Operators');
|
$message->to($emails)->subject('New Notes on Mobile Operators');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ class SendClientContractRenewalAlert implements ShouldQueue
|
|||||||
];
|
];
|
||||||
|
|
||||||
$mailer->send('emails.client_renewal-alert', $data, function ($message) use ($data, $emails) {
|
$mailer->send('emails.client_renewal-alert', $data, function ($message) use ($data, $emails) {
|
||||||
$message->from('support@click-mobile.com', 'Click Mobile ERP');
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
$message->to($emails)->subject('Client Contract Renewal Alert');
|
$message->to($emails)->subject('Client Contract Renewal Alert');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ class SendMnoContractRenewalEmailAlert implements ShouldQueue
|
|||||||
'alert_body' => 'Contract for ' . $renewalSet['mno_name'] . ' will expire in ' . $renewalSet['days_to_expire'] . ' days. Take note'
|
'alert_body' => 'Contract for ' . $renewalSet['mno_name'] . ' will expire in ' . $renewalSet['days_to_expire'] . ' days. Take note'
|
||||||
];
|
];
|
||||||
$mailer->send('emails.renewal-alert', $data, function ($message) use ($data, $emails) {
|
$mailer->send('emails.renewal-alert', $data, function ($message) use ($data, $emails) {
|
||||||
$message->from('support@click-mobile.com', 'Click Mobile ERP');
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
$message->to($emails)->subject('Contract Renewal Alert');
|
$message->to($emails)->subject('Contract Renewal Alert');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,11 +31,8 @@ class SendNewNotesEmailAlert implements ShouldQueue
|
|||||||
public function handle(Mailer $mailer)
|
public function handle(Mailer $mailer)
|
||||||
{
|
{
|
||||||
$note = $this->note;
|
$note = $this->note;
|
||||||
$emails = ['samuel@click-mobile.com'];
|
$emails = ['samuel@click-mobile.com', 'kwesi@click-mobile.com', 'mansa@click-mobile.com'];
|
||||||
|
|
||||||
//$note_body = $note->notes_body;
|
//$note_body = $note->notes_body;
|
||||||
|
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'client' => $note->client_info->name,
|
'client' => $note->client_info->name,
|
||||||
'created_by' => $note->created_by_info->name,
|
'created_by' => $note->created_by_info->name,
|
||||||
@@ -46,8 +43,9 @@ class SendNewNotesEmailAlert implements ShouldQueue
|
|||||||
\Log::info("New notes for : " . $note->client_info->name);
|
\Log::info("New notes for : " . $note->client_info->name);
|
||||||
\Log::info("New notes triggered by : " . $note->created_by_info->name);
|
\Log::info("New notes triggered by : " . $note->created_by_info->name);
|
||||||
\Log::info($note->notes_body);
|
\Log::info($note->notes_body);
|
||||||
|
|
||||||
$mailer->send('emails.new-notes', $data, function ($message) use ($data, $emails) {
|
$mailer->send('emails.new-notes', $data, function ($message) use ($data, $emails) {
|
||||||
$message->from('support@click-mobile.com', 'Click Mobile ERP');
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
$message->to($emails)->subject('New Notes');
|
$message->to($emails)->subject('New Notes');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class SendNewUssdClientEmail implements ShouldQueue
|
|||||||
'status' => $status
|
'status' => $status
|
||||||
];
|
];
|
||||||
$mailer->send('emails.new_ussd_client', $data, function ($message) use ($data, $emails) {
|
$mailer->send('emails.new_ussd_client', $data, function ($message) use ($data, $emails) {
|
||||||
$message->from('support@click-mobile.com', 'Click Mobile Account Manager Tracker');
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
$message->to($emails)->subject('New USSD Client Details');
|
$message->to($emails)->subject('New USSD Client Details');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class SendOnboardingCompletedEmailAlert implements ShouldQueue
|
|||||||
'how_we_got' => $client->how_we_got_client
|
'how_we_got' => $client->how_we_got_client
|
||||||
];
|
];
|
||||||
$mailer->send('emails.onboarding_completed', $data, function ($message) use ($data, $emails) {
|
$mailer->send('emails.onboarding_completed', $data, function ($message) use ($data, $emails) {
|
||||||
$message->from('support@click-mobile.com', 'Click Mobile ERP');
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
$message->to($emails)->subject('Onboarding Completed');
|
$message->to($emails)->subject('Onboarding Completed');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
59
app/Jobs/SendShortCodeListToFinance.php
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Jobs;
|
||||||
|
|
||||||
|
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 SendShortCodeListToFinance implements ShouldQueue
|
||||||
|
{
|
||||||
|
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||||
|
protected $short_code_list;
|
||||||
|
protected $message_body;
|
||||||
|
protected $finance_arr;
|
||||||
|
/**
|
||||||
|
* Create a new job instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct($short_code_list, $message_body, $finance_arr)
|
||||||
|
{
|
||||||
|
$this->short_code_list = $short_code_list;
|
||||||
|
$this->message_body = $message_body;
|
||||||
|
$this->finance_arr = $finance_arr;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the job.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function handle(Mailer $mailer)
|
||||||
|
{
|
||||||
|
$short_code_list = $this->short_code_list;
|
||||||
|
$message_body = $this->message_body;
|
||||||
|
$finance_arr = $this->finance_arr;
|
||||||
|
|
||||||
|
$emails = [
|
||||||
|
'samuel@click-mobile.com',
|
||||||
|
'kwesi@click-mobile.com',
|
||||||
|
'daniel@click-mobile.com',
|
||||||
|
'jim@click-mobile.com',
|
||||||
|
'priscilla@click-mobile.com',
|
||||||
|
'mansa@click-mobile.com'
|
||||||
|
];
|
||||||
|
$data = [
|
||||||
|
'short_code_list' => $short_code_list,
|
||||||
|
'message_body' => $message_body,
|
||||||
|
'finance_arr' => $finance_arr
|
||||||
|
];
|
||||||
|
$mailer->send('emails.short_code_payment_alert', $data, function ($message) use ($data, $emails) {
|
||||||
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
|
$message->to($emails)->subject('Short Code Invoices');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -45,7 +45,7 @@ class SendSupportFeesReminderEmailAlert implements ShouldQueue
|
|||||||
'alert_body' => 'Support fees for ' . $renewalSet['client_name'] . ' will be due in ' . $renewalSet['days_to_renew'] . ' days. Take note'
|
'alert_body' => 'Support fees for ' . $renewalSet['client_name'] . ' will be due in ' . $renewalSet['days_to_renew'] . ' days. Take note'
|
||||||
];
|
];
|
||||||
$mailer->send('emails.supportfees-alert', $data, function ($message) use ($data, $emails) {
|
$mailer->send('emails.supportfees-alert', $data, function ($message) use ($data, $emails) {
|
||||||
$message->from('support@click-mobile.com', 'Click Mobile ERP');
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
$message->to($emails)->subject('Support Fees Reminder');
|
$message->to($emails)->subject('Support Fees Reminder');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
44
app/Jobs/SendTestEmail.php
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Jobs;
|
||||||
|
|
||||||
|
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 SendTestEmail implements ShouldQueue
|
||||||
|
{
|
||||||
|
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new job instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the job.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function handle(Mailer $mailer)
|
||||||
|
{
|
||||||
|
$emails = [
|
||||||
|
'kwesi@click-mobile.com',
|
||||||
|
'kwesi_banson@hotmail.com',
|
||||||
|
'mansa@click-mobile.com'
|
||||||
|
];
|
||||||
|
$data = [];
|
||||||
|
$mailer->send('emails.test', $data, function ($message) use ($data, $emails) {
|
||||||
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
|
$message->to($emails)->subject('Short Code Invoices');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -41,7 +41,7 @@ class SendUssdClientActiveEmail implements ShouldQueue
|
|||||||
'status' => $status
|
'status' => $status
|
||||||
];
|
];
|
||||||
$mailer->send('emails.active_ussd_client', $data, function ($message) use ($data, $emails) {
|
$mailer->send('emails.active_ussd_client', $data, function ($message) use ($data, $emails) {
|
||||||
$message->from('support@click-mobile.com', 'Click Mobile Account Manager Tracker');
|
$message->from('alerts@click-mobile.com', 'Click Mobile ERP');
|
||||||
$message->to($emails)->subject('New USSD Client Details');
|
$message->to($emails)->subject('New USSD Client Details');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ class ClientNote extends Model
|
|||||||
protected $guarded = array('id');
|
protected $guarded = array('id');
|
||||||
protected static $logUnguarded = true;
|
protected static $logUnguarded = true;
|
||||||
|
|
||||||
public function getActivitylogOptions(): LogOptions{
|
// public function getActivitylogOptions(): LogOptions{
|
||||||
return LogOptions::defaults()->logUnguarded();
|
// return LogOptions::defaults()->logUnguarded();
|
||||||
}
|
// }
|
||||||
|
|
||||||
public function client_info(){
|
public function client_info(){
|
||||||
return $this->hasOne('App\Models\Client', 'id', 'client_id');
|
return $this->hasOne('App\Models\Client', 'id', 'client_id');
|
||||||
|
|||||||
10
app/Models/Holiday.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Holiday extends Model
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
12
app/Models/LeaveManagement.php
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class LeaveManagement extends Model
|
||||||
|
{
|
||||||
|
protected $guarded = array('id');
|
||||||
|
public $table = "leave_management";
|
||||||
|
|
||||||
|
}
|
||||||
20
app/Models/VpnConfig.php
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class VpnConfig extends Model
|
||||||
|
{
|
||||||
|
protected $guarded = ['id'];
|
||||||
|
|
||||||
|
public function client_info(){
|
||||||
|
return $this->hasOne('App\Models\Client', 'id', 'client_id');
|
||||||
|
}
|
||||||
|
public function mno_info(){
|
||||||
|
return $this->hasOne('App\Models\NetworkOps', 'id', 'mno_id');
|
||||||
|
}
|
||||||
|
public function userInfo(){
|
||||||
|
return $this->hasOne('App\Models\SystemUser', 'id', 'user_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
11
app/Models/Worldwidemno.php
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Worldwidemno extends Model
|
||||||
|
{
|
||||||
|
protected $guarded = array('id');
|
||||||
|
public $table = "mno_world_wide";
|
||||||
|
}
|
||||||
@@ -13,16 +13,17 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
*/
|
*/
|
||||||
public function boot()
|
public function boot()
|
||||||
{
|
{
|
||||||
$monolog = \Log::getMonolog();
|
// $monolog = \Log::getMonolog();
|
||||||
//new --- > xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a
|
//new --- > xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a
|
||||||
//old ---> xoxp-677819906294-675678554016-720956680656-4a6b5d0fcb00e9e0512c14341d3a7563
|
//old ---> xoxp-677819906294-675678554016-720956680656-4a6b5d0fcb00e9e0512c14341d3a7563
|
||||||
/*
|
//clickml_erp_ntfy
|
||||||
$slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a', '#click_erp_notify', 'Monolog', true, null, \Monolog\Logger::ERROR);
|
//click_erp_notify
|
||||||
$slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a', '#click_erp_notify', 'Monolog', true, null, \Monolog\Logger::INFO);
|
// $slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a', '#clickml_erp_ntfy', 'Monolog', true, null, \Monolog\Logger::ERROR);
|
||||||
$slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a', '#click_erp_notify', 'Monolog', true, null, \Monolog\Logger::DEBUG);
|
// $slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a', '#clickml_erp_ntfy', 'Monolog', true, null, \Monolog\Logger::INFO);
|
||||||
|
// $slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a', '#clickml_erp_ntfy', 'Monolog', true, null, \Monolog\Logger::DEBUG);
|
||||||
|
|
||||||
|
// $monolog->pushHandler($slackHandler);
|
||||||
|
|
||||||
$monolog->pushHandler($slackHandler);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
INSERT INTO `client_notes` (`id`, `client_id`, `services`, `auth_user_id`, `notes_body`, `highlight`, `created_at`, `updated_at`)
|
|
||||||
VALUES
|
|
||||||
(955, '229', 'A2P', 15, 'A bilateral prepaid agreement has been signed by both Click Mobile and Telxio Networks.\r\nThe next step is to exchange tech forms for the interconnection.', 'NO', '2024-03-11 11:34:14', '2024-03-11 11:34:14');
|
|
||||||
|
|
||||||
|
|
||||||
INSERT INTO `client_notes` (`id`, `client_id`, `services`, `auth_user_id`, `notes_body`, `highlight`, `created_at`, `updated_at`)
|
|
||||||
VALUES
|
|
||||||
(954, '229', 'A2P', 15, 'A bilateral prepaid agreement has been signed by both Click Mobile and Telxio.\r\nThe next stepp is to excahnge tech forms for the interconnection.', 'NO', '2024-03-11 08:00:02', '2024-03-11 08:00:02');
|
|
||||||
@@ -1,7 +1,22 @@
|
|||||||
|
# Leave management
|
||||||
|
- apply for leave
|
||||||
|
- approve/deny leave
|
||||||
|
- view leave days
|
||||||
|
- list staff on leave with return dates
|
||||||
|
|
||||||
|
## Leave Management Config Table
|
||||||
|
- id
|
||||||
|
- staff_type (director, standard)
|
||||||
|
- allocated_leave_days
|
||||||
|
- current_year
|
||||||
|
-
|
||||||
|
|
||||||
|
# Holidays
|
||||||
|
- list all holidays by country/general
|
||||||
|
- send holiday reminders
|
||||||
|
- Use the calender
|
||||||
|
|
||||||
# Onboarding process
|
# Onboarding process
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Thank you sir,
|
Thank you sir,
|
||||||
|
|
||||||
Has it been uploaded on the ERP
|
Has it been uploaded on the ERP
|
||||||
@@ -34,7 +49,18 @@ Comments
|
|||||||
|
|
||||||
|
|
||||||
1. Charity suggested we link clients with Sender IDs to avoid having to enter Sender IDS on a separate page
|
1. Charity suggested we link clients with Sender IDs to avoid having to enter Sender IDS on a separate page
|
||||||
2. Charity and the team also suggested it would be good for us country managers to have more options on the ERP. Country documents should also have an option to add expiry dates. Have the same notes function under countries just like AMs.
|
|
||||||
|
2. Charity and the team also suggested it would be good for us country managers to have more options on the ERP. Country documents should also have an option to add expiry dates. Have the same notes function under countries just like AMs. --- ask for clarifications on the invoices
|
||||||
|
|
||||||
3. Charity also suggested that we have a feature that sends emails to AMs to remind them of the invoices. Since invoices have validity period to say to be paid after so an so date, it should be used to send reminders to alert AMs to followup on payments. Don’t know if it makes sense.
|
3. Charity also suggested that we have a feature that sends emails to AMs to remind them of the invoices. Since invoices have validity period to say to be paid after so an so date, it should be used to send reminders to alert AMs to followup on payments. Don’t know if it makes sense.
|
||||||
|
|
||||||
4. I have asked Kwesi if we could have a page on the ERP that displays all activities rather than just on the home page. Also suggested that we be able to click on some activities like when AM leaves a note, we should be able to open and view that note.
|
4. I have asked Kwesi if we could have a page on the ERP that displays all activities rather than just on the home page. Also suggested that we be able to click on some activities like when AM leaves a note, we should be able to open and view that note.
|
||||||
5. The other suggestion was to have an option to view all clients instead of just showing 15 clients per page, have an option to view 15, view 50. view 100. view all. that way will be able to download XLSX/PDF for all clients if we view all. currently it only downloads 15 clients of that particular page
|
|
||||||
|
5. The other suggestion was to have an option to view all clients instead of just showing 15 clients per page, have an option to view 15, view 50. view 100. view all. that way will be able to download XLSX/PDF for all clients if we view all. currently it only downloads 15 clients of that particular page - done
|
||||||
|
|
||||||
|
|
||||||
|
## Mansa
|
||||||
|
- Reports on new clients
|
||||||
|
- reports on new notes
|
||||||
|
|
||||||
|
- @exoscutter
|
||||||
|
|||||||
73
public/assets/js/clientshow.js
vendored
@@ -14,6 +14,34 @@
|
|||||||
$('#textbox1').val(this.checked);
|
$('#textbox1').val(this.checked);
|
||||||
});
|
});
|
||||||
*/
|
*/
|
||||||
|
function matchCustom(params, data) {
|
||||||
|
// If there are no search terms, return all of the data
|
||||||
|
if ($.trim(params.term) === '') {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do not display the item if there is no 'text' property
|
||||||
|
if (typeof data.text === 'undefined') {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// `params.term` should be the term that is used for searching
|
||||||
|
// `data.text` is the text that is displayed for the data object
|
||||||
|
if (data.text.indexOf(params.term) > -1) {
|
||||||
|
var modifiedData = $.extend({}, data, true);
|
||||||
|
modifiedData.text += ' (matched)';
|
||||||
|
|
||||||
|
// You can return modified objects from here
|
||||||
|
// This includes matching the `children` how you want in nested data sets
|
||||||
|
return modifiedData;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return `null` if the term should not be displayed
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
$('#shortCodeCountry').select2({
|
||||||
|
matcher: matchCustom
|
||||||
|
});
|
||||||
$('.progressIndicatorCheckbox').on('change', function() {
|
$('.progressIndicatorCheckbox').on('change', function() {
|
||||||
// From the other examples
|
// From the other examples
|
||||||
// console.log('finker');
|
// console.log('finker');
|
||||||
@@ -23,8 +51,45 @@
|
|||||||
$('#textbox1').val(sure.toString());
|
$('#textbox1').val(sure.toString());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
$("select#shortCodeCountry").change(function(){
|
||||||
|
var shortCodeCountry = $(this).val();
|
||||||
|
var theToken = "{{ csrf_token }}";
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: base_url + '/mnos/getCountryNetworks',
|
||||||
|
headers: {
|
||||||
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||||
|
},
|
||||||
|
data: {"country" : shortCodeCountry },
|
||||||
|
cache: false,
|
||||||
|
beforeSend: function () {
|
||||||
|
console.log('loader here');
|
||||||
|
//show a loader here
|
||||||
|
//$('#district').html('<img src="../../img/loading.gif" alt="" width="24" height="24">');
|
||||||
|
},
|
||||||
|
success: function(data) {
|
||||||
|
console.log(data.mnos);
|
||||||
|
// var jason = JSON.parse(data);
|
||||||
|
if (data.code === 1) {
|
||||||
|
var actionPoint = $('#networks').empty();
|
||||||
|
console.log(actionPoint);
|
||||||
|
$.each(data.mnos, function(key, value) {
|
||||||
|
console.log(id);
|
||||||
|
console.log(row);
|
||||||
|
//$('#networks').append($("<option />").val(row.id).text(row.name));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log(data);
|
||||||
|
$.alert(data.msg);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail : function(errordata){
|
||||||
|
console.log(errordata);å
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
$('select').select2();
|
$('select').select2();
|
||||||
$('#myDatepicker2').datetimepicker({
|
$('#myDatepicker2').datetimepicker({
|
||||||
format: 'YYYY-MM-DD',
|
format: 'YYYY-MM-DD',
|
||||||
@@ -68,7 +133,6 @@
|
|||||||
});
|
});
|
||||||
$('#createSenderIdBtn').click(function(evt){
|
$('#createSenderIdBtn').click(function(evt){
|
||||||
evt.preventDefault();
|
evt.preventDefault();
|
||||||
console.log('Heere at the wall');
|
|
||||||
$('#newSenderIdFormModal').modal('show');
|
$('#newSenderIdFormModal').modal('show');
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -92,6 +156,7 @@
|
|||||||
contentType: false,
|
contentType: false,
|
||||||
async: false,
|
async: false,
|
||||||
success: function (data){
|
success: function (data){
|
||||||
|
console.log(data);
|
||||||
if (data.code === 1) {
|
if (data.code === 1) {
|
||||||
// console.log(theIDD);
|
// console.log(theIDD);
|
||||||
$('#paymentIdEdit').val(theIDD);
|
$('#paymentIdEdit').val(theIDD);
|
||||||
@@ -99,6 +164,7 @@
|
|||||||
$('#invoiceNumberEdit').val(data.result.invoice_number);
|
$('#invoiceNumberEdit').val(data.result.invoice_number);
|
||||||
$('#invoiceAmountEdit').val(data.result.invoice_amount);
|
$('#invoiceAmountEdit').val(data.result.invoice_amount);
|
||||||
$('#invoiceDateEdit').val(data.result.invoice_date);
|
$('#invoiceDateEdit').val(data.result.invoice_date);
|
||||||
|
$('#financeShortCodeEdit').val(data.result.short_code);
|
||||||
$('#invoiceStatusEdit').val(data.result.invoice_status).change();
|
$('#invoiceStatusEdit').val(data.result.invoice_status).change();
|
||||||
$('#remarksEdit').val(data.result.remarks);
|
$('#remarksEdit').val(data.result.remarks);
|
||||||
$('#financePaymentsEditForm').modal('show');
|
$('#financePaymentsEditForm').modal('show');
|
||||||
@@ -141,6 +207,7 @@
|
|||||||
$('#shortCodeTypeEdit').val(data.result.code_type);
|
$('#shortCodeTypeEdit').val(data.result.code_type);
|
||||||
$('#shortCodeEdit').val(data.result.shortcode);
|
$('#shortCodeEdit').val(data.result.shortcode);
|
||||||
$('#tollFreeEdit').val(data.result.toll_free).change();
|
$('#tollFreeEdit').val(data.result.toll_free).change();
|
||||||
|
$('#monthlyFeeEdit').val(data.result.monthly_fee);
|
||||||
$('#launchDateEdit').val(data.result.launch_date);
|
$('#launchDateEdit').val(data.result.launch_date);
|
||||||
$('#expiryDateEdit').val(data.result.expiry_date);
|
$('#expiryDateEdit').val(data.result.expiry_date);
|
||||||
$('#codeStatusEdit').val(data.result.status).change();
|
$('#codeStatusEdit').val(data.result.status).change();
|
||||||
|
|||||||
36
public/assets/js/senderid.js
vendored
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
$(document).ready(function(){
|
||||||
|
$('#directMno').change(function(tve){
|
||||||
|
tve.preventDefault();
|
||||||
|
// var theIDD = $(this).siblings('.shortCodeEntryRowId').val();
|
||||||
|
var directMnoSelection = $(this).val();
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: base_url + '/senderids/get-mno-list/' + directMnoSelection,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
async: false,
|
||||||
|
success: function (data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
$('#networkName').empty();
|
||||||
|
$.each(data.result, function(id, row) {
|
||||||
|
// console.log(row);
|
||||||
|
$('#networkName').append($("<option />").val(row.id).text(row.name));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else if (data.code > 1) {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: data.msg,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Your request could not be handled. Try again !',
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
44
public/assets/js/vpn_configs.js
vendored
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
$(document).ready(function(){
|
||||||
|
$('#dateReceived').datetimepicker({
|
||||||
|
format: 'YYYY-MM-DD'
|
||||||
|
});
|
||||||
|
$('#partnerType').change(function(tve){
|
||||||
|
tve.preventDefault();
|
||||||
|
// var theIDD = $(this).siblings('.shortCodeEntryRowId').val();
|
||||||
|
var selectedPartnerType = $(this).val();
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: base_url + '/infrastructure/get-vpn-partner-list/' + selectedPartnerType,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
async: false,
|
||||||
|
success: function (data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
$('#partnerTypeID').empty();
|
||||||
|
$.each(data.result, function(id, row) {
|
||||||
|
// console.log(row);
|
||||||
|
$('#partnerTypeID').append($("<option />").val(row.id).text(row.partner));
|
||||||
|
});
|
||||||
|
|
||||||
|
// $('#partnerTypeIDd').val(data.result).change();
|
||||||
|
// $('#codeStatusEdit').val(data.result.status).change();
|
||||||
|
// $('#network').val(data.result.network).change();
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (data.code > 1) {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: data.msg,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Your request could not be handled. Try again !',
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
BIN
public/documents/client_files/erp_17405830542qPR.pdf
Normal file
BIN
public/documents/client_files/erp_1740594079XpAQ.jpeg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
public/documents/client_files/erp_1740594270sQpp.jpeg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
public/documents/client_files/erp_1740594435xhBH.jpeg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
public/documents/client_files/erp_1740594551Uq8J.docx
Normal file
BIN
public/documents/client_files/erp_1740594715bUcQ.jpeg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
public/documents/client_files/erp_1740594985277c.pdf
Normal file
BIN
public/documents/client_files/erp_17405949852fpq.jpeg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
public/documents/client_files/erp_1740594985aIiD.jpeg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
public/documents/client_files/erp_1740595007KvN4.pdf
Normal file
BIN
public/documents/client_files/erp_1740595136CTbP.jpeg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
public/documents/client_files/erp_1740595200lOfd.jpeg
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
public/documents/client_files/erp_1740595238RYUv.pdf
Normal file
BIN
public/documents/client_files/erp_1741256913lUCs.jpeg
Normal file
|
After Width: | Height: | Size: 227 KiB |
103
public/documents/vpn_form_files/erp_1741647101.txt
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
calldate,clid,src,dst,dcontext,channel,dstchannel,lastapp,lastdata,duration,billsec,disposition,amaflags,accountcode,uniqueid,userfield,did,cnum,cnam,outbound_cnum,outbound_cnam,dst_cnam,recordingfile,linkedid,peeraccount,sequence
|
||||||
|
12/29/24 19:52,"""0887767109"" <0887767109>",887767109,801,ext-local,SIP/TNM_In-000012d2,SIP/801-000012d3,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",57,55,ANSWERED,3,,1735494760,,3093,887767109,887767109,,,,,1735494760,,4850
|
||||||
|
12/29/24 19:52,"""0899297585"" <0899297585>",899297585,801,ext-local,SIP/TNM_In-000012ce,SIP/801-000012cf,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",167,84,ANSWERED,3,,1735494739,,3093,899297585,899297585,,,,,1735494739,,4846
|
||||||
|
12/29/24 19:50,"""0899158759"" <0899158759>",899158759,801,ext-local,SIP/TNM_In-000012a0,SIP/801-000012a1,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",95,27,ANSWERED,3,,1735494647,,3093,899158759,899158759,,,,,1735494647,,4799
|
||||||
|
12/29/24 19:50,"""0880709225"" <0880709225>",880709225,801,ext-local,SIP/TNM_In-0000129e,SIP/801-0000129f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",64,1,ANSWERED,3,,1735494644,,3093,880709225,880709225,,,,,1735494644,,4797
|
||||||
|
12/29/24 19:49,"""0885900665"" <0885900665>",885900665,801,ext-local,SIP/TNM_In-0000128e,SIP/801-0000128f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",136,76,ANSWERED,3,,1735494575,,3093,885900665,885900665,,,,,1735494575,,4781
|
||||||
|
12/29/24 19:47,"""0894554922"" <0894554922>",894554922,801,ext-local,SIP/TNM_In-00001268,SIP/801-00001269,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",148,52,ANSWERED,3,,1735494477,,3093,894554922,894554922,,,,,1735494477,,4742
|
||||||
|
12/29/24 19:47,"""0886366792"" <0886366792>",886366792,801,ext-local,SIP/TNM_In-00001260,SIP/801-00001261,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",101,92,ANSWERED,3,,1735494457,,3093,886366792,886366792,,,,,1735494457,,4734
|
||||||
|
12/29/24 19:46,"""0885822517"" <0885822517>",885822517,801,ext-local,SIP/TNM_In-00001250,SIP/801-00001251,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",8,3,ANSWERED,3,,1735494392,,3093,885822517,885822517,,,,,1735494392,,4718
|
||||||
|
12/29/24 19:46,"""0885398255"" <0885398255>",885398255,801,ext-local,SIP/TNM_In-0000124e,SIP/801-0000124f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",31,27,ANSWERED,3,,1735494390,,3093,885398255,885398255,,,,,1735494390,,4716
|
||||||
|
12/29/24 19:44,"""0893972425"" <0893972425>",893972425,801,ext-local,SIP/TNM_In-00001238,SIP/801-00001239,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",94,33,ANSWERED,3,,1735494295,,3093,893972425,893972425,,,,,1735494295,,4693
|
||||||
|
12/29/24 19:44,"""0886207444"" <0886207444>",886207444,801,ext-local,SIP/TNM_In-00001232,SIP/801-00001233,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",160,40,ANSWERED,3,,1735494286,,3093,886207444,886207444,,,,,1735494286,,4687
|
||||||
|
12/29/24 19:43,"""0881642040"" <0881642040>",881642040,801,ext-local,SIP/TNM_In-0000121a,SIP/801-0000121b,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",116,78,ANSWERED,3,,1735494224,,3093,881642040,881642040,,,,,1735494224,,4663
|
||||||
|
12/29/24 19:43,"""0882660355"" <0882660355>",882660355,801,ext-local,SIP/TNM_In-00001218,SIP/801-00001219,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",39,2,ANSWERED,3,,1735494218,,3093,882660355,882660355,,,,,1735494218,,4661
|
||||||
|
12/29/24 19:42,"""0881642040"" <0881642040>",881642040,801,ext-local,SIP/TNM_In-0000120e,SIP/801-0000120f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",42,36,ANSWERED,3,,1735494135,,3093,881642040,881642040,,,,,1735494135,,4651
|
||||||
|
12/29/24 19:42,"""0893455004"" <0893455004>",893455004,801,ext-local,SIP/TNM_In-0000120c,SIP/801-0000120d,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",7,1,ANSWERED,3,,1735494127,,3093,893455004,893455004,,,,,1735494127,,4649
|
||||||
|
12/29/24 19:41,"""0885900665"" <0885900665>",885900665,801,ext-local,SIP/TNM_In-00001208,SIP/801-00001209,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",21,10,ANSWERED,3,,1735494108,,3093,885900665,885900665,,,,,1735494108,,4645
|
||||||
|
12/29/24 19:41,"""0885252779"" <0885252779>",885252779,801,ext-local,SIP/TNM_In-000011fa,SIP/801-000011fb,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",152,68,ANSWERED,3,,1735494075,,3093,885252779,885252779,,,,,1735494075,,4631
|
||||||
|
12/29/24 19:40,"""0887767109"" <0887767109>",887767109,801,ext-local,SIP/TNM_In-000011ec,SIP/801-000011ed,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",87,13,ANSWERED,3,,1735494012,,3093,887767109,887767109,,,,,1735494012,,4617
|
||||||
|
12/29/24 19:39,"""0899838714"" <0899838714>",899838714,801,ext-local,SIP/TNM_In-000011dc,SIP/801-000011dd,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",97,61,ANSWERED,3,,1735493976,,3093,899838714,899838714,,,,,1735493976,,4601
|
||||||
|
12/29/24 19:39,"""0886017458"" <0886017458>",886017458,801,ext-local,SIP/TNM_In-000011d6,SIP/801-000011d7,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",49,13,ANSWERED,3,,1735493953,,3093,886017458,886017458,,,,,1735493953,,4595
|
||||||
|
12/29/24 19:38,"""0887918050"" <0887918050>",887918050,801,ext-local,SIP/TNM_In-000011d2,SIP/801-000011d3,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",67,2,ANSWERED,3,,1735493919,,3093,887918050,887918050,,,,,1735493919,,4591
|
||||||
|
12/29/24 19:38,"""0893972425"" <0893972425>",893972425,801,ext-local,SIP/TNM_In-000011c8,SIP/801-000011c9,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",89,14,ANSWERED,3,,1735493883,,3093,893972425,893972425,,,,,1735493883,,4581
|
||||||
|
12/29/24 19:37,"""0886695068"" <0886695068>",886695068,801,ext-local,SIP/TNM_In-000011bc,SIP/801-000011bd,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",87,70,ANSWERED,3,,1735493858,,3093,886695068,886695068,,,,,1735493858,,4569
|
||||||
|
12/29/24 19:37,"""0899519250"" <0899519250>",899519250,801,ext-local,SIP/TNM_In-000011b8,SIP/801-000011b9,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",27,23,ANSWERED,3,,1735493845,,3093,899519250,899519250,,,,,1735493845,,4565
|
||||||
|
12/29/24 19:32,"""0882089732"" <0882089732>",882089732,801,ext-local,SIP/TNM_In-0000118e,SIP/801-0000118f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",89,61,ANSWERED,3,,1735493562,,3093,882089732,882089732,,,,,1735493562,,4523
|
||||||
|
12/29/24 19:32,"""0889388507"" <0889388507>",889388507,801,ext-local,SIP/TNM_In-0000118c,SIP/801-0000118d,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",41,30,ANSWERED,3,,1735493556,,3093,889388507,889388507,,,,,1735493556,,4521
|
||||||
|
12/29/24 19:32,"""0897569188"" <0897569188>",897569188,801,ext-local,SIP/TNM_In-0000118a,SIP/801-0000118b,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",39,10,ANSWERED,3,,1735493521,,3093,897569188,897569188,,,,,1735493521,,4518
|
||||||
|
12/29/24 19:29,"""0888968330"" <0888968330>",888968330,801,ext-local,SIP/TNM_In-00001170,SIP/801-00001171,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",4,3,ANSWERED,3,,1735493348,,3093,888968330,888968330,,,,,1735493348,,4492
|
||||||
|
12/29/24 19:28,"""0885252779"" <0885252779>",885252779,801,ext-local,SIP/TNM_In-00001166,SIP/801-00001167,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",71,43,ANSWERED,3,,1735493330,,3093,885252779,885252779,,,,,1735493330,,4482
|
||||||
|
12/29/24 19:27,"""0899310448"" <0899310448>",899310448,801,ext-local,SIP/TNM_In-0000115e,SIP/801-0000115f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",30,3,ANSWERED,3,,1735493225,,3093,899310448,899310448,,,,,1735493225,,4474
|
||||||
|
12/29/24 19:26,"""0899450145"" <0899450145>",899450145,801,ext-local,SIP/TNM_In-0000115c,SIP/801-0000115d,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",29,24,ANSWERED,3,,1735493214,,3093,899450145,899450145,,,,,1735493214,,4472
|
||||||
|
12/29/24 19:25,"""0885868384"" <0885868384>",885868384,801,ext-local,SIP/TNM_In-0000115a,SIP/801-0000115b,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",20,17,ANSWERED,3,,1735493110,,3093,885868384,885868384,,,,,1735493110,,4470
|
||||||
|
12/29/24 19:25,"""0882188136"" <0882188136>",882188136,801,ext-local,SIP/TNM_In-00001158,SIP/801-00001159,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",94,61,ANSWERED,3,,1735493105,,3093,882188136,882188136,,,,,1735493105,,4468
|
||||||
|
12/29/24 19:20,"""0885739933"" <0885739933>",885739933,801,ext-local,SIP/TNM_In-0000114a,SIP/801-0000114b,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",74,55,ANSWERED,3,,1735492828,,3093,885739933,885739933,,,,,1735492828,,4452
|
||||||
|
12/29/24 19:18,"""0882415110"" <0882415110>",882415110,801,ext-local,SIP/TNM_In-0000113c,SIP/801-0000113d,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",65,60,ANSWERED,3,,1735492726,,3093,882415110,882415110,,,,,1735492726,,4438
|
||||||
|
12/29/24 19:17,"""0894724051"" <0894724051>",894724051,801,ext-local,SIP/TNM_In-00001138,SIP/801-00001139,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",58,18,ANSWERED,3,,1735492660,,3093,894724051,894724051,,,,,1735492660,,4433
|
||||||
|
12/29/24 19:17,"""0885037770"" <0885037770>",885037770,801,ext-local,SIP/TNM_In-00001130,SIP/801-00001131,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",65,61,ANSWERED,3,,1735492623,,3093,885037770,885037770,,,,,1735492623,,4425
|
||||||
|
12/29/24 19:15,"""0886623019"" <0886623019>",886623019,801,ext-local,SIP/TNM_In-0000111e,SIP/801-0000111f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",65,58,ANSWERED,3,,1735492533,,3093,886623019,886623019,,,,,1735492533,,4407
|
||||||
|
12/29/24 19:15,"""0882415110"" <0882415110>",882415110,801,ext-local,SIP/TNM_In-0000111c,SIP/801-0000111d,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",19,16,ANSWERED,3,,1735492528,,3093,882415110,882415110,,,,,1735492528,,4405
|
||||||
|
12/29/24 19:14,"""0899840897"" <0899840897>",899840897,801,ext-local,SIP/TNM_In-00001114,SIP/801-00001115,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",4,2,ANSWERED,3,,1735492480,,3093,899840897,899840897,,,,,1735492480,,4397
|
||||||
|
12/29/24 19:14,"""0882199621"" <0882199621>",882199621,801,ext-local,SIP/TNM_In-00001112,SIP/801-00001113,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",19,9,ANSWERED,3,,1735492479,,3093,882199621,882199621,,,,,1735492479,,4395
|
||||||
|
12/29/24 19:14,"""0884523013"" <0884523013>",884523013,801,ext-local,SIP/TNM_In-0000110e,SIP/801-0000110f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",16,14,ANSWERED,3,,1735492452,,3093,884523013,884523013,,,,,1735492452,,4391
|
||||||
|
12/29/24 19:11,"""0893245079"" <0893245079>",893245079,801,ext-local,SIP/TNM_In-000010fe,SIP/801-000010ff,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",88,49,ANSWERED,3,,1735492280,,3093,893245079,893245079,,,,,1735492280,,4375
|
||||||
|
12/29/24 19:10,"""0899607324"" <0899607324>",899607324,801,ext-local,SIP/TNM_In-000010f8,SIP/801-000010f9,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",43,32,ANSWERED,3,,1735492249,,3093,899607324,899607324,,,,,1735492249,,4369
|
||||||
|
12/29/24 19:10,"""0882188136"" <0882188136>",882188136,801,ext-local,SIP/TNM_In-000010f4,SIP/801-000010f5,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",25,19,ANSWERED,3,,1735492220,,3093,882188136,882188136,,,,,1735492220,,4365
|
||||||
|
12/29/24 19:09,"""0894542275"" <0894542275>",894542275,801,ext-local,SIP/TNM_In-000010f2,SIP/801-000010f3,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",13,3,ANSWERED,3,,1735492170,,3093,894542275,894542275,,,,,1735492170,,4363
|
||||||
|
12/29/24 19:09,"""0899841516"" <0899841516>",899841516,801,ext-local,SIP/TNM_In-000010f0,SIP/801-000010f1,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",16,8,ANSWERED,3,,1735492161,,3093,899841516,899841516,,,,,1735492161,,4361
|
||||||
|
12/29/24 18:54,"""0894139395"" <0894139395>",894139395,801,ext-local,SIP/TNM_In-000010de,SIP/801-000010df,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",3,2,ANSWERED,3,,1735491269,,3093,894139395,894139395,,,,,1735491269,,4343
|
||||||
|
12/29/24 18:54,"""0887056885"" <0887056885>",887056885,801,ext-local,SIP/TNM_In-000010dc,SIP/801-000010dd,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",61,52,ANSWERED,3,,1735491268,,3093,887056885,887056885,,,,,1735491268,,4341
|
||||||
|
12/29/24 18:48,"""0889445998"" <0889445998>",889445998,801,ext-local,SIP/TNM_In-000010b6,SIP/801-000010b7,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",53,20,ANSWERED,3,,1735490932,,3093,889445998,889445998,,,,,1735490932,,4302
|
||||||
|
12/29/24 18:48,"""0899495878"" <0899495878>",899495878,801,ext-local,SIP/TNM_In-000010b4,SIP/801-000010b5,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",37,17,ANSWERED,3,,1735490922,,3093,899495878,899495878,,,,,1735490922,,4300
|
||||||
|
12/29/24 18:47,"""0894788427"" <0894788427>",894788427,801,ext-local,SIP/TNM_In-000010aa,SIP/801-000010ab,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",63,42,ANSWERED,3,,1735490841,,3093,894788427,894788427,,,,,1735490841,,4289
|
||||||
|
12/29/24 18:46,"""0894676810"" <0894676810>",894676810,801,ext-local,SIP/TNM_In-000010a4,SIP/801-000010a5,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",47,33,ANSWERED,3,,1735490806,,3093,894676810,894676810,,,,,1735490806,,4283
|
||||||
|
12/29/24 18:38,"""0882060983"" <0882060983>",882060983,801,ext-local,SIP/TNM_In-00001072,SIP/801-00001073,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",83,63,ANSWERED,3,,1735490313,,3093,882060983,882060983,,,,,1735490313,,4233
|
||||||
|
12/29/24 18:32,"""0881383815"" <0881383815>",881383815,801,ext-local,SIP/TNM_In-0000104e,SIP/801-0000104f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",86,76,ANSWERED,3,,1735489942,,3093,881383815,881383815,,,,,1735489942,,4197
|
||||||
|
12/29/24 18:32,"""0887456514"" <0887456514>",887456514,801,ext-local,SIP/TNM_In-0000104c,SIP/801-0000104d,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",7,3,ANSWERED,3,,1735489928,,3093,887456514,887456514,,,,,1735489928,,4195
|
||||||
|
12/29/24 18:32,"""0897239693"" <0897239693>",897239693,801,ext-local,SIP/TNM_In-0000104a,SIP/801-0000104b,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",24,4,ANSWERED,3,,1735489924,,3093,897239693,897239693,,,,,1735489924,,4193
|
||||||
|
12/29/24 18:23,"""0880978134"" <0880978134>",880978134,801,ext-local,SIP/TNM_In-00001026,SIP/801-00001027,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",64,59,ANSWERED,3,,1735489417,,3093,880978134,880978134,,,,,1735489417,,4157
|
||||||
|
12/29/24 18:22,"""0881383815"" <0881383815>",881383815,801,ext-local,SIP/TNM_In-00001024,SIP/801-00001025,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",16,10,ANSWERED,3,,1735489378,,3093,881383815,881383815,,,,,1735489378,,4155
|
||||||
|
12/29/24 18:15,"""0884413618"" <0884413618>",884413618,801,ext-local,SIP/TNM_In-00001019,SIP/801-0000101a,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",60,50,ANSWERED,3,,1735488935,,3093,884413618,884413618,,,,,1735488935,,4144
|
||||||
|
12/29/24 18:13,"""0894676810"" <0894676810>",894676810,801,ext-local,SIP/TNM_In-00001015,SIP/801-00001016,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",40,34,ANSWERED,3,,1735488782,,3093,894676810,894676810,,,,,1735488782,,4140
|
||||||
|
12/29/24 18:13,"""0882794555"" <0882794555>",882794555,801,ext-local,SIP/TNM_In-00001013,SIP/801-00001014,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",120,74,ANSWERED,3,,1735488780,,3093,882794555,882794555,,,,,1735488780,,4138
|
||||||
|
12/29/24 18:08,"""0884050295"" <0884050295>",884050295,801,ext-local,SIP/TNM_In-0000100b,SIP/801-0000100c,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",68,60,ANSWERED,3,,1735488508,,3093,884050295,884050295,,,,,1735488508,,4129
|
||||||
|
12/29/24 18:08,"""0897700681"" <0897700681>",897700681,801,ext-local,SIP/TNM_In-00001009,SIP/801-0000100a,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",6,2,ANSWERED,3,,1735488502,,3093,897700681,897700681,,,,,1735488502,,4126
|
||||||
|
12/29/24 18:08,"""0893564498"" <0893564498>",893564498,801,ext-local,SIP/TNM_In-00001003,SIP/801-00001004,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",12,3,ANSWERED,3,,1735488485,,3093,893564498,893564498,,,,,1735488485,,4120
|
||||||
|
12/29/24 18:07,"""0883516272"" <0883516272>",883516272,801,ext-local,SIP/TNM_In-00000ffd,SIP/801-00000ffe,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",10,1,ANSWERED,3,,1735488450,,3093,883516272,883516272,,,,,1735488450,,4114
|
||||||
|
12/29/24 17:59,"""0894676810"" <0894676810>",894676810,801,ext-local,SIP/TNM_In-00000ff1,SIP/801-00000ff2,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",38,33,ANSWERED,3,,1735487940,,3093,894676810,894676810,,,,,1735487940,,4101
|
||||||
|
12/29/24 17:55,"""0899201172"" <0899201172>",899201172,801,ext-local,SIP/TNM_In-00000fe3,SIP/801-00000fe4,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",67,61,ANSWERED,3,,1735487738,,3093,899201172,899201172,,,,,1735487738,,4087
|
||||||
|
12/29/24 17:53,"""0894676810"" <0894676810>",894676810,801,ext-local,SIP/TNM_In-00000fdf,SIP/801-00000fe0,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",38,32,ANSWERED,3,,1735487606,,3093,894676810,894676810,,,,,1735487606,,4083
|
||||||
|
12/29/24 17:48,"""0888028532"" <0888028532>",888028532,801,ext-local,SIP/TNM_In-00000fd7,SIP/801-00000fd8,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",73,65,ANSWERED,3,,1735487311,,3093,888028532,888028532,,,,,1735487311,,4075
|
||||||
|
12/29/24 17:47,"""0894676810"" <0894676810>",894676810,801,ext-local,SIP/TNM_In-00000fd5,SIP/801-00000fd6,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",45,41,ANSWERED,3,,1735487222,,3093,894676810,894676810,,,,,1735487222,,4073
|
||||||
|
12/29/24 17:47,"""0888028532"" <0888028532>",888028532,801,ext-local,SIP/TNM_In-00000fd3,SIP/801-00000fd4,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",72,16,ANSWERED,3,,1735487220,,3093,888028532,888028532,,,,,1735487220,,4071
|
||||||
|
12/29/24 17:44,"""0893718304"" <0893718304>",893718304,801,ext-local,SIP/TNM_In-00000fd1,SIP/801-00000fd2,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",86,81,ANSWERED,3,,1735487084,,3093,893718304,893718304,,,,,1735487084,,4069
|
||||||
|
12/29/24 17:41,"""0881185415"" <0881185415>",881185415,801,ext-local,SIP/TNM_In-00000fcd,SIP/801-00000fce,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",116,60,ANSWERED,3,,1735486890,,3093,881185415,881185415,,,,,1735486890,,4065
|
||||||
|
12/29/24 17:40,"""0884325666"" <0884325666>",884325666,801,ext-local,SIP/TNM_In-00000fc7,SIP/801-00000fc8,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",84,54,ANSWERED,3,,1735486837,,3093,884325666,884325666,,,,,1735486837,,4059
|
||||||
|
12/29/24 17:40,"""0893718304"" <0893718304>",893718304,801,ext-local,SIP/TNM_In-00000fc5,SIP/801-00000fc6,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",32,31,ANSWERED,3,,1735486823,,3093,893718304,893718304,,,,,1735486823,,4057
|
||||||
|
12/29/24 17:37,"""0883699380"" <0883699380>",883699380,801,ext-local,SIP/TNM_In-00000fbb,SIP/801-00000fbc,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",63,57,ANSWERED,3,,1735486620,,3093,883699380,883699380,,,,,1735486620,,4047
|
||||||
|
12/29/24 17:35,"""0885877899"" <0885877899>",885877899,801,ext-local,SIP/TNM_In-00000fb5,SIP/801-00000fb6,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",60,53,ANSWERED,3,,1735486500,,3093,885877899,885877899,,,,,1735486500,,4041
|
||||||
|
12/29/24 17:26,"""0881567540"" <0881567540>",881567540,801,ext-local,SIP/TNM_In-00000fa7,SIP/801-00000fa8,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",64,58,ANSWERED,3,,1735485979,,3093,881567540,881567540,,,,,1735485979,,4027
|
||||||
|
12/29/24 17:24,"""0893084937"" <0893084937>",893084937,801,ext-local,SIP/TNM_In-00000fa3,SIP/801-00000fa4,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",47,42,ANSWERED,3,,1735485845,,3093,893084937,893084937,,,,,1735485845,,4023
|
||||||
|
12/29/24 17:23,"""0888644290"" <0888644290>",888644290,801,ext-local,SIP/TNM_In-00000fa1,SIP/801-00000fa2,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",79,31,ANSWERED,3,,1735485792,,3093,888644290,888644290,,,,,1735485792,,4021
|
||||||
|
12/29/24 17:22,"""0894085069"" <0894085069>",894085069,801,ext-local,SIP/TNM_In-00000f9d,SIP/801-00000f9e,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",52,49,ANSWERED,3,,1735485779,,3093,894085069,894085069,,,,,1735485779,,4017
|
||||||
|
12/29/24 17:22,"""0893084937"" <0893084937>",893084937,801,ext-local,SIP/TNM_In-00000f9b,SIP/801-00000f9c,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",58,1,ANSWERED,3,,1735485778,,3093,893084937,893084937,,,,,1735485778,,4015
|
||||||
|
12/29/24 17:22,"""0888051117"" <0888051117>",888051117,801,ext-local,SIP/TNM_In-00000f97,SIP/801-00000f98,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",45,14,ANSWERED,3,,1735485722,,3093,888051117,888051117,,,,,1735485722,,4011
|
||||||
|
12/29/24 17:18,"""0880533007"" <0880533007>",880533007,801,ext-local,SIP/TNM_In-00000f8d,SIP/801-00000f8e,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",89,84,ANSWERED,3,,1735485539,,3093,880533007,880533007,,,,,1735485539,,3999
|
||||||
|
12/29/24 17:17,"""0886332856"" <0886332856>",886332856,801,ext-local,SIP/TNM_In-00000f80,SIP/801-00000f81,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",64,59,ANSWERED,3,,1735485449,,3093,886332856,886332856,,,,,1735485449,,3986
|
||||||
|
12/29/24 17:15,"""0889707210"" <0889707210>",889707210,801,ext-local,SIP/TNM_In-00000f7c,SIP/801-00000f7d,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",62,57,ANSWERED,3,,1735485348,,3093,889707210,889707210,,,,,1735485348,,3982
|
||||||
|
12/29/24 17:09,"""0886332856"" <0886332856>",886332856,801,ext-local,SIP/TNM_In-00000f79,SIP/801-00000f7a,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",39,33,ANSWERED,3,,1735484951,,3093,886332856,886332856,,,,,1735484951,,3979
|
||||||
|
12/29/24 17:06,"""0888644290"" <0888644290>",888644290,801,ext-local,SIP/TNM_In-00000f73,SIP/801-00000f74,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",56,51,ANSWERED,3,,1735484792,,3093,888644290,888644290,,,,,1735484792,,3973
|
||||||
|
12/29/24 15:55,"""0893549454"" <0893549454>",893549454,801,ext-local,SIP/TNM_In-00000f62,SIP/801-00000f63,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",88,80,ANSWERED,3,,1735480515,,3093,893549454,893549454,,,,,1735480515,,3956
|
||||||
|
12/29/24 15:54,"""0893549454"" <0893549454>",893549454,801,ext-local,SIP/TNM_In-00000f60,SIP/801-00000f61,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",33,0,ANSWERED,3,,1735480445,,3093,893549454,893549454,,,,,1735480445,,3954
|
||||||
|
12/29/24 15:53,"""0899934835"" <0899934835>",899934835,801,ext-local,SIP/TNM_In-00000f5e,SIP/801-00000f5f,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",38,33,ANSWERED,3,,1735480434,,3093,899934835,899934835,,,,,1735480434,,3952
|
||||||
|
12/29/24 15:52,"""0894167270"" <0894167270>",894167270,801,ext-local,SIP/TNM_In-00000f5b,SIP/801-00000f5c,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",15,9,ANSWERED,3,,1735480370,,3093,894167270,894167270,,,,,1735480370,,3949
|
||||||
|
12/29/24 15:51,"""0889465153"" <0889465153>",889465153,801,ext-local,SIP/TNM_In-00000f53,SIP/801-00000f54,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",39,18,ANSWERED,3,,1735480315,,3093,889465153,889465153,,,,,1735480315,,3941
|
||||||
|
12/29/24 15:51,"""0899092065"" <0899092065>",899092065,801,ext-local,SIP/TNM_In-00000f55,SIP/801-00000f56,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",6,2,ANSWERED,3,,1735480315,,3093,899092065,899092065,,,,,1735480315,,3943
|
||||||
|
12/29/24 15:51,"""0894167270"" <0894167270>",894167270,801,ext-local,SIP/TNM_In-00000f51,SIP/801-00000f52,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",17,14,ANSWERED,3,,1735480311,,3093,894167270,894167270,,,,,1735480311,,3939
|
||||||
|
12/29/24 15:51,"""0881290872"" <0881290872>",881290872,801,ext-local,SIP/TNM_In-00000f4f,SIP/801-00000f50,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",5,1,ANSWERED,3,,1735480283,,3093,881290872,881290872,,,,,1735480283,,3937
|
||||||
|
12/29/24 15:49,"""0894167270"" <0894167270>",894167270,801,ext-local,SIP/TNM_In-00000f4a,SIP/801-00000f4b,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",19,3,ANSWERED,3,,1735480185,,3093,894167270,894167270,,,,,1735480185,,3932
|
||||||
|
12/29/24 15:49,"""0883671730"" <0883671730>",883671730,801,ext-local,SIP/TNM_In-00000f48,SIP/801-00000f49,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",25,22,ANSWERED,3,,1735480167,,3093,883671730,883671730,,,,,1735480167,,3930
|
||||||
|
12/29/24 15:48,"""0880060939"" <0880060939>",880060939,801,ext-local,SIP/TNM_In-00000f43,SIP/801-00000f44,Dial,"SIP/801,,HhtrIb(func-apply-sipheaders^s^1)",13,8,ANSWERED,3,,1735480095,,3093,880060939,880060939,,,,,1735480095,,3925
|
||||||
|
,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||||
|
,,,,,,,,,,3395,,,,,,,,,,,,,,,
|
||||||
BIN
public/documents/vpn_form_files/erp_1741647150.xlsx
Normal file
BIN
public/documents/vpn_form_files/erp_1741799266.xlsx
Normal file
BIN
public/documents/vpn_form_files/erp_1741801779.xlsx
Normal file
BIN
public/documents/vpn_form_files/erp_1741802179.docx
Normal file
BIN
public/documents/vpn_form_files/erp_1741802420.docx
Normal file
BIN
public/documents/vpn_form_files/erp_1741802824.pdf
Normal file
BIN
public/documents/vpn_form_files/erp_1741803648.doc
Normal file
BIN
public/documents/vpn_form_files/erp_1741803809.doc
Normal file
BIN
public/documents/vpn_form_files/erp_1741804009.docx
Normal file
BIN
public/documents/vpn_form_files/erp_1741804440.doc
Normal file
BIN
public/documents/vpn_form_files/erp_1741805403.xlsx
Normal file
BIN
public/documents/vpn_form_files/erp_1741805651.docx
Normal file
BIN
public/documents/vpn_form_files/erp_1741806366.docx
Normal file
BIN
public/documents/vpn_form_files/erp_1741806540.xlsx
Normal file
20794
public/helper_documents/mcc_mnc_table.json
Normal file
992
public/helper_documents/worldwide_mnos.csv
Normal file
@@ -0,0 +1,992 @@
|
|||||||
|
"country";"operator";"mcc";"mnc";"operatorid"
|
||||||
|
"Afghanistan","Afghan Wireless Communication Company (AWCC)","412","1","431"
|
||||||
|
"Afghanistan","Etisalat Afghanistan","412","50","642"
|
||||||
|
"Afghanistan","MTN Afghanistan","412","40","416"
|
||||||
|
"Afghanistan","Roshan","412","20","432"
|
||||||
|
"Albania","ALBtelecom Albania","276","3","665"
|
||||||
|
"Albania","Plus Communication","276","4","1118"
|
||||||
|
"Albania","Telekom Albania","276","1","98"
|
||||||
|
"Albania","Vodafone Albania","276","2","346"
|
||||||
|
"Algeria","Algerie Telecom (Mobilis)","603","1","15"
|
||||||
|
"Algeria","Ooredoo","603","3","386"
|
||||||
|
"Algeria","Orascom Telecom (Djezzy)","603","2","385"
|
||||||
|
"American Samoa","Blue Sky Communications","544","11","590"
|
||||||
|
"Andorra","Andorra Telecom (Servei De Tele. DAndorra)","213","3","433"
|
||||||
|
"Angola","Movicel Angola","631","4","1137"
|
||||||
|
"Angola","Unitel Angola","631","2","434"
|
||||||
|
"Anguilla","Digicel Anguilla","365","50","441"
|
||||||
|
"Anguilla","FLOW Anguilla (ex-C&W)","365","840","440"
|
||||||
|
"Anguilla","Weblinks","365","10","995"
|
||||||
|
"Antigua and Barbuda","APUA PCS","344","30","403"
|
||||||
|
"Antigua and Barbuda","Digicel Antigua","344","930","997"
|
||||||
|
"Antigua and Barbuda","FLOW Antigua (LIME - CWC)","344","920","643"
|
||||||
|
"Argentina","Claro (Cti Pcs) Argentina","722","310","186"
|
||||||
|
"Argentina","Default (Unallocated Prefixes)","722","999","1328"
|
||||||
|
"Argentina","Hutchison Telecommunications","722","35","690"
|
||||||
|
"Argentina","Movistar Argentina","722","7","348"
|
||||||
|
"Argentina","Nextel Argentina","722","2","689"
|
||||||
|
"Argentina","Telecom Personal","722","34","347"
|
||||||
|
"Armenia","Beeline","283","1","120"
|
||||||
|
"Armenia","Karabakh Telecom","283","4","902"
|
||||||
|
"Armenia","Ucom (Orange)","283","10","699"
|
||||||
|
"Armenia","VivaCell (MTS)","283","5","442"
|
||||||
|
"Aruba","Digicel Aruba","363","20","443"
|
||||||
|
"Aruba","SETAR","363","1","444"
|
||||||
|
"Australia","Optus Mobile","505","2","202"
|
||||||
|
"Australia","Telstra","505","1","204"
|
||||||
|
"Australia","Vodafone Hutchison Australia","505","3","203"
|
||||||
|
"Austria","A1 Telekom","232","1","160"
|
||||||
|
"Austria","Hutchison 3","232","10","351"
|
||||||
|
"Austria","Hutchison 3 (ex-Orange)","232","5","162"
|
||||||
|
"Austria","Magenta Telekom (ex-T-Mobile)","232","3","161"
|
||||||
|
"Austria","Tele.ring","232","7","159"
|
||||||
|
"Azerbaijan","Azercell","400","1","312"
|
||||||
|
"Azerbaijan","Azerfon (Nar Mobile)","400","4","648"
|
||||||
|
"Azerbaijan","Bakcell","400","2","313"
|
||||||
|
"Bahamas","Bahamas Telecommunications Company","364","39","446"
|
||||||
|
"Bahrain","Batelco","426","1","308"
|
||||||
|
"Bahrain","VIVA (STC Bahrain)","426","4","1039"
|
||||||
|
"Bahrain","Zain Bahrain","426","2","447"
|
||||||
|
"Bangladesh","Airtel","470","7","450"
|
||||||
|
"Bangladesh","Banglalink","470","3","448"
|
||||||
|
"Bangladesh","Citycell","470","5","1325"
|
||||||
|
"Bangladesh","Grameenphone","470","1","255"
|
||||||
|
"Bangladesh","Robi (Axiata)","470","2","429"
|
||||||
|
"Bangladesh","TeleTalk","470","4","449"
|
||||||
|
"Barbados","Digicel Barbados","342","750","402"
|
||||||
|
"Barbados","Flow Barbados (LIME - CWC)","342","600","639"
|
||||||
|
"Belarus","life:)","257","4","615"
|
||||||
|
"Belarus","MTS Belarus","257","2","614"
|
||||||
|
"Belarus","Velcom Belarus","257","1","121"
|
||||||
|
"Belgium","Base","206","20","77"
|
||||||
|
"Belgium","Orange (Mobistar)","206","10","78"
|
||||||
|
"Belgium","Proximus (ex-Belgacom)","206","1","76"
|
||||||
|
"Belgium","Telenet","206","5","1382"
|
||||||
|
"Belize","Digi Belize","702","67","411"
|
||||||
|
"Benin","BBCOM","616","4","596"
|
||||||
|
"Benin","Glo Benin","616","5","692"
|
||||||
|
"Benin","Libercom","616","1","27"
|
||||||
|
"Benin","Moov Benin (Etisalat)","616","2","592"
|
||||||
|
"Benin","MTN Benin (Spacetel)","616","3","589"
|
||||||
|
"Bermuda","Cellular One Bermuda","350","0","1053"
|
||||||
|
"Bermuda","Digicel Bermuda","350","1","8"
|
||||||
|
"Bermuda","M3 Wireless (Mobility)","350","2","352"
|
||||||
|
"Bhutan","B-Mobile Bhutan Telecom","402","11","451"
|
||||||
|
"Bolivia","Entel Bolivia","736","2","453"
|
||||||
|
"Bolivia","Tigo Bolivia","736","3","452"
|
||||||
|
"Bolivia","Viva Bolivia (ex-Nuevatel)","736","1","193"
|
||||||
|
"Bosnia and Herzegovina","BH Telecom Bosnia and Herzegovina","218","90","136"
|
||||||
|
"Bosnia and Herzegovina","HT Eronet Bosnia and Herzegovina","218","3","137"
|
||||||
|
"Bosnia and Herzegovina","m:tel Bosnia and Herzegovina","218","5","138"
|
||||||
|
"Botswana","BTC Mobile (beMobile)","652","4","1117"
|
||||||
|
"Botswana","Mascom Wireless","652","1","61"
|
||||||
|
"Botswana","Orange","652","2","62"
|
||||||
|
"Brazil","Algar Telecom Brazil","724","33","1401"
|
||||||
|
"Brazil","Brasil Telecom","724","16","1402"
|
||||||
|
"Brazil","Claro Brazil","724","5","1398"
|
||||||
|
"Brazil","Default (Unallocated Prefixes)","724","999","1304"
|
||||||
|
"Brazil","Nextel Brazil","724","0","1396"
|
||||||
|
"Brazil","Oi Brazil","724","31","1403"
|
||||||
|
"Brazil","Sercomtel Celular","724","15","1400"
|
||||||
|
"Brazil","TIM Brazil","724","2","1397"
|
||||||
|
"Brazil","Vivo Brazil","724","6","1399"
|
||||||
|
"Brunei Darussalam","DST Communications","528","11","219"
|
||||||
|
"Brunei Darussalam","Progresif Brunei (B-Mobile)","528","2","220"
|
||||||
|
"Bulgaria","A1 Bulgaria (M-Tel)","284","1","107"
|
||||||
|
"Bulgaria","Telenor Bulgaria","284","5","356"
|
||||||
|
"Bulgaria","Vivacom","284","3","390"
|
||||||
|
"Burkina Faso","Onatel Burkina Faso","613","1","597"
|
||||||
|
"Burkina Faso","Orange Burkina Faso (Airtel)","613","2","406"
|
||||||
|
"Burkina Faso","Telecel Burkina Faso","613","3","598"
|
||||||
|
"Burundi","Econet","642","1","468"
|
||||||
|
"Burundi","Econet (ex-Leo)","642","82","49"
|
||||||
|
"Burundi","LaCell","642","7","1308"
|
||||||
|
"Burundi","Lumitel (Viettel) Burundi","642","8","1309"
|
||||||
|
"Burundi","Onatel","642","3","1307"
|
||||||
|
"Burundi","Tempo (Africell)","642","2","469"
|
||||||
|
"Cambodia","Cellcard (Mobitel)","456","1","250"
|
||||||
|
"Cambodia","Metfone (ex-Beeline) Cambodia","456","9","1370"
|
||||||
|
"Cambodia","Metfone Cambodia","456","8","1107"
|
||||||
|
"Cambodia","qb (Cambodia Advance Communications)","456","4","976"
|
||||||
|
"Cambodia","Smart Mobile","456","2","251"
|
||||||
|
"Cambodia","Yes Cambodia (ex-Excell)","456","11","1371"
|
||||||
|
"Cameroon","MTN Cameroon","624","1","32"
|
||||||
|
"Cameroon","Orange Cameroon","624","2","33"
|
||||||
|
"Canada","Airtel Wireless","302","290","1330"
|
||||||
|
"Canada","Bell Mobility Inc","302","610","905"
|
||||||
|
"Canada","Dryden Mobility","302","380","1331"
|
||||||
|
"Canada","Fido Solutions","302","370","903"
|
||||||
|
"Canada","First Networks Operations","302","350","906"
|
||||||
|
"Canada","Freedom Mobile Canada","302","490","1145"
|
||||||
|
"Canada","ICE Wireless","302","620","1333"
|
||||||
|
"Canada","Mobilicity","302","320","1329"
|
||||||
|
"Canada","MTS","302","655","1334"
|
||||||
|
"Canada","Rogers Wireless Canada","302","720","904"
|
||||||
|
"Canada","SaskTel Wireless","302","680","1054"
|
||||||
|
"Canada","tbaytel","302","656","1335"
|
||||||
|
"Canada","Telus Canada","302","360","1108"
|
||||||
|
"Canada","Videotron","302","500","1332"
|
||||||
|
"Cape Verde Islands","CV Movel","625","1","34"
|
||||||
|
"Cape Verde Islands","T+ Telecomunicacoes","625","2","1001"
|
||||||
|
"Cayman Islands","Digicel Cayman","346","6","471"
|
||||||
|
"Cayman Islands","Flow Cayman Islands (CWC)","346","140","470"
|
||||||
|
"Central African Republic","Azur RCA","623","4","669"
|
||||||
|
"Central African Republic","Moov Centrafrique (A-Cell)","623","1","668"
|
||||||
|
"Central African Republic","Orange Central African Republic","623","3","670"
|
||||||
|
"Central African Republic","Telecel Centrafrique","623","2","31"
|
||||||
|
"Chad","Airtel Chad","622","1","408"
|
||||||
|
"Chad","Tigo Chad","622","3","666"
|
||||||
|
"Chile","Claro Chile","730","3","475"
|
||||||
|
"Chile","Entel","730","1","474"
|
||||||
|
"Chile","Entel PCS","730","10","188"
|
||||||
|
"Chile","Falabella Movil","730","200","1383"
|
||||||
|
"Chile","Movistar Chile","730","2","476"
|
||||||
|
"Chile","Telefonica Del Sur","730","6","1143"
|
||||||
|
"Chile","Virgin Mobile(Tribe)","730","13","1142"
|
||||||
|
"Chile","VTR","730","8","1114"
|
||||||
|
"Chile","WOM (Nextel)","730","9","1115"
|
||||||
|
"China","China Mobile","460","0","253"
|
||||||
|
"China","China Telecom","460","3","979"
|
||||||
|
"China","China Unicom","460","1","252"
|
||||||
|
"Colombia","Claro (Comcel)","732","101","478"
|
||||||
|
"Colombia","Movistar","732","102","479"
|
||||||
|
"Colombia","Tigo","732","103","477"
|
||||||
|
"Comoros/Mayotte","HURI","654","1","480"
|
||||||
|
"Congo","Airtel (ex-Warid) Congo","629","7","1002"
|
||||||
|
"Congo","Airtel Congo","629","1","37"
|
||||||
|
"Congo","Azur Congo","629","2","1341"
|
||||||
|
"Congo","MTN Congo","629","10","599"
|
||||||
|
"Congo, Democratic Republic of the","Africell DRC","630","90","1343"
|
||||||
|
"Congo, Democratic Republic of the","Airtel DRC","630","2","600"
|
||||||
|
"Congo, Democratic Republic of the","Orange (ex-Tigo) DRC","630","89","602"
|
||||||
|
"Congo, Democratic Republic of the","Orange DRC","630","86","601"
|
||||||
|
"Congo, Democratic Republic of the","Supercell Congo","630","5","603"
|
||||||
|
"Congo, Democratic Republic of the","Vodacom DRC","630","1","604"
|
||||||
|
"Congo, Democratic Republic of the","Yozma Timeturns","630","991","1342"
|
||||||
|
"Cook Islands","Vodafone Cook Islands","548","1","481"
|
||||||
|
"Costa Rica","Claro Costa Rica","712","3","1135"
|
||||||
|
"Costa Rica","kolbi (ICE) Costa Rica","712","1","482"
|
||||||
|
"Costa Rica","Movistar Costa Rica","712","4","1136"
|
||||||
|
"Croatia","A1 (ex-Vipnet)","219","10","132"
|
||||||
|
"Croatia","Tele2 Croatia","219","2","430"
|
||||||
|
"Croatia","Telekom Croatia","219","1","133"
|
||||||
|
"Cuba","Cubacel","368","1","358"
|
||||||
|
"Cyprus","CYTA (Vodafone)","280","1","101"
|
||||||
|
"Cyprus","MTN Cyprus (Areeba)","280","10","359"
|
||||||
|
"Cyprus","PrimeTel","280","20","1315"
|
||||||
|
"Czech Republic","O2","230","2","150"
|
||||||
|
"Czech Republic","T-Mobile","230","1","151"
|
||||||
|
"Czech Republic","U:fon","230","4","1358"
|
||||||
|
"Czech Republic","Vodafone","230","3","152"
|
||||||
|
"Denmark","3 Denmark","238","6","360"
|
||||||
|
"Denmark","Barablu Mobile","238","7","909"
|
||||||
|
"Denmark","Bibob","238","995","1393"
|
||||||
|
"Denmark","Call me","238","997","1395"
|
||||||
|
"Denmark","CBB Mobil Denmark","238","991","1389"
|
||||||
|
"Denmark","Companymobile","238","994","1392"
|
||||||
|
"Denmark","FONET","238","990","1387"
|
||||||
|
"Denmark","Fullrate","238","993","1391"
|
||||||
|
"Denmark","Lebara Denmark","238","996","1394"
|
||||||
|
"Denmark","Lycamobile Denmark","238","12","1134"
|
||||||
|
"Denmark","TDC Mobil","238","1","166"
|
||||||
|
"Denmark","Telenor (ex-Tele2) Denmark","238","77","908"
|
||||||
|
"Denmark","Telenor Denmark","238","2","167"
|
||||||
|
"Denmark","Telia Denmark","238","20","169"
|
||||||
|
"Denmark","Telmore","238","992","1390"
|
||||||
|
"Djibouti","Djibouti Telecom (Evatis)","638","1","409"
|
||||||
|
"Dominica","Digicel Dominica","366","20","484"
|
||||||
|
"Dominica","FLOW Dominica (LIME - CWC)","366","110","483"
|
||||||
|
"Dominican Republic","Altice (ex-Orange)","370","1","10"
|
||||||
|
"Dominican Republic","Altice (ex-Tricom)","370","3","980"
|
||||||
|
"Dominican Republic","Claro","370","2","631"
|
||||||
|
"Dominican Republic","Viva","370","4","981"
|
||||||
|
"Ecuador","Claro (Conecel S.A.)","740","1","413"
|
||||||
|
"Ecuador","CNT Mobile (Alegro)","740","2","1133"
|
||||||
|
"Ecuador","Movistar (Otecel S.A.)","740","0","935"
|
||||||
|
"Egypt","Etisalat Egypt","602","3","620"
|
||||||
|
"Egypt","Orange Egypt (ex-Mobinil)","602","1","12"
|
||||||
|
"Egypt","Vodafone Egypt","602","2","11"
|
||||||
|
"El Salvador","Claro (CTE)","706","1","182"
|
||||||
|
"El Salvador","Digicel","706","2","485"
|
||||||
|
"El Salvador","Intelfon (RED)","706","5","1055"
|
||||||
|
"El Salvador","Movistar","706","4","486"
|
||||||
|
"El Salvador","Tigo (Telemovil)","706","3","487"
|
||||||
|
"Equatorial Guinea","GETESA (Orange)","627","1","35"
|
||||||
|
"Eritrea","Eritel","657","1","488"
|
||||||
|
"Estonia","Elisa Estonia","248","2","117"
|
||||||
|
"Estonia","Tele2 Estonia","248","3","116"
|
||||||
|
"Estonia","Telia Estonia (EMT)","248","1","115"
|
||||||
|
"Eswatini","SPTC","653","1","1352"
|
||||||
|
"Eswatini","Swazi MTN","653","10","63"
|
||||||
|
"Ethiopia","ETMTN","636","1","361"
|
||||||
|
"Falkland Islands","Sure Falkland Islands","750","1","489"
|
||||||
|
"Faroe Islands","Faroese Telecom","288","1","66"
|
||||||
|
"Faroe Islands","Hey Faroe Islands","288","2","362"
|
||||||
|
"Fiji","Digicel Fiji","542","2","1127"
|
||||||
|
"Fiji","Vodafone Fiji","542","1","221"
|
||||||
|
"Finland","Alcom","244","14","105"
|
||||||
|
"Finland","DNA","244","3","104"
|
||||||
|
"Finland","Elisa","244","5","106"
|
||||||
|
"Finland","Saunalahti","244","21","982"
|
||||||
|
"Finland","Telia","244","91","102"
|
||||||
|
"France","Bouygues Telecom","208","20","81"
|
||||||
|
"France","Default (Unallocated Prefixes)","208","999","1124"
|
||||||
|
"France","Iliad - Free Mobile","208","15","1138"
|
||||||
|
"France","LycaMobile France","208","25","1380"
|
||||||
|
"France","NRJ Mobile","208","26","1381"
|
||||||
|
"France","Orange France","208","1","80"
|
||||||
|
"France","SFR","208","10","79"
|
||||||
|
"France","Transatel Mobile","208","22","1378"
|
||||||
|
"France","Virgin Mobile (OMEA)","208","23","1379"
|
||||||
|
"French Guiana","Digicel French Guiana","742","20","1024"
|
||||||
|
"French Guiana","Orange Caribe French Guiana","742","1","1023"
|
||||||
|
"French Guiana","Outremer Telecom French Guiana","742","2","1022"
|
||||||
|
"French Polynesia","VINI","547","20","627"
|
||||||
|
"Gabon","Airtel Gabon","628","3","490"
|
||||||
|
"Gabon","Azur Gabon","628","4","1321"
|
||||||
|
"Gabon","Gabon Telecom (ex-Libertis)","628","1","36"
|
||||||
|
"Gabon","Gabon Telecom (ex-Moov)","628","2","634"
|
||||||
|
"Gambia","Africell","607","2","491"
|
||||||
|
"Gambia","Comium","607","3","936"
|
||||||
|
"Gambia","Gamcel","607","1","492"
|
||||||
|
"Gambia","Qcell","607","4","937"
|
||||||
|
"Georgia","Beeline","282","4","910"
|
||||||
|
"Georgia","Geocell","282","1","314"
|
||||||
|
"Georgia","Magticom","282","2","315"
|
||||||
|
"Georgia","Magtifix","282","3","1318"
|
||||||
|
"Georgia","Silknet","282","5","1319"
|
||||||
|
"Germany","Debitel","262","901","1386"
|
||||||
|
"Germany","Dolphin Telecom","262","12","957"
|
||||||
|
"Germany","E-Plus","262","3","180"
|
||||||
|
"Germany","Group3G","262","14","955"
|
||||||
|
"Germany","Lycamobile Germany","262","43","1385"
|
||||||
|
"Germany","MobilCom","262","13","956"
|
||||||
|
"Germany","O2","262","7","181"
|
||||||
|
"Germany","OnePhone","262","20","1384"
|
||||||
|
"Germany","T-Mobile Germany","262","1","178"
|
||||||
|
"Germany","Vistream","262","16","954"
|
||||||
|
"Germany","Vodafone Germany","262","2","179"
|
||||||
|
"Ghana","Airtel Ghana","620","6","656"
|
||||||
|
"Ghana","Expresso","620","4","1056"
|
||||||
|
"Ghana","Globacom","620","7","1131"
|
||||||
|
"Ghana","MTN Ghana","620","1","30"
|
||||||
|
"Ghana","Tigo Ghana","620","3","493"
|
||||||
|
"Ghana","Vodafone Ghana","620","2","494"
|
||||||
|
"Gibraltar","Gibtel","266","1","87"
|
||||||
|
"Greece","Cosmote","202","1","70"
|
||||||
|
"Greece","Q Telecom","202","9","345"
|
||||||
|
"Greece","Vodafone Greece","202","5","69"
|
||||||
|
"Greece","Wind Greece","202","10","68"
|
||||||
|
"Greenland","TELE Greenland","290","1","67"
|
||||||
|
"Grenada","Digicel Grenada","352","30","496"
|
||||||
|
"Grenada","Flow (C&W) Grenada","352","110","495"
|
||||||
|
"Guadeloupe","Dauphin","340","8","1320"
|
||||||
|
"Guadeloupe","Digicel Guadeloupe","340","20","1030"
|
||||||
|
"Guadeloupe","Orange Caraibes Guadeloupe","340","1","1029"
|
||||||
|
"Guadeloupe","Outremer Telecom Guadeloupe","340","2","1028"
|
||||||
|
"Guadeloupe","Telcell (Saint Martin et Saint Barthelemy Telcell Sarl)","340","3","1031"
|
||||||
|
"Guam","Docomo Pacific (Hafatel)","535","470","498"
|
||||||
|
"Guam","iConnect","535","260","1119"
|
||||||
|
"Guam","IT&E Overseas (IT&E Wireless)","535","32","499"
|
||||||
|
"Guam","Pulse Mobile (GTA Wireless)","535","140","500"
|
||||||
|
"Guam","Wave Runner (i CAN_GSM)","535","250","501"
|
||||||
|
"Guatemala","Claro Guatemala","704","1","503"
|
||||||
|
"Guatemala","Telefonica Guatemala (Movistar)","704","3","504"
|
||||||
|
"Guatemala","Tigo Guatemala (Comcel)","704","2","502"
|
||||||
|
"Guinea","Cellcom Guinea","611","5","1057"
|
||||||
|
"Guinea","MTN Guinea","611","4","505"
|
||||||
|
"Guinea","Orange Guinea","611","1","506"
|
||||||
|
"Guinea","Sotelgui (Lagui)","611","2","22"
|
||||||
|
"Guinea","Telecel Guinea","611","3","507"
|
||||||
|
"Guinea-Bissau","Guinetel","632","7","508"
|
||||||
|
"Guinea-Bissau","MTN Guinea-Bissau (Spacetel)","632","2","509"
|
||||||
|
"Guinea-Bissau","Orange Bissau","632","3","637"
|
||||||
|
"Guyana","Digicel Guyana","738","1","510"
|
||||||
|
"Guyana","Telephone Guyana (Cellink)","738","2","511"
|
||||||
|
"Haiti","Digicel (ex-Voila) Haiti","372","1","512"
|
||||||
|
"Haiti","Digicel Haiti","372","2","625"
|
||||||
|
"Haiti","Natcom","372","3","938"
|
||||||
|
"Honduras","Claro Honduras ","708","1","514"
|
||||||
|
"Honduras","Digicel Honduras","708","99","677"
|
||||||
|
"Honduras","Hondutel","708","30","513"
|
||||||
|
"Honduras","Tigo Honduras (Celtel)","708","2","515"
|
||||||
|
"Hong Kong","China Motion Mobile","454","9","916"
|
||||||
|
"Hong Kong","CITIC Telecom 1616","454","1","914"
|
||||||
|
"Hong Kong","CSL","454","0","912"
|
||||||
|
"Hong Kong","SmarTone Mobile","454","6","915"
|
||||||
|
"Hong Kong","Three","454","3","245"
|
||||||
|
"Hong Kong","TruPhone","454","8","243"
|
||||||
|
"Hungary","Telekom","216","30","109"
|
||||||
|
"Hungary","Telenor","216","1","108"
|
||||||
|
"Hungary","Vodafone","216","70","110"
|
||||||
|
"Iceland","Hringidan (IMC Viking)","274","4","939"
|
||||||
|
"Iceland","IceCell","274","7","941"
|
||||||
|
"Iceland","Nova","274","11","943"
|
||||||
|
"Iceland","Null-Niu","274","6","940"
|
||||||
|
"Iceland","Siminn","274","1","97"
|
||||||
|
"Iceland","Vodafone Iceland","274","2","96"
|
||||||
|
"India","Aircel Ltd.","404","42","748"
|
||||||
|
"India","Aircel Ltd. (Aircel -Chennai)","404","41","862"
|
||||||
|
"India","Aircell Digilink India","404","17","887"
|
||||||
|
"India","All Operators (new Prefixes)","404","999","1121"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Andhra Pradesh)","404","73","864"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Assam)","404","38","866"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Bihar)","404","75","865"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Chennai)","404","64","867"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Gujarat)","404","57","870"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Himachal Pradesh)","404","51","868"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Jammu & Kashmir)","404","62","873"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Karnataka)","404","71","874"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Kerala)","404","72","875"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Madhya Pradesh)","404","58","871"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Maharashtra)","404","66","878"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - North East)","404","77","877"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Orissa)","404","76","876"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Punjab)","404","53","869"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Rajasthan)","404","59","872"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Uttar Pradesh West)","404","54","879"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - West Bengal)","404","74","829"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Kolkata)","404","81","831"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Tamil Nadu)","404","80","832"
|
||||||
|
"India","Bharat Sanchar Nigam Limited (CellOne - Uttar Pradesh East)","404","55","741"
|
||||||
|
"India","Bharat Sanchar Nigam Ltd (BSNL)","404","34","830"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Andhra Pradesh Circle)","404","49","744"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Chennai)","404","40","890"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Delhi)","404","10","806"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Gujarat)","404","98","759"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Haryana)","404","96","761"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Himachal Pradesh Circle)","404","3","825"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Karnataka)","404","45","802"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Kerala)","404","95","762"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Kolkata)","404","31","833"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Madhya Pradesh)","404","93","764"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Maharashtra)","404","90","805"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Mumbai Metro)","404","92","782"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Punjab)","404","2","813"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Rajasthan)","404","70","740"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Tamil Nadu)","404","94","763"
|
||||||
|
"India","Bharti Airtel Ltd (Airtel - Uttar Pradesh West))","404","97","760"
|
||||||
|
"India","Bharti Airtel Ltd (North East)","404","16","886"
|
||||||
|
"India","BPL Mobile Communications Ltd","404","21","774"
|
||||||
|
"India","Dishnet Wireless Ltd (Aircel - Assam)","404","29","882"
|
||||||
|
"India","Dishnet Wireless Ltd (Aircel - Himachal Pradesh)","404","35","900"
|
||||||
|
"India","Dishnet Wireless Ltd (Aircel - Jammu & Kashmir)","404","37","816"
|
||||||
|
"India","Dishnet Wireless Ltd (Aircel - Kolkata)","404","91","749"
|
||||||
|
"India","Dishnet Wireless Ltd (Aircel - North East)","404","33","750"
|
||||||
|
"India","Dishnet Wireless Ltd (Aircel - Orissa)","404","28","889"
|
||||||
|
"India","Escorts Telecom","404","82","901"
|
||||||
|
"India","Escotel Mobile Communications","404","12","765"
|
||||||
|
"India","FASCEL","404","5","803"
|
||||||
|
"India","Hutchinson Essar South Ltd.","404","13","784"
|
||||||
|
"India","IDEA Cellular","404","22","817"
|
||||||
|
"India","IDEA Cellular Ltd (Escotel - Kerala)","404","19","881"
|
||||||
|
"India","IDEA Cellular Ltd (Escotel - Uttar Pradesh West)","404","56","770"
|
||||||
|
"India","IDEA Cellular Ltd (IDEA - Andhra Pradesh)","404","7","789"
|
||||||
|
"India","IDEA Cellular Ltd (IDEA - Delhi)","404","4","781"
|
||||||
|
"India","IDEA Cellular Ltd (IDEA - Gujarat)","404","24","812"
|
||||||
|
"India","IDEA Cellular Ltd (IDEA - Madhya Pradesh)","404","78","804"
|
||||||
|
"India","IDEA Cellular Ltd (IDEA - Rajasthan)","404","87","771"
|
||||||
|
"India","IDEA Cellular Ltd (IDEA - Uttar Pradesh East)","404","89","818"
|
||||||
|
"India","IDEA Cellular Ltd (Spice Telecom - Karnataka)","404","44","893"
|
||||||
|
"India","Mahanagar Telephone Nigam - Mumbai","404","69","807"
|
||||||
|
"India","Mahanagar Telephone Nigam Ltd (MTNL)","404","68","808"
|
||||||
|
"India","MTS Rajasthan - CDMA","404","0","801"
|
||||||
|
"India","Reliance Communications Ltd (Assam)","404","9","880"
|
||||||
|
"India","Reliance Communications Ltd (Himachal Pradesh Circle)","404","18","888"
|
||||||
|
"India","Reliance Communications Ltd (Kolkata)","404","83","798"
|
||||||
|
"India","Reliance Communications Ltd (Madhya Pradesh)","404","67","797"
|
||||||
|
"India","Reliance Communications Ltd (North East)","404","50","885"
|
||||||
|
"India","Reliance Communications Ltd (Orissa Circle)","404","52","891"
|
||||||
|
"India","Reliance Communications Ltd (West Bengal)","404","85","799"
|
||||||
|
"India","Reliance Telecom (Bihar & Jharkhand)","404","36","796"
|
||||||
|
"India","Spice Communications Pvt Ltd","404","14","819"
|
||||||
|
"India","Sterling Cellular","404","11","758"
|
||||||
|
"India","TATA Indicom","404","25","775"
|
||||||
|
"India","Usha Martin Telecom","404","30","753"
|
||||||
|
"India","Vodafone Essar Cellular Limited (Vodafone - Maharashtra & Goa)","404","27","743"
|
||||||
|
"India","Vodafone Essar Cellular Ltd (Vodafone - Kerala)","404","46","776"
|
||||||
|
"India","Vodafone Essar Cellular Ltd (Vodafone - Tamil Nadu)","404","43","800"
|
||||||
|
"India","Vodafone Essar Digilink Ltd (Vodafone - Rajasthan)","404","60","788"
|
||||||
|
"India","Vodafone Essar Digilink Ltd (Vodafone - Uttar Pradesh East)","404","15","767"
|
||||||
|
"India","Vodafone Essar Ltd (Vodafone - Mumbai)","404","20","823"
|
||||||
|
"India","Vodafone Essar South","404","1","766"
|
||||||
|
"India","Vodafone Essar South Ltd (Vodafone - Chennai)","404","84","863"
|
||||||
|
"India","Vodafone Essar South Ltd (Vodafone - Karnataka)","404","86","783"
|
||||||
|
"India","Vodafone Essar South Ltd (Vodafone - Punjab)","404","88","768"
|
||||||
|
"India2","Bharti Airtel Ltd (Airtel - Assam)","405","56","747"
|
||||||
|
"India2","Bharti Airtel Ltd (Airtel - Bihar)","405","52","739"
|
||||||
|
"India2","Bharti Airtel Ltd (Airtel - Jammu & Kashmir)","405","55","884"
|
||||||
|
"India2","Bharti Airtel Ltd (Airtel - Orissa)","405","53","754"
|
||||||
|
"India2","Bharti Airtel Ltd (Airtel - Uttar Pradesh East)","405","54","745"
|
||||||
|
"India2","Bharti Airtel Ltd (Airtel - West Bengal)","405","51","752"
|
||||||
|
"India2","Dishnet Wireless Ltd (Aircel - Andhra Pradesh)","405","801","814"
|
||||||
|
"India2","Dishnet Wireless Ltd (Aircel - Delhi Metro)","405","800","815"
|
||||||
|
"India2","Dishnet Wireless Ltd (Aircel - Karnataka)","405","803","824"
|
||||||
|
"India2","Dishnet Wireless Ltd (Aircel - Kerala Service Telecom Area)","405","809","898"
|
||||||
|
"India2","Dishnet Wireless Ltd (Aircel - Maharashtra & Goa)","405","804","895"
|
||||||
|
"India2","Dishnet Wireless Ltd (Aircel - Mumbai Metro)","405","805","827"
|
||||||
|
"India2","Dishnet Wireless Ltd (Aircel - Rajasthan)","405","806","896"
|
||||||
|
"India2","Dishnet Wireless Ltd (Aircel - Uttar Pradesh East)","405","810","826"
|
||||||
|
"India2","Dishnet Wireless Ltd (Aircel - Uttar Pradesh West)","405","811","899"
|
||||||
|
"India2","IDEA Cellular Ltd (IDEA - Behar)","405","70","820"
|
||||||
|
"India2","IDEA Cellular Ltd (IDEA - Mumbai)","405","799","809"
|
||||||
|
"India2","IDEA Cellular Ltd (IDEA - Orissa)","405","850","861"
|
||||||
|
"India2","IDEA Cellular Ltd (IDEA - Tamilnadu Inc Chennai)","405","852","811"
|
||||||
|
"India2","Reliance Communications Ltd (Andhra Pradesh)","405","1","795"
|
||||||
|
"India2","Reliance Communications Ltd (Delhi)","405","5","746"
|
||||||
|
"India2","Reliance Communications Ltd (Gujarat)","405","6","737"
|
||||||
|
"India2","Reliance Communications Ltd (Haryana)","405","7","834"
|
||||||
|
"India2","Reliance Communications Ltd (Jammu & Kashmir)","405","9","835"
|
||||||
|
"India2","Reliance Communications Ltd (Karnataka)","405","10","778"
|
||||||
|
"India2","Reliance Communications Ltd (Kerala)","405","11","791"
|
||||||
|
"India2","Reliance Communications Ltd (Maharashtra)","405","13","769"
|
||||||
|
"India2","Reliance Communications Ltd (Mumbai)","405","15","772"
|
||||||
|
"India2","Reliance Communications Ltd (Punjab)","405","18","792"
|
||||||
|
"India2","Reliance Communications Ltd (Rajasthan)","405","19","793"
|
||||||
|
"India2","Reliance Communications Ltd (Tamil Nadu)","405","20","794"
|
||||||
|
"India2","Reliance Communications Ltd (Uttar Pradesh East)","405","21","773"
|
||||||
|
"India2","Reliance Communications Ltd (Uttar Pradesh West)","405","22","828"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Andhra Pradesh)","405","25","755"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Bihar)","405","27","836"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Delhi)","405","29","780"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Gujarat)","405","30","837"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Haryana)","405","31","838"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Himachal Pradesh)","405","32","785"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Karnataka)","405","34","756"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Kerala)","405","35","779"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Kolkata)","405","36","839"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Madhya Pradesh)","405","38","810"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Maharashtra)","405","37","777"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Mumbai)","405","39","790"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Orissa)","405","41","787"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Punjab)","405","42","840"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Rajasthan)","405","43","786"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Tamil Nadu)","405","44","751"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Uttar Pradesh East)","405","45","841"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - Uttar Pradesh West)","405","46","842"
|
||||||
|
"India2","Tata Teleservices Ltd (Tata Indicom - West Bengal)","405","47","843"
|
||||||
|
"India2","Unitech Wireless Limited (uninor - Andhra Pradesh)","405","819","856"
|
||||||
|
"India2","Unitech Wireless Limited (uninor - Karnataka)","405","820","857"
|
||||||
|
"India2","Unitech Wireless Limited (uninor - Kerala)","405","821","858"
|
||||||
|
"India2","Unitech Wireless Limited (uninor - Uttar Pradesh West)","405","818","855"
|
||||||
|
"India2","Videocon Datacom (Assam)","405","824","859"
|
||||||
|
"India2","Videocon Datacom (Madhya Pradesh)","405","834","860"
|
||||||
|
"India2","Vodafone Essar South Limited (Vodafone - UP West)","405","66","742"
|
||||||
|
"India2","Vodafone Essar South Limited (Vodafone - West Bengal)","405","67","738"
|
||||||
|
"India2","Vodafone Essar Spacetel Ltd (Vodafone - Assam)","405","751","821"
|
||||||
|
"India2","Vodafone Essar Spacetel Ltd (Vodafone - Bihar)","405","752","757"
|
||||||
|
"India2","Vodafone Essar Spacetel Ltd (Vodafone - Himachal Pradesh)","405","754","892"
|
||||||
|
"India2","Vodafone Essar Spacetel Ltd (Vodafone - Jammu & Kashmir)","405","750","897"
|
||||||
|
"India2","Vodafone Essar Spacetel Ltd (Vodafone - Madhya Pradesh)","405","756","822"
|
||||||
|
"India2","Vodafone Essar Spacetel Ltd (Vodafone - NorthEast)","405","755","894"
|
||||||
|
"India2","Vodafone Essar Spacetel Ltd (Vodafone - Orissa)","405","753","883"
|
||||||
|
"India2","Vodafone Madhya Pradesh","405","68","1112"
|
||||||
|
"Indonesia","AXIS","510","8","683"
|
||||||
|
"Indonesia","Ceria","510","27","1339"
|
||||||
|
"Indonesia","Esia","510","99","1340"
|
||||||
|
"Indonesia","Flexi (Telkom Indonesia)","510","7","1337"
|
||||||
|
"Indonesia","Indosat Ooredoo","510","1","206"
|
||||||
|
"Indonesia","PSN (PT Pasifik Satelit Nusantara)","510","0","1313"
|
||||||
|
"Indonesia","Smartfren","510","9","1338"
|
||||||
|
"Indonesia","StarOne (Indosat)","510","3","1336"
|
||||||
|
"Indonesia","Telkomsel","510","10","205"
|
||||||
|
"Indonesia","Three Indonesia","510","89","682"
|
||||||
|
"Indonesia","XL Axiata","510","11","207"
|
||||||
|
"International Networks","AeroMobile","901","14","1105"
|
||||||
|
"International Networks","Antartica","901","13","1130"
|
||||||
|
"International Networks","Asia Cellular Satellite (ACeS)","901","0","946"
|
||||||
|
"International Networks","Inmarsat Satellite","901","11","947"
|
||||||
|
"International Networks","Maritime Communications Partner","901","12","1103"
|
||||||
|
"International Networks","SITA","901","15","945"
|
||||||
|
"International Networks","Thuraya","901","5","944"
|
||||||
|
"Iran","KFZO (TKC)","432","14","392"
|
||||||
|
"Iran","MCI","432","11","393"
|
||||||
|
"Iran","MTCE","432","19","394"
|
||||||
|
"Iran","MTN (Irancell)","432","35","516"
|
||||||
|
"Iran","Taliya","432","32","428"
|
||||||
|
"Iraq","Asia Cell (Ooredoo)","418","5","417"
|
||||||
|
"Iraq","Itisaluna","418","62","1375"
|
||||||
|
"Iraq","KorekTel","418","40","438"
|
||||||
|
"Iraq","Mobitel","418","45","1376"
|
||||||
|
"Iraq","Omnnea","418","92","1374"
|
||||||
|
"Iraq","SanaTel","418","8","439"
|
||||||
|
"Iraq","Zain Iraq","418","20","437"
|
||||||
|
"Ireland","Eir Mobile (ex-Meteor)","272","3","93"
|
||||||
|
"Ireland","Tesco Mobile","272","11","1109"
|
||||||
|
"Ireland","Three","272","5","517"
|
||||||
|
"Ireland","Three (O2)","272","2","94"
|
||||||
|
"Ireland","Vodafone","272","1","95"
|
||||||
|
"Israel","Cellcom Israel","425","2","329"
|
||||||
|
"Israel","Hot Mobile Israel","425","7","923"
|
||||||
|
"Israel","Jawwal Palestine","425","5","307"
|
||||||
|
"Israel","Ooredoo Palestine (Wataniya)","425","6","679"
|
||||||
|
"Israel","Partner Israel (Orange)","425","1","306"
|
||||||
|
"Israel","Pelephone Israel","425","3","652"
|
||||||
|
"Italy","Three Italy","222","99","143"
|
||||||
|
"Italy","TIM Italy","222","1","141"
|
||||||
|
"Italy","Vodafone Italy","222","10","142"
|
||||||
|
"Italy","Wind Italy","222","88","140"
|
||||||
|
"Ivory Coast","GreenN","612","6","686"
|
||||||
|
"Ivory Coast","KoZ (Comium)","612","4","685"
|
||||||
|
"Ivory Coast","Moov","612","2","645"
|
||||||
|
"Ivory Coast","MTN","612","5","24"
|
||||||
|
"Ivory Coast","Orange","612","3","25"
|
||||||
|
"Jamaica","Digicel Jamaica","338","50","427"
|
||||||
|
"Jamaica","Flow Jamaica (LIME - CWC)","338","180","425"
|
||||||
|
"Japan","KDDI","440","7","1060"
|
||||||
|
"Japan","NTT DoCoMo","440","1","518"
|
||||||
|
"Japan","SoftBank Mobile","440","20","364"
|
||||||
|
"Japan","Y!mobile","440","0","948"
|
||||||
|
"Jordan","Orange Jordan","416","77","298"
|
||||||
|
"Jordan","Umniah","416","3","396"
|
||||||
|
"Jordan","Zain Jordan","416","1","299"
|
||||||
|
"Kazakhstan","Altel","401","7","1347"
|
||||||
|
"Kazakhstan","Beeline Kazakhstan","401","1","227"
|
||||||
|
"Kazakhstan","Kazakhtelecom","401","8","1346"
|
||||||
|
"Kazakhstan","Kcell","401","2","226"
|
||||||
|
"Kazakhstan","Tele2 Kazakhstan","401","77","949"
|
||||||
|
"Kenya","Airtel Kenya (ex-Econet)","639","5","675"
|
||||||
|
"Kenya","Airtel Kenya (Zain)","639","3","42"
|
||||||
|
"Kenya","Safaricom","639","2","41"
|
||||||
|
"Kenya","Telkom Kenya (Orange)","639","7","674"
|
||||||
|
"Kiribati","ATHKL","545","9","519"
|
||||||
|
"Korea North","Korea Posts and Telecommunications","467","3","1007"
|
||||||
|
"Korea North","Koryolink","467","192","1061"
|
||||||
|
"Korea, Republic of","Korea Telecom","450","2","365"
|
||||||
|
"Korea, Republic of","LG U+","450","6","1008"
|
||||||
|
"Korea, Republic of","SK Telecom","450","5","563"
|
||||||
|
"Kuwait","Ooredoo","419","3","300"
|
||||||
|
"Kuwait","Viva","419","4","663"
|
||||||
|
"Kuwait","Zain (ex-MTC)","419","2","301"
|
||||||
|
"Kyrgyzstan","Beeline (Sky Mobile)","437","1","316"
|
||||||
|
"Kyrgyzstan","Fonex","437","3","1324"
|
||||||
|
"Kyrgyzstan","MegaCom","437","5","520"
|
||||||
|
"Kyrgyzstan","O!","437","9","1062"
|
||||||
|
"Laos","Beeline Laos","457","8","415"
|
||||||
|
"Laos","ETL Laos","457","2","951"
|
||||||
|
"Laos","Lao Telecom","457","1","950"
|
||||||
|
"Laos","Unitel Laos","457","3","1063"
|
||||||
|
"Latvia","Bite Latvia","247","5","521"
|
||||||
|
"Latvia","LMT Latvia","247","1","113"
|
||||||
|
"Latvia","Tele2 Latvia","247","2","114"
|
||||||
|
"Latvia","Triatel Latvia","247","3","1064"
|
||||||
|
"Lebanon","ALFA","415","1","296"
|
||||||
|
"Lebanon","MTC Touch","415","3","297"
|
||||||
|
"Lesotho","Econet Ezi-Cel","651","2","522"
|
||||||
|
"Lesotho","Vodacom Lesotho","651","1","523"
|
||||||
|
"Liberia","Comium Liberia","618","4","526"
|
||||||
|
"Liberia","LiberCell","618","2","1065"
|
||||||
|
"Liberia","Lonestar Cell (MTN)","618","1","527"
|
||||||
|
"Liberia","Orange Liberia (ex-Cellcom)","618","7","524"
|
||||||
|
"Libya","Al Madar (Orbit)","606","1","17"
|
||||||
|
"Libya","Libyana Mobile","606","0","528"
|
||||||
|
"Liechtenstein","7acht Liechtenstein (ex-Orange)","295","2","158"
|
||||||
|
"Liechtenstein","FL1 Liechtenstein (ex-Mobilkom)","295","5","155"
|
||||||
|
"Liechtenstein","Swisscom Liechtenstein","295","1","157"
|
||||||
|
"Liechtenstein","Tele2 Liechtenstein","295","77","156"
|
||||||
|
"Lithuania","Bite","246","2","112"
|
||||||
|
"Lithuania","Tele2","246","3","366"
|
||||||
|
"Lithuania","Telia (ex-Omnitel)","246","1","111"
|
||||||
|
"Luxembourg","Orange Luxembourg (ex-VOXmobile)","270","99","367"
|
||||||
|
"Luxembourg","POST Luxembourg (ex-LuxGSM)","270","1","91"
|
||||||
|
"Luxembourg","Tango Luxembourg","270","77","92"
|
||||||
|
"Macau","3 Macau","455","3","248"
|
||||||
|
"Macau","CTM Macau","455","1","249"
|
||||||
|
"Macau","Smartone Macau","455","0","529"
|
||||||
|
"Madagascar","Airtel Madagascar","646","1","53"
|
||||||
|
"Madagascar","Orange Madagascar","646","2","52"
|
||||||
|
"Madagascar","Sacel Madagascar","646","3","953"
|
||||||
|
"Madagascar","Telma Mobile (Telecel)","646","4","952"
|
||||||
|
"Malawi","Airtel Malawi (Celtel)","650","10","60"
|
||||||
|
"Malawi","TNM (Telekom Networks Malawi)","650","1","368"
|
||||||
|
"Malaysia","Celcom Axiata","502","19","200"
|
||||||
|
"Malaysia","DiGi Telecommunications","502","16","198"
|
||||||
|
"Malaysia","Maxis Mobile","502","12","196"
|
||||||
|
"Malaysia","U Mobile","502","18","986"
|
||||||
|
"Maldives"," Ooredoo Malvides","472","2","530"
|
||||||
|
"Maldives","Dhiraagu","472","1","295"
|
||||||
|
"Mali","Malitel (Sotelma)","610","1","405"
|
||||||
|
"Mali","Orange Mali","610","2","593"
|
||||||
|
"Malta","epic Malta (ex-Vodafone)","278","1","100"
|
||||||
|
"Malta","Go Mobile","278","21","99"
|
||||||
|
"Malta","Melita","278","77","924"
|
||||||
|
"Martinique","Digicel Antilles Martinique","341","20","1027"
|
||||||
|
"Martinique","Orange Caraibe Mobiles Martinique","341","1","1026"
|
||||||
|
"Martinique","Outremer Telecom Martinique","341","2","1025"
|
||||||
|
"Mauritania","Chinguitel","609","2","9"
|
||||||
|
"Mauritania","Mattel","609","1","20"
|
||||||
|
"Mauritania","Mauritel Mobiles","609","10","21"
|
||||||
|
"Mauritius","CHiLi Mauritius (MTML)","617","2","1066"
|
||||||
|
"Mauritius","Emtel Mauritius","617","10","29"
|
||||||
|
"Mauritius","My.T Mauritius","617","1","28"
|
||||||
|
"Mexico","AT&T Mexico","334","4","1067"
|
||||||
|
"Mexico","AT&T Mexico (ex-Nextel)","334","1","1116"
|
||||||
|
"Mexico","Movistar Mexico","334","3","400"
|
||||||
|
"Mexico","Telcel Mexico","334","2","369"
|
||||||
|
"Micronesia, Federated States of","FSM Telecom","550","1","531"
|
||||||
|
"Moldova","MoldCell","259","2","119"
|
||||||
|
"Moldova","Orange Moldova","259","1","118"
|
||||||
|
"Moldova","Unite - IDC ","259","3","1068"
|
||||||
|
"Monaco","Monaco Telecom","212","1","123"
|
||||||
|
"Mongolia","MobiCom Mongolia","428","99","310"
|
||||||
|
"Mongolia","Skytel Mongolia","428","91","1069"
|
||||||
|
"Mongolia","Unitel Mongolia","428","88","618"
|
||||||
|
"Montenegro","MTEL","297","3","660"
|
||||||
|
"Montenegro","Telekom Montenegro","297","2","661"
|
||||||
|
"Montenegro","Telenor Montenegro","297","1","1357"
|
||||||
|
"Montserrat","Flow Montserrat","354","860","532"
|
||||||
|
"Morocco","IAM","604","1","13"
|
||||||
|
"Morocco","Orange Morocco (ex-Meditel)","604","0","14"
|
||||||
|
"Morocco","WANA","604","2","622"
|
||||||
|
"Mozambique","Mcel Mozambique","643","1","50"
|
||||||
|
"Mozambique","Movitel Mozambique","643","3","1377"
|
||||||
|
"Mozambique","Vodacom Mozambique","643","4","533"
|
||||||
|
"Myanmar","MPT","414","1","534"
|
||||||
|
"Namibia","MTC Namibia","649","1","59"
|
||||||
|
"Namibia","TN Mobile Namibia (ex-Cell One)","649","3","621"
|
||||||
|
"Nauru","Digicel","536","1","1314"
|
||||||
|
"Nepal","Ncell Nepal","429","2","607"
|
||||||
|
"Nepal","Nepal Telecom (NTC)","429","1","419"
|
||||||
|
"Nepal","Nepal Telecom (NTC) (CDMA)","429","3","1323"
|
||||||
|
"Nepal","Smart Nepal","429","4","1317"
|
||||||
|
"Nepal","United Telecom Limited","429","0","1316"
|
||||||
|
"Netherlands","Blyk","204","3","1044"
|
||||||
|
"Netherlands","Elephant Talk","204","5","1041"
|
||||||
|
"Netherlands","KPN","204","8","71"
|
||||||
|
"Netherlands","Lycamobile Netherlands","204","9","1038"
|
||||||
|
"Netherlands","Orange Netherlands","204","20","75"
|
||||||
|
"Netherlands","T-Mobile Netherlands","204","16","73"
|
||||||
|
"Netherlands","Tele2 Netherlands","204","2","688"
|
||||||
|
"Netherlands","Teleena Holding","204","7","1040"
|
||||||
|
"Netherlands","Telfort","204","12","74"
|
||||||
|
"Netherlands","Vectone Netherlands","204","6","1450"
|
||||||
|
"Netherlands","Vodafone Netherlands","204","4","72"
|
||||||
|
"Netherlands Antilles","Chippie (UTS)","362","91","535"
|
||||||
|
"Netherlands Antilles","Digicel Netherlands Antilles","362","69","537"
|
||||||
|
"Netherlands Antilles","Telcell Netherlands Antilles","362","51","195"
|
||||||
|
"New Caledonia","Mobilis New Caledonia","546","1","222"
|
||||||
|
"New Zealand","Spark (ex-Telecom)","530","5","680"
|
||||||
|
"New Zealand","Two Degrees Mobile","530","24","928"
|
||||||
|
"New Zealand","Vodafone New Zealand","530","1","212"
|
||||||
|
"Nicaragua","Claro","710","21","1032"
|
||||||
|
"Nicaragua","Movistar","710","30","649"
|
||||||
|
"Nicaragua","Sercom (Enitel)","710","73","412"
|
||||||
|
"Niger","Airtel Niger","614","2","407"
|
||||||
|
"Niger","Moov Niger","614","3","595"
|
||||||
|
"Niger","Niger Telecoms","614","1","594"
|
||||||
|
"Niger","Orange Niger","614","4","929"
|
||||||
|
"Nigeria","9mobile (ex-Etisalat) Nigeria","621","60","659"
|
||||||
|
"Nigeria","Airtel Nigeria","621","20","324"
|
||||||
|
"Nigeria","Glo Mobile Nigeria","621","50","398"
|
||||||
|
"Nigeria","MTN Nigeria","621","30","325"
|
||||||
|
"Nigeria","Multilinks Nigeria","621","0","641"
|
||||||
|
"Nigeria","Visafone Nigeria","621","25","664"
|
||||||
|
"North Macedonia","Telekom","294","1","139"
|
||||||
|
"North Macedonia","Vip","294","3","644"
|
||||||
|
"North Macedonia","Vip (ex-one)","294","2","363"
|
||||||
|
"Norway","Phonero","242","7","989"
|
||||||
|
"Norway","TDC Mobile","242","8","1070"
|
||||||
|
"Norway","Telenor","242","1","174"
|
||||||
|
"Norway","Telia","242","5","173"
|
||||||
|
"Norway","Telia (ex-Netcom)","242","2","541"
|
||||||
|
"Norway","Telia (ex-Tele2)","242","4","988"
|
||||||
|
"Oman","Omantel","422","2","304"
|
||||||
|
"Oman","Ooredoo","422","3","543"
|
||||||
|
"Pakistan","Jazz Pakistan (ex-Mobilink)","410","1","291"
|
||||||
|
"Pakistan","Jazz Pakistan (ex-Warid)","410","7","371"
|
||||||
|
"Pakistan","Telenor Pakistan","410","6","401"
|
||||||
|
"Pakistan","Ufone (Pak Telecom)","410","3","292"
|
||||||
|
"Pakistan","Zong (Paktel)","410","4","611"
|
||||||
|
"Palau","Palau Mobile Corporation","552","80","544"
|
||||||
|
"Palau","Palau National Communications Corporation","552","1","1072"
|
||||||
|
"Panama","Cable & Wireless Panama","714","1","545"
|
||||||
|
"Panama","Claro Panama","714","3","1034"
|
||||||
|
"Panama","Digicel Panama","714","4","1033"
|
||||||
|
"Panama","Movistar Panama","714","20","546"
|
||||||
|
"Papua New Guinea","Bmobile - Vodafone","537","1","547"
|
||||||
|
"Papua New Guinea","Digicel Papua New Guinea","537","3","990"
|
||||||
|
"Paraguay","Claro Paraguay","744","2","585"
|
||||||
|
"Paraguay","Personal Paraguay","744","5","587"
|
||||||
|
"Paraguay","Tigo Paraguay (Telecel)","744","4","588"
|
||||||
|
"Paraguay","VOX Paraguay","744","1","586"
|
||||||
|
"Peru","Claro Peru","716","10","183"
|
||||||
|
"Peru","Entel Peru (Nextel)","716","7","687"
|
||||||
|
"Peru","Movistar Peru","716","6","184"
|
||||||
|
"Philippines","Globe Telecom","515","2","209"
|
||||||
|
"Philippines","SMART Communications","515","3","210"
|
||||||
|
"Philippines","Sun Cellular","515","5","624"
|
||||||
|
"Poland","Nordisk Poland","260","11","1074"
|
||||||
|
"Poland","Orange Poland","260","3","175"
|
||||||
|
"Poland","P4 (Play)","260","6","629"
|
||||||
|
"Poland","Polkomtel (PLUS)","260","1","177"
|
||||||
|
"Poland","Sferia","260","10","1073"
|
||||||
|
"Poland","T-Mobile Poland (ex-Era)","260","2","176"
|
||||||
|
"Portugal","MEO","268","6","90"
|
||||||
|
"Portugal","NOS (ex-Optimus)","268","3","89"
|
||||||
|
"Portugal","Vodafone","268","1","88"
|
||||||
|
"Puerto Rico","AT&T Mobility","330","30","959"
|
||||||
|
"Puerto Rico","Claro","330","110","960"
|
||||||
|
"Puerto Rico","Open Mobile (PR Wireless)","330","0","1372"
|
||||||
|
"Puerto Rico","Sprint","330","20","961"
|
||||||
|
"Puerto Rico","T-Mobile","330","120","962"
|
||||||
|
"Qatar"," Ooredoo Qatar","427","1","309"
|
||||||
|
"Qatar","Vodafone Qatar","427","2","694"
|
||||||
|
"Reunion","Only Reunion (Outremer)","647","2","930"
|
||||||
|
"Reunion","Orange Reunion","647","0","54"
|
||||||
|
"Reunion","SFR Reunion","647","10","55"
|
||||||
|
"Romania","Digi.mobil (RDS)","226","5","654"
|
||||||
|
"Romania","Orange","226","10","144"
|
||||||
|
"Romania","Telekom (ex. Cosmote)","226","3","146"
|
||||||
|
"Romania","Vodafone","226","1","145"
|
||||||
|
"Romania","Zapp Mobile","226","4","623"
|
||||||
|
"Russian Federation","Baykalwestcom","250","12","231"
|
||||||
|
"Russian Federation","Beeline","250","99","237"
|
||||||
|
"Russian Federation","ETK","250","5","230"
|
||||||
|
"Russian Federation","MegaFon","250","2","233"
|
||||||
|
"Russian Federation","MOTIV","250","35","931"
|
||||||
|
"Russian Federation","MTS","250","1","225"
|
||||||
|
"Russian Federation","NCC","250","3","234"
|
||||||
|
"Russian Federation","NTC (New Telephone Company)","250","16","232"
|
||||||
|
"Russian Federation","Rostelecom","250","17","229"
|
||||||
|
"Russian Federation","Skylink","250","6","1344"
|
||||||
|
"Russian Federation","SMARTS","250","7","224"
|
||||||
|
"Russian Federation","Tambov GSM","250","38","1345"
|
||||||
|
"Russian Federation","Tele2","250","20","702"
|
||||||
|
"Russian Federation","Yota","250","11","1076"
|
||||||
|
"Rwanda","Airtel","635","14","1305"
|
||||||
|
"Rwanda","Airtel (ex-Tigo)","635","13","1306"
|
||||||
|
"Rwanda","MTN Rwanda","635","10","548"
|
||||||
|
"Saint Kitts and Nevis","FLOW St.Kitts and Nevis (LIME - CWC)","356","110","1140"
|
||||||
|
"Saint Lucia","Digicel Saint Lucia","358","50","633"
|
||||||
|
"Saint Lucia","Flow (C&W) Saint Lucia","358","110","632"
|
||||||
|
"Saint Vincent and the Grenadines","Flow (C&W) Saint Vincent and the Grenadines","360","110","1141"
|
||||||
|
"Samoa","Bluesky (SamoaTe)l","549","27","635"
|
||||||
|
"Samoa","Digicel Samoa","549","1","636"
|
||||||
|
"San Marino","Telecom San Marino","292","1","1078"
|
||||||
|
"Sao Tome and Principe","CSTmovel","626","1","549"
|
||||||
|
"Saudi Arabia","Mobily (ex. Etisalat)","420","3","550"
|
||||||
|
"Saudi Arabia","STC (Al Jawal)","420","1","302"
|
||||||
|
"Saudi Arabia","Zain","420","4","653"
|
||||||
|
"Senegal","Expresso","608","3","1079"
|
||||||
|
"Senegal","Free (ex-Tigo)","608","2","19"
|
||||||
|
"Senegal","Orange (ex-Sonatel)","608","1","18"
|
||||||
|
"Serbia, Republic of","mts Serbia","220","3","129"
|
||||||
|
"Serbia, Republic of","Telenor Serbia","220","1","128"
|
||||||
|
"Serbia, Republic of","VIP Mobile","220","5","640"
|
||||||
|
"Seychelles","Airtel Seychelles","633","10","39"
|
||||||
|
"Seychelles","Cable & Wireless Seychelles","633","1","38"
|
||||||
|
"Seychelles","MediaTech","633","2","551"
|
||||||
|
"Sierra Leone","Africell","619","3","553"
|
||||||
|
"Sierra Leone","Comium","619","4","552"
|
||||||
|
"Sierra Leone","Mobitel","619","25","1355"
|
||||||
|
"Sierra Leone","Orange (ex-Airtel)","619","1","372"
|
||||||
|
"Singapore","Grid Communications","525","12","1365"
|
||||||
|
"Singapore","M1","525","3","215"
|
||||||
|
"Singapore","SingTel","525","1","214"
|
||||||
|
"Singapore","StarHub Mobile","525","5","213"
|
||||||
|
"Slovakia","O2","231","6","676"
|
||||||
|
"Slovakia","Orange","231","1","154"
|
||||||
|
"Slovakia","Slovak Telekom (ex. T-Mobile)","231","2","153"
|
||||||
|
"Slovenia","A1 Slovenia (ex-Si.mobil)","293","40","135"
|
||||||
|
"Slovenia","T-2 Slovenia","293","64","932"
|
||||||
|
"Slovenia","Telekom Slovenia (ex-Mobitel)","293","41","134"
|
||||||
|
"Slovenia","Telemach Slovenia (ex-Tusmobil)","293","70","373"
|
||||||
|
"Solomon Islands","Our Telekom - Solomon Telekom Company","540","1","556"
|
||||||
|
"Somalia","Golis","637","30","557"
|
||||||
|
"Somalia","Hormuud Telecom","637","25","558"
|
||||||
|
"Somalia","Nationlink","637","10","559"
|
||||||
|
"Somalia","SolTelco","637","19","1080"
|
||||||
|
"Somalia","Somafone","637","4","560"
|
||||||
|
"Somalia","SomTel","637","71","673"
|
||||||
|
"Somalia","Telcom Somalia","637","82","672"
|
||||||
|
"Somalia","Telesom","637","1","561"
|
||||||
|
"South Africa","8ta (Telkom)","655","2","1123"
|
||||||
|
"South Africa","CELL C","655","7","327"
|
||||||
|
"South Africa","MTN South Africa","655","10","65"
|
||||||
|
"South Africa","Vodacom South Africa","655","1","64"
|
||||||
|
"South Sudan","Gemtel","659","3","1361"
|
||||||
|
"South Sudan","MTN South Sudan","659","2","1360"
|
||||||
|
"South Sudan","Sudani South Sudan","659","7","1364"
|
||||||
|
"South Sudan","Vivacell South Sudan","659","4","1362"
|
||||||
|
"South Sudan","Zain South Sudan","659","6","1363"
|
||||||
|
"Spain","Barablu","214","23","1351"
|
||||||
|
"Spain","DigiMobil","214","22","1349"
|
||||||
|
"Spain","Euskaltel","214","8","1081"
|
||||||
|
"Spain","Lleida.net","214","26","1086"
|
||||||
|
"Spain","LycaMobile Spain","214","25","1350"
|
||||||
|
"Spain","Mobil R","214","17","1084"
|
||||||
|
"Spain","Movistar Spain","214","7","86"
|
||||||
|
"Spain","ONO","214","18","1085"
|
||||||
|
"Spain","Orange (ex-Jazztel)","214","21","1120"
|
||||||
|
"Spain","Orange Spain","214","3","85"
|
||||||
|
"Spain","Parlem (ex-FonYou)","214","20","1110"
|
||||||
|
"Spain","Simyo","214","19","1348"
|
||||||
|
"Spain","Telecable","214","16","1083"
|
||||||
|
"Spain","Vodafone Spain","214","1","84"
|
||||||
|
"Spain","Yoigo (MasMovil)","214","4","83"
|
||||||
|
"Sri Lanka","Airtel","413","5","1087"
|
||||||
|
"Sri Lanka","Dialog Axiata","413","2","294"
|
||||||
|
"Sri Lanka","Etisalat","413","3","293"
|
||||||
|
"Sri Lanka","Hutch","413","8","1088"
|
||||||
|
"Sri Lanka","Mobitel","413","1","374"
|
||||||
|
"Sudan","Canar Telecom","634","5","1359"
|
||||||
|
"Sudan","MTN Sudan","634","2","564"
|
||||||
|
"Sudan","Sudani One","634","7","1035"
|
||||||
|
"Sudan","Zain Sudan","634","1","40"
|
||||||
|
"Suriname","Digicel Suriname","746","3","647"
|
||||||
|
"Suriname","Telesur","746","2","565"
|
||||||
|
"Sweden","Djuice Mobile Sweden","240","9","975"
|
||||||
|
"Sweden","Spinbox","240","14","1089"
|
||||||
|
"Sweden","Swefour","240","10","968"
|
||||||
|
"Sweden","Tele2 Sweden","240","7","170"
|
||||||
|
"Sweden","Telenor Sweden","240","8","171"
|
||||||
|
"Sweden","Telia Sweden","240","1","172"
|
||||||
|
"Sweden","Three Sweden","240","2","375"
|
||||||
|
"Sweden","Unknown Network","240","20","970"
|
||||||
|
"Sweden","Unknown Network","240","3","966"
|
||||||
|
"Sweden","Unknown Network","240","17","969"
|
||||||
|
"Sweden","Unknown Network","240","16","1091"
|
||||||
|
"Sweden","Unknown Network","240","34","1132"
|
||||||
|
"Sweden","Unknown Network","240","15","1090"
|
||||||
|
"Switzerland","BebbiCell","228","51","1092"
|
||||||
|
"Switzerland","Salt (ex-Orange)","228","3","148"
|
||||||
|
"Switzerland","Sunrise","228","2","147"
|
||||||
|
"Switzerland","Swisscom Mobile","228","1","149"
|
||||||
|
"Switzerland","Tele4U (Sunrise)","228","8","566"
|
||||||
|
"Syrian Arab Republic","MTN Syria","417","2","376"
|
||||||
|
"Syrian Arab Republic","Syriatel","417","1","377"
|
||||||
|
"Taiwan","APTG (Asia Pacific Telecom)","466","5","1139"
|
||||||
|
"Taiwan","Chunghwa Telecom","466","92","256"
|
||||||
|
"Taiwan","Far EasTone","466","1","257"
|
||||||
|
"Taiwan","T Star (ex-VIBO) Taiwan","466","89","260"
|
||||||
|
"Taiwan","Taiwan Mobile","466","97","258"
|
||||||
|
"Tajikistan","Babilon Mobile","436","4","994"
|
||||||
|
"Tajikistan","Beeline","436","5","667"
|
||||||
|
"Tajikistan","Megafon","436","3","993"
|
||||||
|
"Tajikistan","Tcell","436","1","992"
|
||||||
|
"Tanzania, United Republic of","Airtel (ex-Zain)","640","5","44"
|
||||||
|
"Tanzania, United Republic of","Tigo (ex-Mic)","640","2","43"
|
||||||
|
"Tanzania, United Republic of","Vodacom","640","4","45"
|
||||||
|
"Tanzania, United Republic of","Zantel","640","3","606"
|
||||||
|
"Thailand","AIS","520","1","218"
|
||||||
|
"Thailand","DTAC","520","18","216"
|
||||||
|
"Thailand","TOT 3G","520","15","570"
|
||||||
|
"Thailand","True Move","520","99","569"
|
||||||
|
"Timor-Leste","Timor Telecom","514","2","1093"
|
||||||
|
"Togo","Moov Togo","615","3","571"
|
||||||
|
"Togo","Togo Cell","615","1","26"
|
||||||
|
"Tonga","Digicel Tonga","539","88","1388"
|
||||||
|
"Tonga","Digicel Tonga (Tonfon)","539","43","572"
|
||||||
|
"Tonga","U-Call","539","1","573"
|
||||||
|
"Trinidad and Tobago","bmobile (Telecommunications Services Trinidad and Tobago - TSTT)","374","12","378"
|
||||||
|
"Trinidad and Tobago","Digicel Trinidad and Tobago","374","130","574"
|
||||||
|
"Tunisia"," Ooredoo Tunisia","605","3","387"
|
||||||
|
"Tunisia","Orange Tunisia","605","1","1051"
|
||||||
|
"Tunisia","Tunisie Telecom","605","2","16"
|
||||||
|
"Turkey","Turk Telekom (ex-Avea)","286","3","263"
|
||||||
|
"Turkey","Turk Telekom (ex-Avea)","286","4","379"
|
||||||
|
"Turkey","Turkcell","286","1","261"
|
||||||
|
"Turkey","Vodafone Turkey","286","2","262"
|
||||||
|
"Turkmenistan","MTS","438","1","311"
|
||||||
|
"Turkmenistan","TM-Cell (Altyn Asyr)","438","2","575"
|
||||||
|
"Turks and Caicos Islands","Digicel","376","50","1094"
|
||||||
|
"Turks and Caicos Islands","Flow (C&W)","376","350","576"
|
||||||
|
"Uganda","Africell (ex-Orange)","641","14","1111"
|
||||||
|
"Uganda","Airtel","641","1","47"
|
||||||
|
"Uganda","Airtel (ex-Warid)","641","22","1095"
|
||||||
|
"Uganda","MTN","641","10","48"
|
||||||
|
"Uganda","UTL (Telecom Limited)","641","11","46"
|
||||||
|
"Ukraine","3Mob","255","7","933"
|
||||||
|
"Ukraine","CDMA Ukraine","255","23","1326"
|
||||||
|
"Ukraine","Golden Telecom","255","5","124"
|
||||||
|
"Ukraine","Intertelecom","255","4","1327"
|
||||||
|
"Ukraine","Kyivstar","255","3","126"
|
||||||
|
"Ukraine","Kyivstar (ex-Beeline)","255","2","127"
|
||||||
|
"Ukraine","Lifecell","255","6","577"
|
||||||
|
"Ukraine","PEOPLEnet","255","21","934"
|
||||||
|
"Ukraine","Vodafone (ex-MTS)","255","1","125"
|
||||||
|
"United Arab Emirates","du","424","3","578"
|
||||||
|
"United Arab Emirates","Etisalat","424","2","305"
|
||||||
|
"United Kingdom","BT","234","0","1009"
|
||||||
|
"United Kingdom","Cable & Wireless UK","234","7","1018"
|
||||||
|
"United Kingdom","Cloud9","234","18","1014"
|
||||||
|
"United Kingdom","EE (ex-Orange)","234","33","319"
|
||||||
|
"United Kingdom","EE (ex-TMobile)","234","30","323"
|
||||||
|
"United Kingdom","Jersey Airtel","234","3","1011"
|
||||||
|
"United Kingdom","Jersey Telecom","234","50","322"
|
||||||
|
"United Kingdom","Lycamobile","234","26","1017"
|
||||||
|
"United Kingdom","Manx Telecom","234","58","389"
|
||||||
|
"United Kingdom","O2","234","10","163"
|
||||||
|
"United Kingdom","Sure Mobile Guernsey","234","55","320"
|
||||||
|
"United Kingdom","Three","234","20","321"
|
||||||
|
"United Kingdom","Unknown Network","234","17","1019"
|
||||||
|
"United Kingdom","Unknown Network","234","75","1016"
|
||||||
|
"United Kingdom","Unknown Network","234","16","1013"
|
||||||
|
"United Kingdom","Unknown Network","234","19","1015"
|
||||||
|
"United Kingdom","Unknown Network","234","8","1012"
|
||||||
|
"United Kingdom","Vectone Mobile","234","1","1010"
|
||||||
|
"United Kingdom","Vodafone","234","15","165"
|
||||||
|
"Unknown Country","Unknown Operator","100","999","1567"
|
||||||
|
"Uruguay","Antel (Ancel)","748","1","382"
|
||||||
|
"Uruguay","Claro (CTI Movil)","748","10","579"
|
||||||
|
"Uruguay","Movistar","748","7","580"
|
||||||
|
"USA","Advantage Cellular","310","880","735"
|
||||||
|
"USA","Airadigm Communications","310","640","717"
|
||||||
|
"USA","Alaska Digitel","310","430","1096"
|
||||||
|
"USA","All Operators (New Prefixes)","310","999","1122"
|
||||||
|
"USA","Alltel Communications Inc","310","590","712"
|
||||||
|
"USA","AT&T Mobility (Dobson)","310","560","727"
|
||||||
|
"USA","AT&T Mobility USA","310","410","709"
|
||||||
|
"USA","Caprock Cellular","310","830","725"
|
||||||
|
"USA","Cellcom USA","310","600","1097"
|
||||||
|
"USA","Cellular One of NE Arizona","310","320","716"
|
||||||
|
"USA","Centennial Wireless","310","30","713"
|
||||||
|
"USA","Choice Wireless","310","630","731"
|
||||||
|
"USA","Cincinnati Bell Wireless","310","420","728"
|
||||||
|
"USA","Corr Wireless Communications","310","80","734"
|
||||||
|
"USA","Cricket Communications","310","16","711"
|
||||||
|
"USA","Globalstar USA","310","970","730"
|
||||||
|
"USA","Iowa Wireless Services","310","770","719"
|
||||||
|
"USA","Keystone Wireless","310","690","729"
|
||||||
|
"USA","Mohave Wireless","310","350","723"
|
||||||
|
"USA","Oklahoma Western Telephone Company","310","540","732"
|
||||||
|
"USA","PTSI","310","760","720"
|
||||||
|
"USA","T-Mobile (SunCom)","310","490","715"
|
||||||
|
"USA","T-Mobile USA","310","260","707"
|
||||||
|
"USA","TMP Corporation","310","460","1037"
|
||||||
|
"USA","Unicel Rural Cellular Corporation","310","890","714"
|
||||||
|
"USA","Union Telephone Company","310","20","708"
|
||||||
|
"USA","United Wireless Communications","310","440","721"
|
||||||
|
"USA","Verizon Wireless","310","12","706"
|
||||||
|
"USA","XIT Cellular","310","950","724"
|
||||||
|
"Uzbekistan","Beeline","434","4","383"
|
||||||
|
"Uzbekistan","Perfectum Mobile","434","6","1100"
|
||||||
|
"Uzbekistan","Ucell","434","5","317"
|
||||||
|
"Uzbekistan","UMS (MTS)","434","7","384"
|
||||||
|
"Vanuatu","Digicel Vanuatu","541","5","1101"
|
||||||
|
"Vanuatu","Telecom Vanuatu","541","1","581"
|
||||||
|
"Venezuela","Digitel Venezuela","734","2","189"
|
||||||
|
"Venezuela","Movilnet","734","6","657"
|
||||||
|
"Venezuela","Movistar Venezuela","734","4","655"
|
||||||
|
"Vietnam","Gmobile (Beeline) Vietnam","452","7","1106"
|
||||||
|
"Vietnam","I-Telecom","452","8","1312"
|
||||||
|
"Vietnam","MobiFone Vietnam","452","1","240"
|
||||||
|
"Vietnam","S-Fone (SPT)","452","3","1310"
|
||||||
|
"Vietnam","Vietnamobile (HTC)","452","5","1144"
|
||||||
|
"Vietnam","Viettel Mobile","452","4","582"
|
||||||
|
"Vietnam","Viettel Mobile (EVNTelecom)","452","6","1311"
|
||||||
|
"Vietnam","VinaPhone","452","2","241"
|
||||||
|
"Virgin Islands British","Caribbean Cellular Telephone","348","570","466"
|
||||||
|
"Virgin Islands British","Digicel British Virgin Islands","348","770","1000"
|
||||||
|
"Virgin Islands British","Flow (C&W) British Virgin Islands","348","170","999"
|
||||||
|
"Yemen","MTN Yemen (Spacetel)","421","2","380"
|
||||||
|
"Yemen","Sabafon","421","1","303"
|
||||||
|
"Yemen","Sabafon (CDMA)","421","901","1052"
|
||||||
|
"Yemen","Y Telecom (Y HiTS UNITEL)","421","4","964"
|
||||||
|
"Yemen","Yemen Mobile (CDMA)","421","3","1322"
|
||||||
|
"Zambia","Airtel Zambia","645","1","51"
|
||||||
|
"Zambia","MTN Zambia","645","2","584"
|
||||||
|
"Zambia","ZAMTEL","645","3","583"
|
||||||
|
"Zimbabwe","Econet Zimbabwe","648","4","58"
|
||||||
|
"Zimbabwe","NetOne Zimbabwe","648","1","56"
|
||||||
|
"Zimbabwe","Telecel Zimbabwe","648","3","57"
|
||||||
|
Can't render this file because it contains an unexpected character in line 2 and column 13.
|
38
public/misc/client_short_codes.csv
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
Nexmo,40520,Safaricom,Nexmo,LIVE
|
||||||
|
Nexmo,40520,Airtel,Nexmo,LIVE
|
||||||
|
Geopoll,7117,TNM,Geopoll,LIVE
|
||||||
|
Geopoll,7117,Airtel,Geopoll,LIVE
|
||||||
|
Geopoll Ghana,2130,MTN,Geopoll Ghana,LIVE
|
||||||
|
Geopoll Ghana,2130,AT,Geopoll Ghana,LIVE
|
||||||
|
Geopoll Ghana,2130,,Geopoll Ghana,LIVE
|
||||||
|
Click Apps (Zampira),451,TNM,Click Apps (Zampira),LIVE
|
||||||
|
Black and Green,361,TNM,Black and Green,LIVE
|
||||||
|
Click Apps,3093,TNM,Click Apps,LIVE
|
||||||
|
Chancaro,2553,TNM,Chancaro,LIVE
|
||||||
|
Geopoll Mo,17878,Orange Botswana,Geopoll Mo,LIVE
|
||||||
|
Click Apps (Infobox),288,Orange Botswana,Click Apps (Infobox),LIVE
|
||||||
|
Inforbip Local,8855,TNM,Inforbip Local,LIVE
|
||||||
|
Inforbip Local,8855,Airtel,Inforbip Local,LIVE
|
||||||
|
Geopoll ZM,5155,Airtel Zambia,Geopoll ZM,LIVE
|
||||||
|
LWB Call Centre,253,TNM,LWB Call Centre,LIVE
|
||||||
|
LWB Call Centre,253,Airtel,LWB Call Centre,LIVE
|
||||||
|
Click Apps,3039,TNM,Click Apps,LIVE
|
||||||
|
Click Apps(ACB),113,TNM,Click Apps(ACB),LIVE
|
||||||
|
Click Apps(Predict),13178,Orange Botswana,Click Apps(Predict),LIVE
|
||||||
|
Connect Mobile Comm Local,16644,Orange Botswana,Connect Mobile Comm Local,LIVE
|
||||||
|
Messagebird,22763,Airtel,Messagebird,LIVE
|
||||||
|
Messagebird,22763,Safaricom,Messagebird,LIVE
|
||||||
|
Click Apps,3031,TNM,Click Apps,LIVE
|
||||||
|
Mhealth,321,TNM,Mhealth,LIVE
|
||||||
|
Kirusa,4242,TNM,Kirusa,LIVE
|
||||||
|
Inforbip Local,322,TNM,Inforbip Local,LIVE
|
||||||
|
Inforbip Local,322,Airtel,Inforbip Local,LIVE
|
||||||
|
Click Apps,102,TNM,Click Apps,LIVE
|
||||||
|
Monsato,569,TNM,Monsato,LIVE
|
||||||
|
Nitel,256,TNM,Nitel,LIVE
|
||||||
|
Premier,885,TNM,Premier,LIVE
|
||||||
|
Premier,885,Airtel,Premier,LIVE
|
||||||
|
CloudCom,6061,TELECEL,CloudCom,LIVE
|
||||||
|
CloudCom,6061,AT,CloudCom,LIVE
|
||||||
|
Routemobility,7658,TELECEL,Routemobility,LIVE
|
||||||
|
Routemobility,7658,AT,Routemobility,LIVE
|
||||||
|
BIN
public/staff_members/profile_pics/img.jpg
Executable file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
public/staff_members/profile_pics/profile.jpg
Normal file
|
After Width: | Height: | Size: 27 KiB |
@@ -54,7 +54,7 @@
|
|||||||
<div class="x_title">
|
<div class="x_title">
|
||||||
<h2> Clients </h2>
|
<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>
|
<a class="btn btn-primary btn-sm" href="{!! url('clients/create') !!}"><i class="fa fa-plus-circle"></i> Add Client</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
@@ -90,9 +90,11 @@
|
|||||||
}
|
}
|
||||||
var table = new Tabulator("#clientsTable", {
|
var table = new Tabulator("#clientsTable", {
|
||||||
ajaxURL: "clients/all",
|
ajaxURL: "clients/all",
|
||||||
paginationSize: 15,
|
paginationSize: 10,
|
||||||
|
paginationSizeSelector: true,
|
||||||
|
paginationSizeSelector:[5, 10, 25, 50, 100, 200],
|
||||||
layout: "fitColumns",
|
layout: "fitColumns",
|
||||||
pagination: "remote",
|
pagination: "local",
|
||||||
selectable: false,
|
selectable: false,
|
||||||
printAsHtml: true,
|
printAsHtml: true,
|
||||||
ajaxLoaderLoading: $('#logo_spinner').html(),
|
ajaxLoaderLoading: $('#logo_spinner').html(),
|
||||||
@@ -109,18 +111,18 @@
|
|||||||
sorter: "string",
|
sorter: "string",
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
{ title:"Onboarding Progress Score",
|
{ title:"Onboarding Progress Score",
|
||||||
field:"progress_indicator_score",
|
field:"progress_indicator_score",
|
||||||
sorter:"number",
|
sorter:"number",
|
||||||
hozAlign:"left",
|
hozAlign:"left",
|
||||||
formatter:"progress",
|
formatter:"progress",
|
||||||
width:200,
|
width:200,
|
||||||
editable:true
|
editable:true
|
||||||
},
|
},
|
||||||
*/
|
*/
|
||||||
{ title:"Onboarding %",
|
{ title:"Onboarding %",
|
||||||
field:"progress_indicator_score",
|
field:"progress_indicator_score",
|
||||||
sorter:"number",
|
sorter:"number",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Status",
|
title: "Status",
|
||||||
@@ -167,15 +169,15 @@
|
|||||||
orientation:"portrait", //set page orientation to portrait
|
orientation:"portrait", //set page orientation to portrait
|
||||||
title:"Click Mobile - Clients", //add title to report
|
title:"Click Mobile - Clients", //add title to report
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
$('#keywordField').on('keyup', function(){
|
$('#keywordField').on('keyup', function(){
|
||||||
console.log('up');
|
console.log('up');
|
||||||
var keyword = $(this).val();
|
var keyword = $(this).val();
|
||||||
table.setData("clients/all?keyword=" + keyword);
|
table.setData("clients/all?keyword=" + keyword);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
118
resources/views/client/partials/create-shortcodes.blade copy.php
Normal 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">×</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 -->
|
||||||
@@ -25,8 +25,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-md-12" style="padding-bottom: 5px">
|
<div class="col-md-12" style="padding-bottom: 5px">
|
||||||
<label for="networks">Network *</label>
|
<label for="networks">Network *</label>
|
||||||
<!-- 'multiple'=> 'true', -->
|
{!! Form::select('network', $country_network_arr, null, ['class' => 'form-control' , 'id' => 'networks', 'placeholder'=>'Select Network ' , 'required' => 'required' , 'style' => 'width: 100%']) !!}
|
||||||
{!! Form::select('network', $networks_raw, null, ['class' => 'form-control' , 'id' => 'networks', 'required' => 'required', 'style' => 'width: 100%']) !!}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group" >
|
<div class="form-group" >
|
||||||
@@ -44,6 +43,12 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</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="form-group">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class='input-group date' id='myDatepicker22' style="padding-bottom: 5px;">
|
<div class='input-group date' id='myDatepicker22' style="padding-bottom: 5px;">
|
||||||
|
|||||||
@@ -19,6 +19,12 @@
|
|||||||
<label for="financeServicesEdit">Services *</label>
|
<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%']) !!}
|
{!! Form::select('services[]', $service_type_names , old('services'), ['class' => 'form-control' , 'id' => 'financeServicesEdit', 'required' => 'required', 'multiple'=> 'true', 'style' => 'width: 100%']) !!}
|
||||||
</div>
|
</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>
|
||||||
<div class="form-group" >
|
<div class="form-group" >
|
||||||
<div class="col-md-12" style="padding-bottom: 5px;">
|
<div class="col-md-12" style="padding-bottom: 5px;">
|
||||||
|
|||||||
@@ -45,6 +45,12 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</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="form-group">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class='input-group date' id='myDatepicker22Edit' style="padding-bottom: 5px;">
|
<div class='input-group date' id='myDatepicker22Edit' style="padding-bottom: 5px;">
|
||||||
|
|||||||
@@ -23,8 +23,20 @@
|
|||||||
@foreach ($client_sender_ids as $row)
|
@foreach ($client_sender_ids as $row)
|
||||||
<tr class="even pointer">
|
<tr class="even pointer">
|
||||||
<td class="mes-td col-md-2">{{ $row->senderid }} </td>
|
<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">
|
||||||
<td class="col-md-2">{{ $row->network_info->country }}</td>
|
<?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-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="col-md-2">{{ $row->created_by_info->name }}</td>
|
||||||
<td class="mes-td col-md-2" style="width: 100px;">{{ $row->remarks }}</td>
|
<td class="mes-td col-md-2" style="width: 100px;">{{ $row->remarks }}</td>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
<th class="column-title">Code</th>
|
<th class="column-title">Code</th>
|
||||||
<th class="column-title">Network</th>
|
<th class="column-title">Network</th>
|
||||||
<th class="column-title">Toll Free</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">Status</th>
|
||||||
<th class="column-title">Remarks</th>
|
<th class="column-title">Remarks</th>
|
||||||
<th class="column-title">Launch Date</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-1 text-danger"><b>{{ $row->shortcode }}</b></td>
|
||||||
<td class="mes-td col-md-2">{{ $row->network }}</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->toll_free) }}</td>
|
||||||
|
<td class="mes-td col-md-1">{{ strtoupper($row->monthly_fee) }}</td>
|
||||||
<td class="mes-td col-md-1">
|
<td class="mes-td col-md-1">
|
||||||
<!-- style='color:#3FB449; font-weight:bold;'
|
<!-- style='color:#3FB449; font-weight:bold;'
|
||||||
dump($row->status)
|
dump($row->status)
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
<th class="column-title">Code</th>
|
<th class="column-title">Code</th>
|
||||||
<th class="column-title">Network</th>
|
<th class="column-title">Network</th>
|
||||||
<th class="column-title">Toll Free</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">Status</th>
|
||||||
<th class="column-title">Launch Date</th>
|
<th class="column-title">Launch Date</th>
|
||||||
<th class="column-title">Renewal 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-1">{{ $row->shortcode }}</td>
|
||||||
<td class="mes-td col-md-2">{{ $row->network }}</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->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">{{ $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->launch_date)) }}</td>
|
||||||
<td class="mes-td col-md-1" style="width: 100px;">
|
<td class="mes-td col-md-1" style="width: 100px;">
|
||||||
@if($row->expiry_date == false)
|
@if($row->expiry_date == false)
|
||||||
{{ "No found"}}
|
{{ "Not found"}}
|
||||||
@else
|
@else
|
||||||
{{ date('d-m-Y', strtotime($row->expiry_date)) }}
|
{{ date('d-m-Y', strtotime($row->expiry_date)) }}
|
||||||
@endif
|
@endif
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
<th class="column-title">Code</th>
|
<th class="column-title">Code</th>
|
||||||
<th class="column-title">Network/Country</th>
|
<th class="column-title">Network/Country</th>
|
||||||
<th class="column-title">Toll Free</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">Status</th>
|
||||||
<!-- <th class="column-title">Remarks</th> -->
|
<!-- <th class="column-title">Remarks</th> -->
|
||||||
<th class="column-title">Launch Date</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-1">{{ $row->shortcode }}</td>
|
||||||
<td class="mes-td col-md-2">{{ $row->network }}</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->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">{{ $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->launch_date)) }}</td>
|
||||||
<td class="mes-td col-md-1" style="width: 100px;">
|
<td class="mes-td col-md-1" style="width: 100px;">
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
<th class="column-title">Code</th>
|
<th class="column-title">Code</th>
|
||||||
<th class="column-title">Network/Country</th>
|
<th class="column-title">Network/Country</th>
|
||||||
<th class="column-title">Toll Free</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">Status</th>
|
||||||
<th class="column-title">Launch Date</th>
|
<th class="column-title">Launch Date</th>
|
||||||
<th class="column-title">Expiry 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-1">{{ $row->shortcode }}</td>
|
||||||
<td class="mes-td col-md-2">{{ $row->network }}</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->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">{{ $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->launch_date)) }}</td>
|
||||||
<td class="mes-td col-md-1" style="width: 100px;">
|
<td class="mes-td col-md-1" style="width: 100px;">
|
||||||
|
|||||||
@@ -42,6 +42,9 @@
|
|||||||
@include('commons.notifications')
|
@include('commons.notifications')
|
||||||
</div>
|
</div>
|
||||||
<div class="x_content">
|
<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="col-md-3 col-sm-3 col-xs-12 profile_left">
|
||||||
<div class="profile_img">
|
<div class="profile_img">
|
||||||
<div id="crop-avatar">
|
<div id="crop-avatar">
|
||||||
@@ -103,254 +106,125 @@
|
|||||||
</ul> -->
|
</ul> -->
|
||||||
<!-- end of skills -->
|
<!-- end of skills -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-9 col-sm-9 col-xs-12" style="border: 1px solid; min-height: 500px;">
|
<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">
|
<div class="row">
|
||||||
<ul id="myTab" class="nav nav-tabs bar_tabs" role="tablist">
|
<div class="col-md-12">
|
||||||
<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>
|
<div class="" role="tabpanel" data-example-id="togglable-tabs">
|
||||||
<!-- <li role="presentation" class=""><a href="#tabConnection" role="tab" id="connection-tab" data-toggle="tab" aria-expanded="false">Connection</a></li> -->
|
<div class="col-xs-3">
|
||||||
<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>
|
<ul id="myTab" class="nav nav-tabs bar_tabs tabs-left" role="tablist">
|
||||||
<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="#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="#tabNotes" role="tab" id="notes-tab2" class="text-default" data-toggle="tab" aria-expanded="false">Notes</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="#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="#tabNotes" role="tab" id="notes-tab2" class="text-default" data-toggle="tab" aria-expanded="false">Notes</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="#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="#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="#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="#tabVoiceShortCode" role="tab" id="voiceshortcode-tab2" class="text-warning" data-toggle="tab" aria-expanded="false">Voice 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>
|
||||||
</ul>
|
<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>
|
||||||
<div id="myTabContent" class="tab-content">
|
</ul>
|
||||||
<div role="tabpanel" class="tab-pane fade active in" id="tabCompany" aria-labelledby="company-tab">
|
</div>
|
||||||
<div class="col-md-4">
|
<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>
|
<p>Partner SMPP Details <br>
|
||||||
|
<?php //if($showclient->smpp_details) { echo $showclient->smpp_details; } else {echo "N/A"; } ?></p>
|
||||||
<blockquote>
|
</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>
|
</div>
|
||||||
<h4>Documents</h4>
|
<div role="tabpanel" class="tab-pane fade" id="tabContract" aria-labelledby="contract-tab">
|
||||||
@if(!$showdocuments->isEmpty() == true)
|
<h4 class="lead"> <strong>Contract Details </strong></h4>
|
||||||
@foreach($showdocuments as $docs)
|
<blockquote>
|
||||||
<p class="url">
|
<p>Contract Type : <strong> {{ ucfirst($showclient->contract_type) ?? 'N/A'}} </strong><br> </p>
|
||||||
<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>
|
<p>Contract Validity (Date) : <strong> {{ $showclient->contract_validity or 'N/A'}} </strong></p>
|
||||||
<div role="tabpanel" class="tab-pane fade" id="tabConnection" aria-labelledby="connection-tab">
|
<p>Contract Auto Renewal : <strong> {{ $showclient->contract_auto_renew or 'N/A'}} </strong></p>
|
||||||
|
@if($showclient->contract_auto_renew != 'YES')
|
||||||
<h4 class="lead"><strong>Connection Details </strong></h4>
|
<p>Renewal Due : <strong class="text-<?php echo ($highlight_colour == 'none') ? '' : 'danger'; ?> "> {{ $renewal_due }} </strong></p>
|
||||||
<blockquote>
|
@endif
|
||||||
<p>Connection Types : <?php if($showclient->connections) { echo implode(", ", json_decode($showclient->connections, true)); } else {echo "N/A"; } ?></p>
|
</blockquote>
|
||||||
<br>
|
<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>
|
||||||
<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 class="clearfix"></div>
|
||||||
<div style="background-color: #dce2e4; height: 400px; overflow: scroll;">
|
@include('client.partials.support_fees')
|
||||||
|
|
||||||
<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="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 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>
|
||||||
<div role="tabpanel" class="tab-pane fade" id="tabSmsShortCode" aria-labelledby="smsshortcode-tab">
|
</div>
|
||||||
<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>
|
||||||
|
|||||||
415
resources/views/client/show_original_copy.blade.php
Executable 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>
|
||||||
|
<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
|
||||||
438
resources/views/client/show_test.blade.php
Normal 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>
|
||||||
|
<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
|
||||||
@@ -49,42 +49,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3">
|
<div class="col-md-4">
|
||||||
<div class="x_panel">
|
|
||||||
<div class="x_title">
|
|
||||||
<h2 class="blue">Additional Info </h2>
|
|
||||||
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
</div>
|
|
||||||
<div class="x_content">
|
|
||||||
<div class="dashboard-widget-content">
|
|
||||||
|
|
||||||
<ul class="list-unstyled timeline widget">
|
|
||||||
@if($user_activities->isEmpty() == false)
|
|
||||||
@foreach($user_activities as $userrow)
|
|
||||||
<li>
|
|
||||||
<div class="block">
|
|
||||||
<div class="block_content">
|
|
||||||
<h2 class="title">
|
|
||||||
<a>{{ $userrow->content }}</a>
|
|
||||||
</h2>
|
|
||||||
<div class="byline">
|
|
||||||
<span>{{ $userrow->activity_time }}</span>
|
|
||||||
<!-- by <a>Jane Smith</a> -->
|
|
||||||
</div>
|
|
||||||
<p class="excerpt"></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
@endforeach
|
|
||||||
@endif
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-3">
|
|
||||||
<div class="x_panel">
|
<div class="x_panel">
|
||||||
<div class="x_title">
|
<div class="x_title">
|
||||||
<h2 class="blue">Recent Activities </h2>
|
<h2 class="blue">Recent Activities </h2>
|
||||||
@@ -93,7 +58,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="x_content">
|
<div class="x_content">
|
||||||
<div class="dashboard-widget-content">
|
<div class="dashboard-widget-content">
|
||||||
|
|
||||||
<ul class="list-unstyled timeline widget">
|
<ul class="list-unstyled timeline widget">
|
||||||
@if($user_activities->isEmpty() == false)
|
@if($user_activities->isEmpty() == false)
|
||||||
@foreach($user_activities as $userrow)
|
@foreach($user_activities as $userrow)
|
||||||
@@ -113,13 +77,13 @@
|
|||||||
</li>
|
</li>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<a href="{{ url('reports/useractivities') }}" class="btn btn-link">View More</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-4">
|
||||||
<div class="x_panel">
|
<div class="x_panel">
|
||||||
<div class="x_title">
|
<div class="x_title">
|
||||||
<h2 class="red">Contracts Expiry Dates </h2>
|
<h2 class="red">Contracts Expiry Dates </h2>
|
||||||
@@ -161,7 +125,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-3">
|
<div class="col-md-4">
|
||||||
<div class="x_panel">
|
<div class="x_panel">
|
||||||
<div class="x_title">
|
<div class="x_title">
|
||||||
<h2 class="green">Newly Added Clients</h2>
|
<h2 class="green">Newly Added Clients</h2>
|
||||||
@@ -182,7 +146,6 @@
|
|||||||
<a class="title" title="View Client Details" href="{{ url('clients', $row->id) }}">{{ $recentrow->name }}</a>
|
<a class="title" title="View Client Details" href="{{ url('clients', $row->id) }}">{{ $recentrow->name }}</a>
|
||||||
<p class="">Company Type : {{ strtoupper($recentrow->company_type) }}</p>
|
<p class="">Company Type : {{ strtoupper($recentrow->company_type) }}</p>
|
||||||
<p class="">Account Manager : {{ strtoupper($recentrow->auth_user_info->name) }}</p>
|
<p class="">Account Manager : {{ strtoupper($recentrow->auth_user_info->name) }}</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
79
resources/views/emails/short_code_payment_alert.blade.php
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="">
|
||||||
|
<img src="{!! url('public/assets/img/click-banner.png') !!}" alt="Click Mobile Banner Logo">
|
||||||
|
</div>
|
||||||
|
<h2>Short Code Invoice/Payment Alert</h2>
|
||||||
|
{{ date('F d, Y') }} <br>
|
||||||
|
|
||||||
|
Hello Accounts Team,<br>
|
||||||
|
|
||||||
|
<p>{{ $message_body }}</p>
|
||||||
|
|
||||||
|
<p>Short Code : {{$finance_arr['short_code'] }} </p>
|
||||||
|
<p>Invoice Date : {{ $finance_arr['invoice_date'] }} </p>
|
||||||
|
<p>Invoice Number : {{ $finance_arr['invoice_number'] }} </p>
|
||||||
|
<p>Amount : {{ $finance_arr['invoice_amount'] }} </p>
|
||||||
|
<p>Status : {{ $finance_arr['invoice_status'] }} </p>
|
||||||
|
<p>Remarks : {{ $finance_arr['remarks'] }}</p>
|
||||||
|
|
||||||
|
<strong>Client Short Short Codes</strong>
|
||||||
|
<table bgcolor="#ACD13C" width="100%" style="border-style:solid; border-width:1px; border-color:#000000;" cellpadding="2" cellspacing="0">
|
||||||
|
<tr style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Code</th>
|
||||||
|
<th>Network</th>
|
||||||
|
<th>Toll Free</th>
|
||||||
|
<th>Status</th>
|
||||||
|
<th>Remarks</th>
|
||||||
|
<th>Launch Date</th>
|
||||||
|
<th>Renewal Date</th>
|
||||||
|
</tr>
|
||||||
|
@if ($short_code_list->isEmpty())
|
||||||
|
<tr>
|
||||||
|
<td colspan="12" style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
No Records found
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
@foreach ($short_code_list as $row)
|
||||||
|
<tr>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
{{ $row->name }}
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
<b>{{ $row->shortcode }}</b>
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
{{ $row->network }}
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
{{ strtoupper($row->toll_free) }}
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
{{ $row->status }}
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
{{ $row->remarks }}
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
{{ date('d-m-Y', strtotime($row->launch_date)) }}</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">
|
||||||
|
@if($row->expiry_date == false)
|
||||||
|
{{ "N/A"}}
|
||||||
|
@else
|
||||||
|
{{ date('d-m-Y', strtotime($row->expiry_date)) }}
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
69
resources/views/emails/test.blade.php
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
<table bgcolor="#fff" width="100%" cellpadding="2" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<table bgcolor="#bceff7" width="100%" cellpadding="0" cellspacing="0" style="">
|
||||||
|
<tr>
|
||||||
|
<th style="border-style:solid; border-width:1px; border-color:#000000;">Name</th>
|
||||||
|
<th style="border-style:solid; border-width:1px; border-color:#000000;">Code</th>
|
||||||
|
<th style="border-style:solid; border-width:1px; border-color:#000000;">Network</th>
|
||||||
|
<th style="border-style:solid; border-width:1px; border-color:#000000;">Toll Free</th>
|
||||||
|
<th style="border-style:solid; border-width:1px; border-color:#000000;">Status</th>
|
||||||
|
<th style="border-style:solid; border-width:1px; border-color:#000000;">Remarks</th>
|
||||||
|
<th style="border-style:solid; border-width:1px; border-color:#000000;">Launch Date</th>
|
||||||
|
<th style="border-style:solid; border-width:1px; border-color:#000000;">Renewal Date</th>
|
||||||
|
</tr>
|
||||||
|
@for ($i = 0; $i < 10; ++$i)
|
||||||
|
<tr>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;" width="400" >Text goes here
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;" width="400">Text goes here
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;" width="400">Text goes here
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;" width="400">Text goes here
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;" width="400" >Text goes here
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;" width="400">Text goes here
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;" width="400">Text goes here
|
||||||
|
</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;" width="400">Text goes here
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endfor
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<table bgcolor="#bceff7" width="100%" style="" cellpadding="2" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<th style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">Name</th>
|
||||||
|
<th style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">Code</th>
|
||||||
|
<th style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">Network</th>
|
||||||
|
<th style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">Toll Free</th>
|
||||||
|
<th style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">Status</th>
|
||||||
|
<th style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">Remarks</th>
|
||||||
|
<th style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">Launch Date</th>
|
||||||
|
<th style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">Renewal Date</th>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">some text</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;"><b>some text</b></td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">some text</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">some text</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">some text</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">some text</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">some text</td>
|
||||||
|
<td style="font-weight: normal; font-size: 0.9em; color: #000000; font-family: Arial,helvetica,sans; padding:0px; text-align:left; border-style:solid; border-width:1px; border-color:#000000;">some text</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
516
resources/views/emails/test_two.blade.php
Normal file
@@ -0,0 +1,516 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
|
||||||
|
<head>
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
<xml>
|
||||||
|
<o:OfficeDocumentSettings>
|
||||||
|
<o:AllowPNG/>
|
||||||
|
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||||
|
</o:OfficeDocumentSettings>
|
||||||
|
</xml>
|
||||||
|
<![endif]-->
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"> <!-- So that mobile will display zoomed in -->
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- enable media queries for windows phone 8 -->
|
||||||
|
<meta name="format-detection" content="telephone=no"> <!-- disable auto telephone linking in iOS -->
|
||||||
|
<meta name="format-detection" content="date=no"> <!-- disable auto date linking in iOS -->
|
||||||
|
<meta name="format-detection" content="address=no"> <!-- disable auto address linking in iOS -->
|
||||||
|
<meta name="format-detection" content="email=no"> <!-- disable auto email linking in iOS -->
|
||||||
|
<meta name="author" content="Simple-Pleb.com">
|
||||||
|
<title>Name Here</title>
|
||||||
|
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100;200;300;400;500;600;700;800;900&display=swap" rel="stylesheet">
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
/*Basics*/
|
||||||
|
body {margin:0px !important; padding:0px !important; display:block !important; min-width:100% !important; width:100% !important; -webkit-text-size-adjust:none;}
|
||||||
|
table {border-spacing:0; mso-table-lspace:0pt; mso-table-rspace:0pt;}
|
||||||
|
table td {border-collapse: collapse;mso-line-height-rule:exactly;}
|
||||||
|
td img {-ms-interpolation-mode:bicubic; width:auto; max-width:auto; height:auto; margin:auto; display:block!important; border:0px;}
|
||||||
|
td p {margin:0; padding:0;}
|
||||||
|
td div {margin:0; padding:0;}
|
||||||
|
td a {text-decoration:none; color: inherit;}
|
||||||
|
/*Outlook*/
|
||||||
|
.ExternalClass {width: 100%;}
|
||||||
|
.ExternalClass,.ExternalClass p,.ExternalClass span,.ExternalClass font,.ExternalClass td,.ExternalClass div {line-height:inherit;}
|
||||||
|
.ReadMsgBody {width:100%; background-color: #ffffff;}
|
||||||
|
/* iOS BLUE LINKS */
|
||||||
|
a[x-apple-data-detectors] {color:inherit !important; text-decoration:none !important; font-size:inherit !important; font-family:inherit !important; font-weight:inherit !important; line-height:inherit !important;}
|
||||||
|
/*Gmail blue links*/
|
||||||
|
u + #body a {color:inherit;text-decoration:none;font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit;}
|
||||||
|
/*Buttons fix*/
|
||||||
|
.undoreset a, .undoreset a:hover {text-decoration:none !important;}
|
||||||
|
.yshortcuts a {border-bottom:none !important;}
|
||||||
|
.ios-footer a {color:#aaaaaa !important;text-decoration:none;}
|
||||||
|
/*Responsive*/
|
||||||
|
@media screen and (max-width: 799px) {
|
||||||
|
table.row {width: 100%!important;max-width: 100%!important;}
|
||||||
|
td.row {width: 100%!important;max-width: 100%!important;}
|
||||||
|
.img-responsive img {width:100%!important;max-width: 100%!important;height: auto!important;margin: auto;}
|
||||||
|
.center-float {float: none!important;margin:auto!important;}
|
||||||
|
.center-text{text-align: center!important;}
|
||||||
|
.container-padding {width: 100%!important;padding-left: 15px!important;padding-right: 15px!important;}
|
||||||
|
.container-padding10 {width: 100%!important;padding-left: 10px!important;padding-right: 10px!important;}
|
||||||
|
.hide-mobile {display: none!important;}
|
||||||
|
.menu-container {text-align: center !important;}
|
||||||
|
.autoheight {height: auto!important;}
|
||||||
|
.m-padding-10 {margin: 10px 0!important;}
|
||||||
|
.m-padding-15 {margin: 15px 0!important;}
|
||||||
|
.m-padding-20 {margin: 20px 0!important;}
|
||||||
|
.m-padding-30 {margin: 30px 0!important;}
|
||||||
|
.m-padding-40 {margin: 40px 0!important;}
|
||||||
|
.m-padding-50 {margin: 50px 0!important;}
|
||||||
|
.m-padding-60 {margin: 60px 0!important;}
|
||||||
|
.m-padding-top10 {margin: 30px 0 0 0!important;}
|
||||||
|
.m-padding-top15 {margin: 15px 0 0 0!important;}
|
||||||
|
.m-padding-top20 {margin: 20px 0 0 0!important;}
|
||||||
|
.m-padding-top30 {margin: 30px 0 0 0!important;}
|
||||||
|
.m-padding-top40 {margin: 40px 0 0 0!important;}
|
||||||
|
.m-padding-top50 {margin: 50px 0 0 0!important;}
|
||||||
|
.m-padding-top60 {margin: 60px 0 0 0!important;}
|
||||||
|
.m-height10 {font-size:10px!important;line-height:10px!important;height:10px!important;}
|
||||||
|
.m-height15 {font-size:15px!important;line-height:15px!important;height:15px!important;}
|
||||||
|
.m-height20 {font-size:20px!important;line-height:20px!important;height:20px!important;}
|
||||||
|
.m-height25 {font-size:25px!important;line-height:25px!important;height:25px!important;}
|
||||||
|
.m-height30 {font-size:30px!important;line-height:30px!important;height:30px!important;}
|
||||||
|
.rwd-on-mobile {display: inline-block!important;padding: 5px;}
|
||||||
|
.center-on-mobile {text-align: center!important;}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; width: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;" bgcolor="#f0f0f0">
|
||||||
|
|
||||||
|
<span class="preheader-text" style="color: transparent; height: 0; max-height: 0; max-width: 0; opacity: 0; overflow: hidden; visibility: hidden; width: 0; display: none; mso-hide: all;"></span>
|
||||||
|
|
||||||
|
<div style="display:none; font-size:0px; line-height:0px; max-height:0px; max-width:0px; opacity:0; overflow:hidden; visibility:hidden; mso-hide:all;"></div>
|
||||||
|
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" width="100%" style="width:100%;max-width:100%;">
|
||||||
|
<tr><!-- Outer Table -->
|
||||||
|
<td align="center" bgcolor="#f0f0f0" data-composer>
|
||||||
|
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" width="100%" style="width:100%;max-width:100%;" >
|
||||||
|
<!-- lotus-header-18-->
|
||||||
|
<tr>
|
||||||
|
<td align="center" bgcolor="#343e9e" class="container-padding">
|
||||||
|
|
||||||
|
<!-- Content -->
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" class="row" width="580" style="width:580px;max-width:580px;">
|
||||||
|
<tr>
|
||||||
|
<td height="40" style="font-size:40px;line-height:40px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td align="center">
|
||||||
|
<!-- Logo & Webview -->
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" width="100%" style="width:100%;max-width:100%;">
|
||||||
|
<tr>
|
||||||
|
<td align="center" class="container-padding">
|
||||||
|
|
||||||
|
<!--[if (gte mso 9)|(IE)]><table border="0" cellpadding="0" cellspacing="0" dir="rtl"><tr><td><![endif]-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--[if (gte mso 9)|(IE)]></td><td><![endif]-->
|
||||||
|
|
||||||
|
<!-- gap -->
|
||||||
|
<table border="0" align="right" cellpadding="0" cellspacing="0" role="presentation" class="row" width="20" style="width:20px;max-width:20px;">
|
||||||
|
<tr>
|
||||||
|
<td height="20" style="font-size:20px;line-height:20px;"> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- gap -->
|
||||||
|
|
||||||
|
<!--[if (gte mso 9)|(IE)]></td><td><![endif]-->
|
||||||
|
|
||||||
|
<!-- column -->
|
||||||
|
<table border="0" align="right" cellpadding="0" cellspacing="0" role="presentation" class="row" width="280" style="width:280px;max-width:280px;">
|
||||||
|
<tr >
|
||||||
|
<td align="left" class="center-text">
|
||||||
|
<a href="{{ url('/') }}"><img style="width:72px;border:0px;display: inline!important;" src="" width="72" border="0" alt=""></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- column -->
|
||||||
|
|
||||||
|
<!--[if (gte mso 9)|(IE)]></td></tr></table><![endif]-->
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Logo & Webview -->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="40" style="font-size:40px;line-height:40px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td align="center" class="center-text">
|
||||||
|
<img style="width:190px;border:0px;display: inline!important;" src="" width="190" border="0" alt="intro">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="40" style="font-size:40px;line-height:40px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="center" style="font-family:'Roboto Slab',Arial,Helvetica,sans-serif;font-size:42px;line-height:52px;font-weight:400;font-style:normal;color:#FFFFFF;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<div >
|
||||||
|
{{ 'Thanks for your payment' }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="10" style="font-size:10px;line-height:10px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="center" style="font-family:'Roboto Slab',Arial,Helvetica,sans-serif;font-size:26px;line-height:36px;font-weight:400;font-style:normal;color:#d7e057;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<div >
|
||||||
|
{{ 'Attached your receipt' }}.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="20" style="font-size:20px;line-height:20px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="center" style="font-family:'Poppins',Arial,Helvetica,sans-serif;font-size:16px;line-height:26px;font-weight:300;font-style:normal;color:#FFFFFF;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<div >
|
||||||
|
{{ 'Thank you paragraph' }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="40" style="font-size:40px;line-height:40px;" > </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Content -->
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" width="100%" style="width:100%;max-width:100%;" >
|
||||||
|
<!-- lotus-arrow-divider -->
|
||||||
|
<tr >
|
||||||
|
<td align="center" bgcolor="#FFFFFF">
|
||||||
|
<img style="width:50px;border:0px;display: inline!important;" src="" width="50" border="0" alt="arrow">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" width="100%" style="width:100%;max-width:100%;" >
|
||||||
|
<!-- lotus-content-18 -->
|
||||||
|
<tr>
|
||||||
|
<td align="center" bgcolor="#FFFFFF" class="container-padding">
|
||||||
|
|
||||||
|
<!-- Content -->
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" class="row" width="580" style="width:580px;max-width:580px;">
|
||||||
|
<tr>
|
||||||
|
<td height="40" style="font-size:40px;line-height:40px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td align="center" bgcolor="#f4f5fa">
|
||||||
|
<!-- Content -->
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" class="row" width="480" style="width:480px;max-width:480px;">
|
||||||
|
<tr>
|
||||||
|
<td height="40" style="font-size:40px;line-height:40px;"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<!--[if (gte mso 9)|(IE)]><table border="0" cellpadding="0" cellspacing="0"><tr><td><![endif]-->
|
||||||
|
<!-- Column -->
|
||||||
|
<table border="0" align="left" cellpadding="0" cellspacing="0" role="presentation" class="row" width="225" style="width:225px;max-width:225px;">
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="left" style="font-family:'Roboto Slab',Arial,Helvetica,sans-serif;font-size:20px;line-height:26px;font-weight:400;font-style:normal;color:#343e9e;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<div >
|
||||||
|
{{ 90000000 }}:
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="10" style="font-size:10px;line-height:10px;"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="left" style="font-family:'Poppins',Arial,Helvetica,sans-serif;font-size:16px;line-height:24px;font-weight:400;font-style:normal;color:#282828;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<div >
|
||||||
|
{{ 90000000}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Column -->
|
||||||
|
<!--[if (gte mso 9)|(IE)]></td><td><![endif]-->
|
||||||
|
<!-- gap -->
|
||||||
|
<table border="0" align="left" cellpadding="0" cellspacing="0" role="presentation" width="30" style="width:30px;max-width:30px;">
|
||||||
|
<tr>
|
||||||
|
<td height="20" style="font-size:20px;line-height:20px;"> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- gap -->
|
||||||
|
<!--[if (gte mso 9)|(IE)]></td><td><![endif]-->
|
||||||
|
<!-- Column -->
|
||||||
|
<table border="0" align="left" cellpadding="0" cellspacing="0" role="presentation" class="row" width="225" style="width:225px;max-width:225px;">
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="left" style="font-family:'Roboto Slab',Arial,Helvetica,sans-serif;font-size:20px;line-height:26px;font-weight:400;font-style:normal;color:#343e9e;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<div >
|
||||||
|
{{ 90000000 }}:
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="10" style="font-size:10px;line-height:10px;"> </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="left" style="font-family:'Poppins',Arial,Helvetica,sans-serif;font-size:16px;line-height:24px;font-weight:400;font-style:normal;color:#282828;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<div >
|
||||||
|
{{ 82323232 }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Column -->
|
||||||
|
<!--[if (gte mso 9)|(IE)]></td></tr></table><![endif]-->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="40" style="font-size:40px;line-height:40px;"> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Content -->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="30" style="font-size:30px;line-height:30px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td align="center">
|
||||||
|
<!-- Paragraphs -->
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0" role="presentation" align="center" class="row" width="480" style="width:480px;max-width:480px;">
|
||||||
|
<tr>
|
||||||
|
<td class="center-text" align="center" style="font-family:'Poppins',Arial,Helvetica,sans-serif;font-size:14px;line-height:26px;font-weight:400;font-style:italic;color:#6e6e6e;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<div >
|
||||||
|
({{ __('If you have any questions or feedback, just') }} <a href="" style="color:#ed6e7a;text-decoration: underline;">{{ __('reply to this email') }}</a>)
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Paragraphs -->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="30" style="font-size:30px;line-height:30px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td align="center">
|
||||||
|
|
||||||
|
<!-- Buttons -->
|
||||||
|
<table border="0" cellspacing="0" cellpadding="0" role="presentation" align="center" class="center-float">
|
||||||
|
<tr>
|
||||||
|
<td align="center" bgcolor="#d6df58" style="border-radius: 6px;">
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
<table border="0" cellpadding="0" cellspacing="0" align="center">
|
||||||
|
<tr>
|
||||||
|
<td align="center" width="50"></td>
|
||||||
|
<td align="center" height="50" style="height:50px;">
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<a href="" target="_blank" style="font-family:'Roboto Slab',Arial,Helvetica,sans-serif;font-size:16px;line-height:19px;font-weight:700;font-style:normal;color:#000000;text-decoration:none;letter-spacing:0px;padding: 20px 50px 20px 50px;display: inline-block;"><span>{{ "download now" }}</span></a>
|
||||||
|
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
</td>
|
||||||
|
<td align="center" width="50"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<![endif]-->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Buttons -->
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="40" style="font-size:40px;line-height:40px;" > </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Content -->
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" width="100%" style="width:100%;max-width:100%;" >
|
||||||
|
<!-- lotus-footer-18 -->
|
||||||
|
<tr>
|
||||||
|
<td align="center" bgcolor="#f0f0f0" class="container-padding">
|
||||||
|
|
||||||
|
<!-- Content -->
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" class="row" width="580" style="width:580px;max-width:580px;">
|
||||||
|
<tr>
|
||||||
|
<td height="50" style="font-size:50px;line-height:50px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td align="center">
|
||||||
|
<!-- Social Icons -->
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" width="100%" style="width:100%;max-width:100%;">
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
|
<tr>
|
||||||
|
<td class="rwd-on-mobile" align="center" valign="middle" height="36" style="height: 36px;">
|
||||||
|
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
|
<tr>
|
||||||
|
<td width="10"></td>
|
||||||
|
<td align="center">
|
||||||
|
<a href=""><img style="width:36px;border:0px;display: inline!important;" src="" width="36" border="0" alt="icon"></a>
|
||||||
|
</td>
|
||||||
|
<td width="10"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td class="rwd-on-mobile" align="center" valign="middle" height="36" style="height: 36px;">
|
||||||
|
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
|
<tr>
|
||||||
|
<td width="10"></td>
|
||||||
|
<td align="center">
|
||||||
|
<a href=""><img style="width:36px;border:0px;display: inline!important;" src="" width="36" border="0" alt="icon"></a>
|
||||||
|
</td>
|
||||||
|
<td width="10"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td class="rwd-on-mobile" align="center" valign="middle" height="36" style="height: 36px;">
|
||||||
|
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
|
<tr>
|
||||||
|
<td width="10"></td>
|
||||||
|
<td align="center">
|
||||||
|
<a href=""><img style="width:36px;border:0px;display: inline!important;" src="" width="36" border="0" alt="icon"></a>
|
||||||
|
</td>
|
||||||
|
<td width="10"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td class="rwd-on-mobile" align="center" valign="middle" height="36" style="height: 36px;">
|
||||||
|
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
|
<tr>
|
||||||
|
<td width="10"></td>
|
||||||
|
<td align="center">
|
||||||
|
<a href=""><img style="width:36px;border:0px;display: inline!important;" src="" width="36" border="0" alt="icon"></a>
|
||||||
|
</td>
|
||||||
|
<td width="10"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Social Icons -->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="30" style="font-size:30px;line-height:30px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="center" style="font-family:'Poppins',Arial,Helvetica,sans-serif;font-size:14px;line-height:24px;font-weight:400;font-style:normal;color:#6e6e6e;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<div >
|
||||||
|
{{ "address" }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="center" style="font-family:'Poppins',Arial,Helvetica,sans-serif;font-size:14px;line-height:24px;font-weight:400;font-style:normal;color:#6e6e6e;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<a href="tel:23332333" style="color:#6e6e6e;"><span>{{ 2333232 }}</span></a>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td class="center-text" align="center" style="font-family:'Poppins',Arial,Helvetica,sans-serif;font-size:14px;line-height:24px;font-weight:400;font-style:normal;color:#6e6e6e;text-decoration:none;letter-spacing:0px;">
|
||||||
|
|
||||||
|
<a href="" style="color:#6e6e6e;"><span>Email</span></a> - <a href="{{ url('/') }}" style="color:#6e6e6e;"><span>{{ url('/') }}</span></a>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="30" style="font-size:30px;line-height:30px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td align="center">
|
||||||
|
|
||||||
|
<!-- Buttons -->
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation" class="row" width="100%" style="width:100%;max-width:100%;">
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<!-- column -->
|
||||||
|
<table border="0" align="center" cellpadding="0" cellspacing="0" role="presentation">
|
||||||
|
<tr >
|
||||||
|
<td align="center">
|
||||||
|
<a href=""><img style="display:block;width:100%;max-width:117px;border:0px;" width="117" src="" border="0" alt="icon"></a>
|
||||||
|
</td>
|
||||||
|
<td width="10" style="width: 10px;"></td>
|
||||||
|
<td align="center">
|
||||||
|
<a href=""><img style="display:block;width:100%;max-width:117px;border:0px;" width="117" src="" border="0" alt="icon"></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- column -->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Buttons -->
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td height="30" style="font-size:30px;line-height:30px;" > </td>
|
||||||
|
</tr>
|
||||||
|
<tr >
|
||||||
|
<td align="center">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td height="50" style="font-size:50px;line-height:50px;" > </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<!-- Content -->
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr><!-- Outer-Table -->
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -59,6 +59,11 @@
|
|||||||
|
|
||||||
<div class="x_content">
|
<div class="x_content">
|
||||||
<div class="row tile_count">
|
<div class="row tile_count">
|
||||||
|
<div class="well">
|
||||||
|
<h3>Click Documents Repository</h3>
|
||||||
|
<p>Access the document repository if you need to perform deep search from individual documents</p>
|
||||||
|
<a href="http://206.225.84.201:8000" class="btn btn-warning btn" target="_blank">Open Document Repository</a>
|
||||||
|
</div>
|
||||||
<h4 class="green">General Documents Overview</h4>
|
<h4 class="green">General Documents Overview</h4>
|
||||||
@foreach($document_arr as $row)
|
@foreach($document_arr as $row)
|
||||||
<div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
|
<div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
|
||||||
|
|||||||
@@ -113,7 +113,7 @@
|
|||||||
|
|
||||||
<!-- footer content -->
|
<!-- footer content -->
|
||||||
<footer>
|
<footer>
|
||||||
<div class="pull-right">
|
<div class="pull-right" style="">
|
||||||
Click Mobile | <a href="https://click-mobile.com">Main Website</a>
|
Click Mobile | <a href="https://click-mobile.com">Main Website</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
|
|||||||
@@ -29,7 +29,9 @@
|
|||||||
<!-- <li> -->
|
<!-- <li> -->
|
||||||
<li><a><i class="fa fa-table"></i>Reports <span class="fa fa-chevron-down"></span></a>
|
<li><a><i class="fa fa-table"></i>Reports <span class="fa fa-chevron-down"></span></a>
|
||||||
<ul class="nav child_menu">
|
<ul class="nav child_menu">
|
||||||
|
<li><a href="{!! url('reports/overview') !!}">Overview</a></li>
|
||||||
<li><a href="{!! url('clientpaymentreports') !!}">Client Payments</a></li>
|
<li><a href="{!! url('clientpaymentreports') !!}">Client Payments</a></li>
|
||||||
|
<li><a href="{!! url('reports/clientsbyservice') !!}">VAS Clients</a></li>
|
||||||
<li><a href="{!! url('mnopaymentreports') !!}">MNO Payments</a></li>
|
<li><a href="{!! url('mnopaymentreports') !!}">MNO Payments</a></li>
|
||||||
<li><a href="{!! url('reports/recentclients') !!}">Recent Clients</a></li>
|
<li><a href="{!! url('reports/recentclients') !!}">Recent Clients</a></li>
|
||||||
<li><a href="{!! url('reports/useractivities') !!}">User Activities</a></li>
|
<li><a href="{!! url('reports/useractivities') !!}">User Activities</a></li>
|
||||||
@@ -54,6 +56,7 @@
|
|||||||
<!-- </li> -->
|
<!-- </li> -->
|
||||||
|
|
||||||
<li><a href="{!! url('clickapps') !!}"><i class="fa fa-code"></i> Click Apps </a></li>
|
<li><a href="{!! url('clickapps') !!}"><i class="fa fa-code"></i> Click Apps </a></li>
|
||||||
|
<li><a href="{!! url('infrastructure/vpn') !!}"><i class="fa fa-shield"></i> VPN Configs </a></li>
|
||||||
<li><a href="{!! url('ussdclients') !!}"><i class="fa fa-money"></i> USSD Clients Payments</a></li>
|
<li><a href="{!! url('ussdclients') !!}"><i class="fa fa-money"></i> USSD Clients Payments</a></li>
|
||||||
<li><a href="{!! url('staffmembers') !!}"><i class="fa fa-users"></i> Team Members</a></li>
|
<li><a href="{!! url('staffmembers') !!}"><i class="fa fa-users"></i> Team Members</a></li>
|
||||||
<!-- </li> -->
|
<!-- </li> -->
|
||||||
@@ -61,6 +64,7 @@
|
|||||||
<li><a><i class="fa fa-sitemap"></i>Infrastructure <span class="fa fa-chevron-down"></span></a>
|
<li><a><i class="fa fa-sitemap"></i>Infrastructure <span class="fa fa-chevron-down"></span></a>
|
||||||
<ul class="nav child_menu">
|
<ul class="nav child_menu">
|
||||||
<li><a href="{!! url('infrastructure/servers') !!}">Overview</a></li>
|
<li><a href="{!! url('infrastructure/servers') !!}">Overview</a></li>
|
||||||
|
<li><a href="{!! url('infrastructure/vpn') !!}">VPN Configs</a></li>
|
||||||
<li><a href="{!! url('infrastructure/server-list') !!}">Server List </a></li>
|
<li><a href="{!! url('infrastructure/server-list') !!}">Server List </a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
//this will be reviewed later to make the staff_member_id global
|
||||||
|
$staff_member_id = session('current_user.id');
|
||||||
|
?>
|
||||||
<div class="top_nav">
|
<div class="top_nav">
|
||||||
<div class="nav_menu">
|
<div class="nav_menu">
|
||||||
<nav>
|
<nav>
|
||||||
@@ -12,7 +16,7 @@
|
|||||||
<span class=" fa fa-angle-down"></span>
|
<span class=" fa fa-angle-down"></span>
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu dropdown-usermenu pull-right">
|
<ul class="dropdown-menu dropdown-usermenu pull-right">
|
||||||
<li><a href="javascript:;"> Profile</a></li>
|
<li><a href="{{ url('staffmembers/profile', $staff_member_id) }}"> Profile</a></li>
|
||||||
<!-- <li>
|
<!-- <li>
|
||||||
<a href="javascript:;">
|
<a href="javascript:;">
|
||||||
<span class="badge bg-red pull-right">50%</span>
|
<span class="badge bg-red pull-right">50%</span>
|
||||||
|
|||||||
146
resources/views/reports/clients-by-service.blade.php
Executable file
@@ -0,0 +1,146 @@
|
|||||||
|
@extends('layouts.master')
|
||||||
|
@section('page_title')
|
||||||
|
@if(isset($page_title))
|
||||||
|
{{ $page_title }}
|
||||||
|
@endif
|
||||||
|
@endsection
|
||||||
|
@section('css')
|
||||||
|
<link href="{!! url('public/assets/vendors/tabulator/css/bootstrap/tabulator_bootstrap.css') !!}" type="text/css" rel="stylesheet">
|
||||||
|
@endsection
|
||||||
|
@section('content')
|
||||||
|
<div class="">
|
||||||
|
<div class="page-title">
|
||||||
|
<div class="title_left">
|
||||||
|
<div class="title_left">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
||||||
|
<li class=""><a href="{!! url('reports/overview') !!}"> Reports</a></li>
|
||||||
|
<li class="active">VAS Clients</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title_right">
|
||||||
|
<div class="row">
|
||||||
|
<form method="GET" action="{!! url('reports/clientsbyservice') !!}">
|
||||||
|
<div class="col-md-5 col-sm-5 col-xs-12 form-group">
|
||||||
|
<div style="margin-top:1px; margin-right:-90px;" class="top_search">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5 col-sm-5 col-xs-12 form-group pull-right top_search" style="margin-top: -2px;">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="keyword" class="form-control" id="keywordField" placeholder="Keyword here...">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button type="submit" class="btn btn-primary" style="color: #fff;" type="button">Go!</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
<div class="row">
|
||||||
|
@include('commons.notifications')
|
||||||
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||||
|
<div class="x_panel">
|
||||||
|
<div class="x_title">
|
||||||
|
<h2> Reports - VAS Clients </h2>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_content">
|
||||||
|
<div>
|
||||||
|
<button id="clinetbyservice-report-download-xlsx" class="btn btn-success btn-sm"><i class="fa fa-file-excel-o"></i> Download XLSX</button>
|
||||||
|
<button id="clinetbyservice-report-download-pdf" class="btn btn-danger btn-sm"><i class="fa fa-file-pdf-o"></i> Download PDF</button>
|
||||||
|
</div>
|
||||||
|
<div id="clientsByServiceTable"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('javascript')
|
||||||
|
<script src="{!! url('public/assets/vendors/tabulator/js/tabulator.js') !!}"></script>
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/vendors/tabulator/js/xlsx.full.min.js') !!}"></script>
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/vendors/tabulator/js/jspdf.min.js') !!}"></script>
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/vendors/tabulator/js/jspdf.plugin.autotable.js') !!}"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
function link(cell, formatterParams){
|
||||||
|
var url = cell.getValue();
|
||||||
|
var rowID = cell.getData().id
|
||||||
|
//return "<a href='"+ base_url + "/clientpaymentreports/"+rowID+"' class='btn btn-link'>"+url+"</a>";
|
||||||
|
//return '<a href="'+ base_url + '"/clients/"'+rowID+'" class="btn btn-link">'+ url +'</a>';
|
||||||
|
}
|
||||||
|
var table = new Tabulator("#clientsByServiceTable", {
|
||||||
|
ajaxURL: "clientsbyservice/all",
|
||||||
|
paginationSize: 30,
|
||||||
|
layout: "fitColumns",
|
||||||
|
pagination: "local",
|
||||||
|
selectable: false,
|
||||||
|
printAsHtml: true,
|
||||||
|
ajaxLoaderLoading: $('#logo_spinner').html(),
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: "Client Name",
|
||||||
|
field: "name",
|
||||||
|
sorter: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Services",
|
||||||
|
field: "services",
|
||||||
|
sorter: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Status",
|
||||||
|
field: "status",
|
||||||
|
sorter: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Account Manager",
|
||||||
|
field: "accountMgr",
|
||||||
|
sorter: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Country",
|
||||||
|
field: "country",
|
||||||
|
sorter: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Date Added",
|
||||||
|
field: "created_at",
|
||||||
|
sorter: "datetime",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rowClick:function(e, row){
|
||||||
|
var userID = row.getData().id;
|
||||||
|
//$('#userEditModal').modal('show');
|
||||||
|
},
|
||||||
|
});
|
||||||
|
document.getElementById("clinetbyservice-report-download-xlsx").addEventListener("click", function(){
|
||||||
|
table.download("xlsx", "clinetbyservice-report.xlsx", {sheetName:"Sheet 1"});
|
||||||
|
});
|
||||||
|
//trigger download of data.pdf file
|
||||||
|
document.getElementById("clinetbyservice-report-download-pdf").addEventListener("click", function(){
|
||||||
|
table.download("pdf", "clinetbyservice-report-list.pdf", {
|
||||||
|
orientation:"portrait", //set page orientation to portrait
|
||||||
|
title:"Click Mobile ERP - List of Clients by Service", //add title to report
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#keywordField').on('keyup', function(){
|
||||||
|
var keyword = $(this).val();
|
||||||
|
table.setData("clientsbyservice/all?keyword=" + keyword);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<div class="title_left">
|
<div class="title_left">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
||||||
<!-- <li class=""><a href=""> Reports</a></li> -->
|
<li class=""><a href="{!! url('reports/overview') !!}"> Reports</a></li>
|
||||||
<li class="active">Client Payments</li>
|
<li class="active">Client Payments</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<div class="title_left">
|
<div class="title_left">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
||||||
<!-- <li class=""><a href=""> Reports</a></li> -->
|
<li class=""><a href="{!! url('reports/overview') !!}"> Reports</a></li>
|
||||||
<li class="active">MNO Payments</li>
|
<li class="active">MNO Payments</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
144
resources/views/reports/overview.blade.php
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
@extends('layouts.master')
|
||||||
|
@section('page_title')
|
||||||
|
@if(isset($page_title))
|
||||||
|
{{ $page_title }}
|
||||||
|
@endif
|
||||||
|
@endsection
|
||||||
|
@section('css')
|
||||||
|
<link href="{!! url('public/assets/vendors/tabulator/css/bootstrap/tabulator_bootstrap.css') !!}" type="text/css" rel="stylesheet">
|
||||||
|
@endsection
|
||||||
|
@section('content')
|
||||||
|
<div class="">
|
||||||
|
<div class="page-title">
|
||||||
|
<div class="title_left">
|
||||||
|
<div class="title_left">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
||||||
|
<li class="active">Reports</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title_right">
|
||||||
|
<div class="row">
|
||||||
|
<form method="GET" action="{!! url('generaldocuments') !!}">
|
||||||
|
<div class="col-md-5 col-sm-5 col-xs-12 form-group">
|
||||||
|
<div style="margin-top:1px; margin-right:-90px;" class="top_search">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5 col-sm-5 col-xs-12 form-group pull-right top_search" style="margin-top: -2px;">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="keyword" class="form-control" id="keywordField" placeholder="Keyword here...">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button type="submit" class="btn btn-primary" style="color: #fff;" type="button">Go!</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="pull-right"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
<div class="row">
|
||||||
|
@include('commons.notifications')
|
||||||
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||||
|
<div class="x_panel">
|
||||||
|
<div class="x_title">
|
||||||
|
<h2> All Reports </h2>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_content">
|
||||||
|
<div class="row tile_count">
|
||||||
|
|
||||||
|
<h4 class="green">General Documents Overview</h4>
|
||||||
|
<div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
|
||||||
|
<span class="count_top"><i class="fa fa-list"></i>
|
||||||
|
<a href="{!! url('reports/recentclients') !!}">Recent Clients</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<div class="count green">
|
||||||
|
<a href="">
|
||||||
|
<img src="{{ url('public/assets/img/folder-icon.png') }}" width="40px"></a>
|
||||||
|
<a href="{!! url('reports/recentclients') !!}"> 400</a>
|
||||||
|
</div>
|
||||||
|
<!-- <span class="count_bottom"><i class="green">4% </i> From last Week</span> -->
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
|
||||||
|
<span class="count_top"><i class="fa fa-list"></i>
|
||||||
|
<a href="{!! url('reports/clientsbyservice') !!}">VAS Clients</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<div class="count green">
|
||||||
|
<a href="">
|
||||||
|
<img src="{{ url('public/assets/img/folder-icon.png') }}" width="40px"></a>
|
||||||
|
<a href="{!! url('reports/clientsbyservice') !!}"> 923</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
|
||||||
|
<span class="count_top"><i class="fa fa-list"></i>
|
||||||
|
<a href="{!! url('clientpaymentreports') !!}">Client Payments</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<div class="count green">
|
||||||
|
<a href="">
|
||||||
|
<img src="{{ url('public/assets/img/folder-icon.png') }}" width="40px"></a>
|
||||||
|
<a href="{!! url('clientpaymentreports') !!}"> 6,123</a>
|
||||||
|
</div>
|
||||||
|
<!-- <span class="count_bottom"><i class="green">4% </i> From last Week</span> -->
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
|
||||||
|
<span class="count_top"><i class="fa fa-list"></i>
|
||||||
|
<a href="{!! url('clientpaymentreports') !!}">MNO Payments</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<div class="count green">
|
||||||
|
<a href="{!! url('mnopaymentreports') !!}">
|
||||||
|
<img src="" width="40px"></a>
|
||||||
|
<a href="{!! url('mnopaymentreports') !!}"> 8,103</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2 col-sm-4 col-xs-6 tile_stats_count">
|
||||||
|
<span class="count_top"><i class="fa fa-list"></i>
|
||||||
|
<a href="{!! url('clientpaymentreports') !!}">User Activities</a>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<div class="count green">
|
||||||
|
<a href="{!! url('mnopaymentreports') !!}">
|
||||||
|
<img src="{{ url('public/assets/img/folder-icon.png') }}" width="40px"></a>
|
||||||
|
<a href="{!! url('reports/useractivities') !!}"> 2,323</a>
|
||||||
|
</div>
|
||||||
|
<!-- <span class="count_bottom"><i class="green">4% </i> From last Week</span> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12" style="margin-top: 50px;">
|
||||||
|
<!-- <a href="{!! url('generaldocuments/create') !!}" class="btn btn-primary btn-lg btn-block"> <i class="fa fa-cloud-upload"></i> Upload New Documents</a> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('javascript')
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
<div class="title_left">
|
<div class="title_left">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
||||||
|
<li class=""><a href="{!! url('reports/overview') !!}"> Reports</a></li>
|
||||||
<li class="active">Recent Clients</li>
|
<li class="active">Recent Clients</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
@@ -52,17 +53,15 @@
|
|||||||
<div class="col-md-12 col-sm-12 col-xs-12">
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||||
<div class="x_panel">
|
<div class="x_panel">
|
||||||
<div class="x_title">
|
<div class="x_title">
|
||||||
<h2> Recent Clients </h2>
|
<h2> Recent Clients (This Week)</h2>
|
||||||
|
|
||||||
<div class="pull-right"></div>
|
<div class="pull-right"></div>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="x_content">
|
<div class="x_content">
|
||||||
<div>
|
<div>
|
||||||
<button id="clients-download-xlsx" class="btn btn-success btn-sm"><i class="fa fa-file-excel-o"></i> Download XLSX</button>
|
<button id="clients-download-xlsx" class="btn btn-success btn-sm"><i class="fa fa-file-excel-o"></i> Download XLSX</button>
|
||||||
<button id="clients-download-pdf" class="btn btn-danger btn-sm"><i class="fa fa-file-pdf-o"></i> Download PDF</button>
|
<button id="clients-download-pdf" class="btn btn-danger btn-sm"><i class="fa fa-file-pdf-o"></i> Download PDF</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="recentClientsTable"></div>
|
<div id="recentClientsTable"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
149
resources/views/reports/user-activities.blade.php
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
@extends('layouts.master')
|
||||||
|
@section('page_title')
|
||||||
|
@if(isset($page_title))
|
||||||
|
{{ $page_title }}
|
||||||
|
@endif
|
||||||
|
@endsection
|
||||||
|
@section('css')
|
||||||
|
<link href="{!! url('public/assets/vendors/tabulator/css/bootstrap/tabulator_bootstrap.css') !!}" type="text/css" rel="stylesheet">
|
||||||
|
@endsection
|
||||||
|
@section('content')
|
||||||
|
<div class="">
|
||||||
|
<div class="page-title">
|
||||||
|
<div class="title_left">
|
||||||
|
<div class="title_left">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
||||||
|
<li class=""><a href="{!! url('reports/overview') !!}"> Reports</a></li>
|
||||||
|
<li class="active">User Activities</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title_right">
|
||||||
|
<div class="row">
|
||||||
|
<form method="GET" action="{!! url('clients') !!}">
|
||||||
|
<div class="col-md-5 col-sm-5 col-xs-12 form-group">
|
||||||
|
<div style="margin-top:1px; margin-right:-90px;" class="top_search">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5 col-sm-5 col-xs-12 form-group pull-right top_search" style="margin-top: -2px;">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="keyword" class="form-control" id="keywordField" placeholder="Keyword here...">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button type="submit" class="btn btn-primary" style="color: #fff;" type="button">Go!</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="pull-right">
|
||||||
|
<!-- <a href="{!! url('clients') !!}" class="btn btn-warning btn-xs"><i class="fa fa-refresh"></i> Reset Filter</a> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
<div class="row">
|
||||||
|
@include('commons.notifications')
|
||||||
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||||
|
<div class="x_panel">
|
||||||
|
<div class="x_title">
|
||||||
|
<h2> User Activities </h2>
|
||||||
|
|
||||||
|
<div class="pull-right"></div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_content">
|
||||||
|
<div>
|
||||||
|
<button id="useractivities-download-xlsx" class="btn btn-success btn-sm"><i class="fa fa-file-excel-o"></i> Download XLSX</button>
|
||||||
|
<button id="useractivities-download-pdf" class="btn btn-danger btn-sm"><i class="fa fa-file-pdf-o"></i> Download PDF</button>
|
||||||
|
</div>
|
||||||
|
<div id="userActivitiesTable"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('javascript')
|
||||||
|
<script src="{!! url('public/assets/vendors/tabulator/js/tabulator.js') !!}"></script>
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/vendors/tabulator/js/xlsx.full.min.js') !!}"></script>
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/vendors/tabulator/js/jspdf.min.js') !!}"></script>
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/vendors/tabulator/js/jspdf.plugin.autotable.js') !!}"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
function link(cell, formatterParams){
|
||||||
|
var url = cell.getValue();
|
||||||
|
var rowID = cell.getData().id
|
||||||
|
return "<a href='"+ base_url + "/useractivities/"+rowID+"' class='btn btn-link'>"+url+"</a>";
|
||||||
|
}
|
||||||
|
var table = new Tabulator("#userActivitiesTable", {
|
||||||
|
ajaxURL: "useractivities/all",
|
||||||
|
paginationSize: 15,
|
||||||
|
paginationSizeSelector: true,
|
||||||
|
paginationSizeSelector:[5, 10, 25, 50, 100, 200],
|
||||||
|
layout: "fitColumns",
|
||||||
|
pagination: "local",
|
||||||
|
selectable: false,
|
||||||
|
printAsHtml: true,
|
||||||
|
ajaxLoaderLoading: $('#logo_spinner').html(),
|
||||||
|
columns: [
|
||||||
|
{
|
||||||
|
title: "User",
|
||||||
|
field: "name",
|
||||||
|
sorter: "string",
|
||||||
|
formatter:link,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Activity",
|
||||||
|
field: "content",
|
||||||
|
sorter: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "IP",
|
||||||
|
field: "ip_address",
|
||||||
|
sorter: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Date Added",
|
||||||
|
field: "created_at",
|
||||||
|
sorter: "date",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
rowClick:function(e, row){
|
||||||
|
var userID = row.getData().id;
|
||||||
|
//$('#userEditModal').modal('show');
|
||||||
|
},
|
||||||
|
});
|
||||||
|
document.getElementById("useractivities-download-xlsx").addEventListener("click", function(){
|
||||||
|
table.download("xlsx", "useractivities-list.xlsx", {sheetName:"Sheet 1"});
|
||||||
|
});
|
||||||
|
//trigger download of data.pdf file
|
||||||
|
document.getElementById("useractivities-download-pdf").addEventListener("click", function(){
|
||||||
|
table.download("pdf", "useractivities-list.pdf", {
|
||||||
|
orientation:"portrait", //set page orientation to portrait
|
||||||
|
title:"Click Mobile - User Activities", //add title to report
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#keywordField').on('keyup', function(){
|
||||||
|
console.log('up');
|
||||||
|
var keyword = $(this).val();
|
||||||
|
table.setData("useractivities/all?keyword=" + keyword);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
@@ -52,9 +52,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="network">Network</label>
|
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="directMno">Direct MNO</label>
|
||||||
|
<div class="col-md-6 col-sm-6 col-xs-12 {{ $errors->has('direct_mno') ? 'has-error' : ''}}">
|
||||||
|
{!! Form::select('direct_mno', $direct_mno_arr ,old('direct_mno'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select one ' , 'id' => 'directMno', 'required' => 'true']) !!}
|
||||||
|
{!! $errors->first('direct_mno', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="networkName">Network</label>
|
||||||
<div class="col-md-6 col-sm-6 col-xs-12 {{ $errors->has('network') ? 'has-error' : ''}}">
|
<div class="col-md-6 col-sm-6 col-xs-12 {{ $errors->has('network') ? 'has-error' : ''}}">
|
||||||
{!! Form::select('network_id', $network_arr, old('network_id'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select Network ' , 'id' => 'network', 'required' => 'true']) !!}
|
{!! Form::select('network_id', $network_arr, old('network_id'), ['class' => 'form-control col-md-7 col-xs-12', 'id' => 'networkName', 'required' => 'true']) !!}
|
||||||
{!! $errors->first('network', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('network', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -85,7 +92,9 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('javascript')
|
@section('javascript')
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/js/senderid.js') !!}"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
$(function(){
|
$(function(){
|
||||||
$('select').select2();
|
$('select').select2();
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="x_content">
|
<div class="x_content">
|
||||||
|
<div>
|
||||||
|
<button id="senderid-download-xlsx" class="btn btn-success btn-sm"><i class="fa fa-file-excel-o"></i> Download XLSX</button>
|
||||||
|
<button id="senderid-download-pdf" class="btn btn-danger btn-sm"><i class="fa fa-file-pdf-o"></i> Download PDF</button>
|
||||||
|
</div>
|
||||||
<div id="senderIdsTable"></div>
|
<div id="senderIdsTable"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -69,6 +73,10 @@
|
|||||||
|
|
||||||
@section('javascript')
|
@section('javascript')
|
||||||
<script src="{!! url('public/assets/vendors/tabulator/js/tabulator.js') !!}"></script>
|
<script src="{!! url('public/assets/vendors/tabulator/js/tabulator.js') !!}"></script>
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/vendors/tabulator/js/xlsx.full.min.js') !!}"></script>
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/vendors/tabulator/js/jspdf.min.js') !!}"></script>
|
||||||
|
<script type="text/javascript" src="{!! url('public/assets/vendors/tabulator/js/jspdf.plugin.autotable.js') !!}"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
function link(cell, formatterParams){
|
function link(cell, formatterParams){
|
||||||
@@ -104,11 +112,6 @@
|
|||||||
sorter: "string",
|
sorter: "string",
|
||||||
formatter:link,
|
formatter:link,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
title: "Country",
|
|
||||||
field: "country",
|
|
||||||
sorter: "string",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
title: "Sender ID",
|
title: "Sender ID",
|
||||||
field: "senderid",
|
field: "senderid",
|
||||||
@@ -121,21 +124,32 @@
|
|||||||
sorter: "string",
|
sorter: "string",
|
||||||
formatter: statusDesign,
|
formatter: statusDesign,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "Direct MNO",
|
||||||
|
field: "direct_mno",
|
||||||
|
sorter: "string",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "Country",
|
||||||
|
field: "country",
|
||||||
|
sorter: "string",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "Network",
|
title: "Network",
|
||||||
field: "networkName",
|
field: "networkName",
|
||||||
sorter: "string",
|
sorter: "string",
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: "Created By",
|
title: "Created By",
|
||||||
field: "createdBy",
|
field: "createdBy",
|
||||||
sorter: "string",
|
sorter: "string",
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "Last Modified By",
|
// title: "Last Modified By",
|
||||||
field: "modifiedBy",
|
// field: "modifiedBy",
|
||||||
sorter: "string",
|
// sorter: "string",
|
||||||
}
|
// }
|
||||||
],
|
],
|
||||||
|
|
||||||
rowClick:function(e, row){
|
rowClick:function(e, row){
|
||||||
@@ -144,7 +158,16 @@
|
|||||||
//$('#userEditModal').modal('show');
|
//$('#userEditModal').modal('show');
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
document.getElementById("senderid-download-xlsx").addEventListener("click", function(){
|
||||||
|
table.download("xlsx", "senderid-list.xlsx", {sheetName:"Sheet 1"});
|
||||||
|
});
|
||||||
|
//trigger download of data.pdf file
|
||||||
|
document.getElementById("senderid-download-pdf").addEventListener("click", function(){
|
||||||
|
table.download("pdf", "client-list.pdf", {
|
||||||
|
orientation:"portrait", //set page orientation to portrait
|
||||||
|
title:"Click Mobile - Sender ID", //add title to report
|
||||||
|
});
|
||||||
|
});
|
||||||
$('#keywordField').on('keyup', function(){
|
$('#keywordField').on('keyup', function(){
|
||||||
console.log('up');
|
console.log('up');
|
||||||
var keyword = $(this).val();
|
var keyword = $(this).val();
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
<link href="{!! url('public/assets/vendors/tabulator/css/bootstrap/tabulator_bootstrap.css') !!}" type="text/css" rel="stylesheet">
|
<link href="{!! url('public/assets/vendors/tabulator/css/bootstrap/tabulator_bootstrap.css') !!}" type="text/css" rel="stylesheet">
|
||||||
@endsection
|
@endsection
|
||||||
@section('content')
|
@section('content')
|
||||||
|
@include('client.partials.edit-shortcodes')
|
||||||
<div class="">
|
<div class="">
|
||||||
<div class="page-title">
|
<div class="page-title">
|
||||||
<div class="title_left">
|
<div class="title_left">
|
||||||
@@ -54,7 +55,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12 form-group pull-left top_search" style="margin-top: -2px;">
|
<div class="col-md-12 form-group pull-left top_search" style="margin-top: -2px;">
|
||||||
<div class="input-group bg-info">
|
<div class="input-group bg-danger">
|
||||||
<input type="text" name="keyword" class="form-control" id="keywordField" placeholder="Keyword here...">
|
<input type="text" name="keyword" class="form-control" id="keywordField" placeholder="Keyword here...">
|
||||||
<span class="input-group-btn">
|
<span class="input-group-btn">
|
||||||
<!-- <button type="submit" class="btn btn-primary" style="color: #fff;" type="button">Go!</button> -->
|
<!-- <button type="submit" class="btn btn-primary" style="color: #fff;" type="button">Go!</button> -->
|
||||||
@@ -89,16 +90,100 @@
|
|||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
function link(cell, formatterParams){
|
$('#shortCodeEditForm').submit(function(evt){
|
||||||
var url = cell.getValue();
|
evt.preventDefault();
|
||||||
var rowID = cell.getData().id
|
var formData = new FormData($(this)[0]);
|
||||||
return "<a href='"+ base_url + "/smsshortcodes/"+rowID+"' class='btn btn-link'>"+url+"</a>";
|
$.ajax({
|
||||||
//return '<a href="'+ base_url + '"/clients/"'+rowID+'" class="btn btn-link">'+ url +'</a>';
|
type: "POST",
|
||||||
|
url: base_url + '/clients/shortcode_update',
|
||||||
|
data : formData,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
async: false,
|
||||||
|
success: function (data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Short Code Details successfully updated',
|
||||||
|
});
|
||||||
|
setTimeout(function(){
|
||||||
|
location.reload();
|
||||||
|
}, 8000);
|
||||||
|
}
|
||||||
|
else if (data.code > 1) {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: data.msg,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Your request could not be handled. Try again !',
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('click', '.linkButton', function(){
|
||||||
|
var theVal = $(this).siblings('.hiddenInput').val();
|
||||||
|
console.log('heere at the wall' + theVal );
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: base_url + '/clients/get_shortcode/' + theVal,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
async: false,
|
||||||
|
success: function (data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
console.log(data);
|
||||||
|
$('#shortCodeIDEdit').val(theVal);
|
||||||
|
$('#nameEdit').val(data.result.name);
|
||||||
|
$('#shortCodeClientIdEdit').val(data.result.client_id);
|
||||||
|
$('#shortCodeTypeEdit').val(data.result.code_type);
|
||||||
|
$('#shortCodeEdit').val(data.result.shortcode);
|
||||||
|
$('#tollFreeEdit').val(data.result.toll_free).change();
|
||||||
|
$('#monthlyFeeEdit').val(data.result.monthly_fee);
|
||||||
|
$('#launchDateEdit').val(data.result.launch_date);
|
||||||
|
$('#expiryDateEdit').val(data.result.expiry_date);
|
||||||
|
$('#codeStatusEdit').val(data.result.status).change();
|
||||||
|
$('#network').val(data.result.network).change();
|
||||||
|
$('#remarksEdit').val(data.result.remarks);
|
||||||
|
$('#shortCodeEditModal').modal('show');
|
||||||
|
}
|
||||||
|
else if (data.code > 1) {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: data.msg,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Your request could not be handled. Try again !',
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
function getShortCodeDetails(id){
|
||||||
|
alert('heere at the wall from that side ' + id);
|
||||||
}
|
}
|
||||||
function link(cell, formatterParams){
|
function link(cell, formatterParams){
|
||||||
var url = cell.getValue();
|
var url = cell.getValue();
|
||||||
var rowID = cell.getData().id
|
var rowID = cell.getData().id
|
||||||
return "<a href='"+ base_url + "/smsshortcodes/"+rowID+"/edit' class='btn btn-link'>"+url+"</a>";
|
//use rowID to fetch details from DB and populate form on the modal
|
||||||
|
// return "<a href='"+ base_url + "/smsshortcodes/"+rowID+"/edit' class='btn btn-link' >"+url+"</a>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//return "<input type='button' class='btn btn-link linkButton' value='" + url + "' name='" + url + "'/>";
|
||||||
|
return "<input type='hidden' class='hiddenInput' value='" + rowID + "' name='" + url + "'/><button type='button' class='btn btn-link linkButton' >"+url+"</button>";
|
||||||
|
// return "<a href='' class='btn btn-link'>"+url+"</a>";
|
||||||
}
|
}
|
||||||
function cellDesign (cell, formatterParams){
|
function cellDesign (cell, formatterParams){
|
||||||
var value = cell.getValue();
|
var value = cell.getValue();
|
||||||
@@ -122,12 +207,12 @@
|
|||||||
printAsHtml: true,
|
printAsHtml: true,
|
||||||
ajaxLoaderLoading: $('#logo_spinner').html(),
|
ajaxLoaderLoading: $('#logo_spinner').html(),
|
||||||
columns: [
|
columns: [
|
||||||
{
|
// {
|
||||||
title: "Friendly Name",
|
// title: "Friendly Name",
|
||||||
field: "name",
|
// field: "name",
|
||||||
sorter: "string",
|
// sorter: "string",
|
||||||
formatter:link,
|
// formatter:link,
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: "Short Code",
|
title: "Short Code",
|
||||||
field: "shortcode",
|
field: "shortcode",
|
||||||
@@ -141,6 +226,10 @@
|
|||||||
field:"clientName",
|
field:"clientName",
|
||||||
sorter:"string",
|
sorter:"string",
|
||||||
},
|
},
|
||||||
|
{ title:"Monthly Fee",
|
||||||
|
field:"monthly_fee",
|
||||||
|
sorter:"string",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "Status",
|
title: "Status",
|
||||||
field: "status",
|
field: "status",
|
||||||
@@ -167,10 +256,21 @@
|
|||||||
// table.download("xlsx", "client-list.xlsx", {sheetName:"Sheet 1"});
|
// table.download("xlsx", "client-list.xlsx", {sheetName:"Sheet 1"});
|
||||||
// });
|
// });
|
||||||
|
|
||||||
rowClick:function(e, row){
|
//rowClick:function(e, row){
|
||||||
var userID = row.getData().id;
|
//var shortCodeID = row.getData().id;
|
||||||
//$('#userEditModal').modal('show');
|
//alert("heere at the wall, ID is " + shortCodeID );
|
||||||
},
|
//getShortCodeDetails(shortCodeID);
|
||||||
|
// $('#userEditModal').modal('show');
|
||||||
|
//},
|
||||||
|
// cellClick:function(e, cell){
|
||||||
|
//e - the click event object
|
||||||
|
//cell - cell component
|
||||||
|
// var theHead = cell.getCell();
|
||||||
|
// var shortCodeId = cell.getData();
|
||||||
|
// console.log(cell);
|
||||||
|
// console.log(shortCodeId.id);
|
||||||
|
// console.log(theHead);
|
||||||
|
// },
|
||||||
});
|
});
|
||||||
document.getElementById("smscodes-download-xlsx").addEventListener("click", function(){
|
document.getElementById("smscodes-download-xlsx").addEventListener("click", function(){
|
||||||
table.download("xlsx", "sms-shortcode-list.xlsx", {sheetName:"Sheet 1"});
|
table.download("xlsx", "sms-shortcode-list.xlsx", {sheetName:"Sheet 1"});
|
||||||
@@ -184,7 +284,6 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#keywordField').on('keyup', function(){
|
$('#keywordField').on('keyup', function(){
|
||||||
console.log('up');
|
|
||||||
var keyword = $(this).val();
|
var keyword = $(this).val();
|
||||||
table.setData("smsshortcodes/all?keyword=" + keyword + "&code_type=sms");
|
table.setData("smsshortcodes/all?keyword=" + keyword + "&code_type=sms");
|
||||||
|
|
||||||
|
|||||||
117
resources/views/staff_members/index-two.blade.php
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
@extends('layouts.master')
|
||||||
|
@section('page_title')
|
||||||
|
@if(isset($page_title))
|
||||||
|
{{ $page_title }}
|
||||||
|
@endif
|
||||||
|
@endsection
|
||||||
|
@section('css')
|
||||||
|
<link href="{!! url('public/assets/vendors/tabulator/css/bootstrap/tabulator_bootstrap.css') !!}" type="text/css" rel="stylesheet">
|
||||||
|
@endsection
|
||||||
|
@section('content')
|
||||||
|
<div class="">
|
||||||
|
<div class="page-title">
|
||||||
|
<div class="title_left">
|
||||||
|
<div class="title_left">
|
||||||
|
<ol class="breadcrumb">
|
||||||
|
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
||||||
|
<li class="active">Team Members</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title_right">
|
||||||
|
<div class="row">
|
||||||
|
<form method="GET" action="{!! url('staffmembers') !!}">
|
||||||
|
<div class="col-md-5 col-sm-5 col-xs-12 form-group">
|
||||||
|
<div style="margin-top:1px; margin-right:-90px;" class="top_search">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-5 col-sm-5 col-xs-12 form-group pull-right top_search" style="margin-top: -2px;">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" name="keyword" class="form-control" id="keywordField" placeholder="Keyword here...">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button type="submit" class="btn btn-primary" style="color: #fff;" type="button">Go!</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="pull-right"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
<div class="row">
|
||||||
|
@include('commons.notifications')
|
||||||
|
<div class="col-md-12 col-sm-12 col-xs-12">
|
||||||
|
<div class="x_panel">
|
||||||
|
<div class="x_title">
|
||||||
|
<h2> Team Members </h2>
|
||||||
|
<div class="pull-right">
|
||||||
|
<a class="btn btn-primary btn-sm" href="{!! url('staffmembers/create') !!}"><i class="fa fa-plus-circle"></i> New Staff Member</a>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
<div class="x_content">
|
||||||
|
@foreach($staff_members as $row)
|
||||||
|
<div class="col-md-4 col-sm-4 col-xs-12 profile_details">
|
||||||
|
<div class="well profile_view">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<h4 class="brief"><i>{{ $row->designation }}</i></h4>
|
||||||
|
<div class="left col-xs-7">
|
||||||
|
<h2>{{ $row->name }}</h2>
|
||||||
|
<p><strong>Country: </strong> {{ $row->location_country }} </p>
|
||||||
|
<ul class="list-unstyled">
|
||||||
|
<li><i class="fa fa-envelope"></i> Email: {{ $row->email }} </li>
|
||||||
|
<li><i class="fa fa-phone"></i> Phone #: {{ $row->phone or 'N/A' }} </li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="right col-xs-5 text-center">
|
||||||
|
<img src="{{ url('public/staff_members/profile_pics/profile.jpg')}}" alt="" class="img-circle img-responsive" width="50">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 bottom text-center">
|
||||||
|
<!-- <div class="col-xs-12 col-sm-6 emphasis">
|
||||||
|
<p class="ratings">
|
||||||
|
<a>4.0</a>
|
||||||
|
<a href="#"><span class="fa fa-star"></span></a>
|
||||||
|
<a href="#"><span class="fa fa-star"></span></a>
|
||||||
|
<a href="#"><span class="fa fa-star"></span></a>
|
||||||
|
<a href="#"><span class="fa fa-star"></span></a>
|
||||||
|
<a href="#"><span class="fa fa-star-o"></span></a>
|
||||||
|
</p>
|
||||||
|
</div> -->
|
||||||
|
<div class="col-xs-12 col-sm-6 emphasis">
|
||||||
|
<!-- <button type="button" class="btn btn-success btn-xs"> <i class="fa fa-user">
|
||||||
|
</i> <i class="fa fa-comments-o"></i>
|
||||||
|
</button> -->
|
||||||
|
<a class="btn btn-primary btn-xs" href="{{ url('staffmembers/profile', $row->id) }}">
|
||||||
|
<i class="fa fa-user"> </i> View Profile
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('javascript')
|
||||||
|
<script src="{!! url('public/assets/vendors/tabulator/js/tabulator.js') !!}"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||