clients profile,slack, new email, bug fixes
This commit is contained in:
21
accounts.md
21
accounts.md
@@ -1,5 +1,12 @@
|
|||||||
# URL
|
# URL
|
||||||
- http://206.225.84.201/general/team_tracker
|
- http://206.225.84.201/general/team_tracker
|
||||||
|
|
||||||
|
# Email
|
||||||
|
- mail: erp@click-mobile.com
|
||||||
|
- password: Click@Erp2023
|
||||||
|
|
||||||
|
app password: sqczcsrtcehpywjv
|
||||||
|
|
||||||
## Accounts
|
## Accounts
|
||||||
- charity
|
- charity
|
||||||
- char5009
|
- char5009
|
||||||
@@ -29,4 +36,16 @@
|
|||||||
- flowers500
|
- flowers500
|
||||||
|
|
||||||
- effie@click-mobile.com
|
- effie@click-mobile.com
|
||||||
- fridays@800
|
- fridays@800
|
||||||
|
|
||||||
|
- mansa@click-mobile.com
|
||||||
|
- evanmyboy
|
||||||
|
|
||||||
|
- william@click-mobile.com
|
||||||
|
- zimNation900
|
||||||
|
|
||||||
|
- priscilla@click-mobile.com
|
||||||
|
- fairfields500
|
||||||
|
|
||||||
|
- badjinga@click-mobile.com
|
||||||
|
- tripple400
|
||||||
@@ -62,6 +62,13 @@ class ClickAppsController extends Controller
|
|||||||
'clickapp' => $clickapp
|
'clickapp' => $clickapp
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
public function getShortCodes(){
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'Click Short Codes'
|
||||||
|
];
|
||||||
|
dd('This feature is not yet ready');
|
||||||
|
return view('click_apps.short-codes', $data);
|
||||||
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id)
|
public function update(Request $request, $id)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,12 +23,13 @@ class ClientsController extends Controller
|
|||||||
|
|
||||||
$client_arr = new Models\Client;
|
$client_arr = new Models\Client;
|
||||||
$client_arr = $client_arr->with('auth_user_info','country_info', 'created_by_info')->orderBy('name', 'ASC')->paginate(10);
|
$client_arr = $client_arr->with('auth_user_info','country_info', 'created_by_info')->orderBy('name', 'ASC')->paginate(10);
|
||||||
|
//dd($client_arr);
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Clients',
|
'page_title' => 'Clients',
|
||||||
'client_arr' => $client_arr,
|
'client_arr' => $client_arr,
|
||||||
'current_user' => session('current_user')
|
'current_user' => session('current_user')
|
||||||
];
|
];
|
||||||
|
// dd($data);
|
||||||
return view('client.index-tabulator', $data);
|
return view('client.index-tabulator', $data);
|
||||||
}
|
}
|
||||||
public function indexBak(){
|
public function indexBak(){
|
||||||
@@ -55,6 +56,7 @@ class ClientsController extends Controller
|
|||||||
->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')
|
||||||
->select('clients.id', 'clients.name', 'clients.status', 'clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy')
|
->select('clients.id', 'clients.name', 'clients.status', 'clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy')
|
||||||
|
->orderBy('name', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
|
|
||||||
if($request->has('keyword')){ // != ''
|
if($request->has('keyword')){ // != ''
|
||||||
@@ -64,6 +66,7 @@ class ClientsController extends Controller
|
|||||||
->join('auth_users AS aumodify', 'aumodify.id', '=', 'clients.last_modified_by')
|
->join('auth_users AS aumodify', 'aumodify.id', '=', 'clients.last_modified_by')
|
||||||
->select('clients.id','clients.name', 'clients.status', 'clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy')
|
->select('clients.id','clients.name', 'clients.status', 'clients.country', 'aumngr.name As accountMgr', 'aumodify.name AS modifiedBy')
|
||||||
->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%'")
|
->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%'")
|
||||||
|
->orderBy('name', 'ASC')
|
||||||
->paginate(15);
|
->paginate(15);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,13 +143,15 @@ class ClientsController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
$countries = Models\Country::pluck('en_short_name','alpha_2_code');
|
$countries = Models\Country::pluck('en_short_name','en_short_name');
|
||||||
$service_type = Models\Service::pluck('name', 'id');
|
$service_type = Models\Service::pluck('name', 'name');
|
||||||
$payment_type = Models\PaymentType::pluck('name', 'id');
|
$payment_type = Models\PaymentType::pluck('name', 'id');
|
||||||
$auth_users = Models\Account::pluck('name', 'id');
|
$auth_users = Models\Account::pluck('name', 'id');
|
||||||
$status = ['Live' => 'Live', 'inactive' => 'Inactive', 'Prospective' => 'Prospective'];
|
$status = ['Live' => 'Live', 'inactive' => 'Inactive', 'Prospective' => 'Prospective'];
|
||||||
$currency = Models\Currency::pluck('name','name');
|
$currency = Models\Currency::pluck('name','name');
|
||||||
|
$company_types = ['Aggregator/Supplier' => 'Aggregator/Supplier', 'Enterprise' => 'Enterprise', 'Hybrid' => 'Hybrid'];
|
||||||
|
$industries = Models\Industry::orderBy('name', 'ASC')->pluck('name', 'name');
|
||||||
|
// $industries = Models\Industry::pluck('name', 'name')->orderBy('name', 'ASC');
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Create Client',
|
'page_title' => 'Create Client',
|
||||||
'countries' => $countries,
|
'countries' => $countries,
|
||||||
@@ -154,7 +159,9 @@ class ClientsController extends Controller
|
|||||||
'status' => $status,
|
'status' => $status,
|
||||||
'currency' => $currency,
|
'currency' => $currency,
|
||||||
'auth_users' => $auth_users,
|
'auth_users' => $auth_users,
|
||||||
'payment_type' => $payment_type
|
'payment_type' => $payment_type,
|
||||||
|
'company_types' => $company_types,
|
||||||
|
'industries' => $industries
|
||||||
];
|
];
|
||||||
|
|
||||||
return view('client.create', $data);
|
return view('client.create', $data);
|
||||||
@@ -177,12 +184,10 @@ class ClientsController extends Controller
|
|||||||
'status' => 'required',
|
'status' => 'required',
|
||||||
'payment_mode' => 'required',
|
'payment_mode' => 'required',
|
||||||
'currency' => 'required',
|
'currency' => 'required',
|
||||||
|
'company_type' => 'required',
|
||||||
|
'industry' => 'required',
|
||||||
'auth_user_id' => 'required', // account manager
|
'auth_user_id' => 'required', // account manager
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
// dd($request->all());
|
|
||||||
//'email' => 'unique:users,email_address'
|
|
||||||
$client_arr = [
|
$client_arr = [
|
||||||
'name' => $request->name,
|
'name' => $request->name,
|
||||||
'email' => $request->email,
|
'email' => $request->email,
|
||||||
@@ -194,15 +199,24 @@ class ClientsController extends Controller
|
|||||||
'created_by' => session('current_user.id'),
|
'created_by' => session('current_user.id'),
|
||||||
'last_modified_by' => session('current_user.id')
|
'last_modified_by' => session('current_user.id')
|
||||||
];
|
];
|
||||||
if ($request->notes) {
|
if ($request->has('notes')) {
|
||||||
$client_arr['notes'] = $request->notes;
|
$client_arr['notes'] = $request->notes;
|
||||||
}
|
}
|
||||||
if ($request->skype_name) {
|
if ($request->has('services')) {
|
||||||
|
$client_arr['services'] = json_encode($request->services);
|
||||||
|
}
|
||||||
|
if ($request->has('phone')) {
|
||||||
|
$client_arr['phone'] = $request->phone;
|
||||||
|
}
|
||||||
|
if ($request->has('skype_name')) {
|
||||||
$client_arr['skype_name'] = $request->skype_name;
|
$client_arr['skype_name'] = $request->skype_name;
|
||||||
}
|
}
|
||||||
if ($request->linkedin_name) {
|
if ($request->has('linkedin_name')) {
|
||||||
$client_arr['linkedin_name'] = $request->linkedin_name;
|
$client_arr['linkedin_name'] = $request->linkedin_name;
|
||||||
}
|
}
|
||||||
|
if ($request->has('contact_person')) {
|
||||||
|
$client_arr['contact_person'] = $request->contact_person;
|
||||||
|
}
|
||||||
|
|
||||||
$result = Models\Client::create($client_arr);
|
$result = Models\Client::create($client_arr);
|
||||||
|
|
||||||
@@ -216,7 +230,8 @@ class ClientsController extends Controller
|
|||||||
//TODO send an email to jim/priscilla about new USSD client,
|
//TODO send an email to jim/priscilla about new USSD client,
|
||||||
#dispatch(new SendNewUssdClientEmail($result));
|
#dispatch(new SendNewUssdClientEmail($result));
|
||||||
}
|
}
|
||||||
$retval = $this->store_services($request->services, $result->id);
|
#save services this has been moved to the main client table
|
||||||
|
//$retval = $this->store_services($request->services, $result->id);
|
||||||
|
|
||||||
Session::flash('success_message', 'Client successfully added');
|
Session::flash('success_message', 'Client successfully added');
|
||||||
return redirect(url('clients'));
|
return redirect(url('clients'));
|
||||||
@@ -247,7 +262,7 @@ class ClientsController extends Controller
|
|||||||
|
|
||||||
$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));
|
||||||
|
|
||||||
if ($result) {
|
if ($result) {
|
||||||
$data = ['code' => 1, 'msg' => 'Notes successfully added'];
|
$data = ['code' => 1, 'msg' => 'Notes successfully added'];
|
||||||
@@ -257,6 +272,129 @@ class ClientsController extends Controller
|
|||||||
}
|
}
|
||||||
return response()->json($data, 200);
|
return response()->json($data, 200);
|
||||||
}
|
}
|
||||||
|
public function financeStore(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'client_id' => 'required',
|
||||||
|
'services' => 'required',
|
||||||
|
'invoice_number' => 'required',
|
||||||
|
'invoice_amount' => 'required',
|
||||||
|
'invoice_date' => 'required',
|
||||||
|
'invoice_status' => 'required'
|
||||||
|
]);
|
||||||
|
$auth_user = session('current_user');
|
||||||
|
|
||||||
|
// dd($request->all());
|
||||||
|
//'email' => 'unique:users,email_address'
|
||||||
|
$finance_arr = [
|
||||||
|
'invoice_number' => $request->invoice_number,
|
||||||
|
'invoice_amount' => $request->invoice_amount,
|
||||||
|
'invoice_date' => $request->invoice_date,
|
||||||
|
'invoice_status' => $request->invoice_status,
|
||||||
|
'services' => implode(',', $request->services),
|
||||||
|
'user_id' => $auth_user['id'],
|
||||||
|
'client_id' => $request->client_id
|
||||||
|
];
|
||||||
|
if ($request->has('remarks')) {
|
||||||
|
$finance_arr['remarks'] = $request->remarks;
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = Models\ClientPayment::create($finance_arr);
|
||||||
|
|
||||||
|
#$payments = Models\ClientPayment::with('client_info', 'created_by_info')->find($result->id);
|
||||||
|
if ($result) {
|
||||||
|
$data = ['code' => 1, 'msg' => 'Payment Details successfully added'];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||||
|
}
|
||||||
|
return response()->json($data, 200);
|
||||||
|
}
|
||||||
|
public function shortcodeStore(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'client_id' => 'required',
|
||||||
|
'network' => 'required',
|
||||||
|
'shortcode' => 'required',
|
||||||
|
'code_type' => 'required',
|
||||||
|
'toll_free' => 'required',
|
||||||
|
'status' => 'required',
|
||||||
|
'remarks' => 'required',
|
||||||
|
'launch_date' => 'required'
|
||||||
|
]);
|
||||||
|
$auth_user = session('current_user');
|
||||||
|
|
||||||
|
$shortcode_arr = [
|
||||||
|
'name' => $request->name,
|
||||||
|
'client_id' => $request->client_id,
|
||||||
|
'network' => $request->network,
|
||||||
|
'shortcode' => $request->shortcode,
|
||||||
|
'code_type' => $request->code_type,
|
||||||
|
'toll_free' => $request->toll_free,
|
||||||
|
'last_updaed_by' => $auth_user['id'],
|
||||||
|
'launch_date' => $request->launch_date,
|
||||||
|
'status' => $request->status
|
||||||
|
];
|
||||||
|
if ($request->has('remarks')) {
|
||||||
|
$shortcode_arr['remarks'] = $request->remarks;
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = Models\ClientShortCode::create($shortcode_arr);
|
||||||
|
|
||||||
|
if ($result) {
|
||||||
|
$data = ['code' => 1, 'msg' => 'ShortCode Details successfully added'];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||||
|
}
|
||||||
|
return response()->json($data, 200);
|
||||||
|
}
|
||||||
|
public function financeUpdate(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'payment_id' => 'required',
|
||||||
|
'client_id' => 'required',
|
||||||
|
'services' => 'required',
|
||||||
|
'invoice_number' => 'required',
|
||||||
|
'invoice_amount' => 'required',
|
||||||
|
'invoice_date' => 'required',
|
||||||
|
'invoice_status' => 'required'
|
||||||
|
]);
|
||||||
|
$auth_user = session('current_user');
|
||||||
|
$payment = Models\ClientPayment::findOrFail($request->payment_id);
|
||||||
|
|
||||||
|
$payment->invoice_number = $request->invoice_number;
|
||||||
|
$payment->invoice_amount = $request->invoice_amount;
|
||||||
|
$payment->invoice_date = $request->invoice_date;
|
||||||
|
$payment->invoice_status = $request->invoice_status;
|
||||||
|
$payment->services = implode(',', $request->services);
|
||||||
|
$result = $payment->save();
|
||||||
|
|
||||||
|
//'email' => 'unique:users,email_address'
|
||||||
|
/*
|
||||||
|
$finance_arr = [
|
||||||
|
'invoice_number' => $request->invoice_number,
|
||||||
|
'invoice_amount' => $request->invoice_amount,
|
||||||
|
'invoice_date' => $request->invoice_date,
|
||||||
|
'invoice_status' => $request->invoice_status,
|
||||||
|
'services' => implode(',', $request->services),
|
||||||
|
'user_id' => $auth_user['id'],
|
||||||
|
'client_id' => $request->client_id
|
||||||
|
];
|
||||||
|
if ($request->has('remarks')) {
|
||||||
|
$finance_arr['remarks'] = $request->remarks;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#$payments = Models\ClientPayment::with('client_info', 'created_by_info')->find($result->id);
|
||||||
|
if ($result) {
|
||||||
|
$data = ['code' => 1, 'msg' => 'Payment Details successfully updated'];
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$data = ['code' => 3, 'msg' => 'Your request could not be handled at this time'];
|
||||||
|
}
|
||||||
|
return response()->json($data, 200);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Display the specified resource.
|
* Display the specified resource.
|
||||||
@@ -266,15 +404,21 @@ class ClientsController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
|
//with('short_code_info')->
|
||||||
$showclient = Models\Client::with('service_info', 'country_info', 'auth_user_info')->find($id);
|
$showclient = Models\Client::with('service_info', 'country_info', 'auth_user_info', 'short_code_info')->find($id);
|
||||||
$service_type = Models\Service::pluck('name', 'id');
|
$service_type = Models\Service::pluck('name', 'id');
|
||||||
$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();
|
||||||
|
|
||||||
//->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('id', 'DESC')->get()->take(20);
|
||||||
|
$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();
|
||||||
|
$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();
|
||||||
|
$countries = Models\Country::pluck('en_short_name','en_short_name');
|
||||||
|
$networks = Models\NetworkOps::pluck('name', 'name');
|
||||||
|
|
||||||
|
|
||||||
if ($showclient->status == 'Live') {
|
if ($showclient->status == 'Live') {
|
||||||
$status_bg = "info";
|
$status_bg = "info";
|
||||||
}
|
}
|
||||||
@@ -284,8 +428,48 @@ class ClientsController extends Controller
|
|||||||
else{
|
else{
|
||||||
$status_bg = "danger";
|
$status_bg = "danger";
|
||||||
}
|
}
|
||||||
|
|
||||||
//dd($showclient->sender_ids);
|
$renewal_due = 'N/A';
|
||||||
|
$highlight_colour = 'none';
|
||||||
|
//review this later
|
||||||
|
if ($showclient->contract_validity == null || $showclient->contract_validity == '') {
|
||||||
|
$renewal_due = "N/A";
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
|
||||||
|
|
||||||
|
$current_date = date_create(date('Y-m-d'));
|
||||||
|
|
||||||
|
$expiry_date = date_create($showclient->contract_validity);
|
||||||
|
|
||||||
|
$diff = date_diff($current_date, $expiry_date);
|
||||||
|
|
||||||
|
$polar = $diff->format("%R");
|
||||||
|
|
||||||
|
$months = $diff->format("%m");
|
||||||
|
|
||||||
|
$days = $diff->format("%a");
|
||||||
|
if ($days < 31) {
|
||||||
|
if ($polar == '-') {
|
||||||
|
$highlight_colour = 'warning';
|
||||||
|
$renewal_due = "Contract expired $days days(s) ago";
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$renewal_due = "In $days day(s)" ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
|
||||||
|
if ($polar == '-') {
|
||||||
|
$highlight_colour = 'warning';
|
||||||
|
$renewal_due = "Contract expired $months month(s) ago";
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$renewal_due = "In $months months";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Client Profile',
|
'page_title' => 'Client Profile',
|
||||||
'showclient' => $showclient,
|
'showclient' => $showclient,
|
||||||
@@ -293,9 +477,16 @@ 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,
|
||||||
'status_bg' => $status_bg
|
'status_bg' => $status_bg,
|
||||||
|
'voice_codes' => $voice_codes,
|
||||||
|
'sms_codes' => $sms_codes,
|
||||||
|
'ussd_codes' => $ussd_codes,
|
||||||
|
'countries' => $countries,
|
||||||
|
'networks' => $networks,
|
||||||
|
'renewal_due' => $renewal_due,
|
||||||
|
'recent_payments' => $recent_payments,
|
||||||
|
'highlight_colour' => $highlight_colour
|
||||||
];
|
];
|
||||||
|
|
||||||
return view('client.show', $data);
|
return view('client.show', $data);
|
||||||
}
|
}
|
||||||
public function showservices($id)
|
public function showservices($id)
|
||||||
@@ -311,14 +502,47 @@ class ClientsController extends Controller
|
|||||||
}
|
}
|
||||||
public function editservice($id)
|
public function editservice($id)
|
||||||
{
|
{
|
||||||
$service = Models\ClientCategory::find($id);
|
$payment = Models\ClientCategory::find($id);
|
||||||
dd($service);
|
|
||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Show Services',
|
'page_title' => 'Show Services',
|
||||||
'service' => $service
|
'service' => $service
|
||||||
];
|
];
|
||||||
return view('client.service-edit', $data);
|
return view('client.service-edit', $data);
|
||||||
}
|
}
|
||||||
|
public function getPayment($id)
|
||||||
|
{
|
||||||
|
$payment = Models\ClientPayment::find($id);
|
||||||
|
if ($payment) {
|
||||||
|
$services_arr = explode(',', $payment->services);
|
||||||
|
|
||||||
|
return response()->json([ 'code' => 1, 'result' => $payment, 'services_arr' => $services_arr]);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return response()->json([ 'code' => 3, 'msg' => 'Request could not be handled at this time']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public function getShortCodes(){
|
||||||
|
//$auth_users = Models\SystemUser::pluck('name', 'id');
|
||||||
|
|
||||||
|
$voice_codes = Models\ClientShortCode::with('client_info', 'client_info', 'update_info')->where('code_type', 'voice')->get();
|
||||||
|
$sms_codes = Models\ClientShortCode::with('client_info','client_info', 'update_info')->where('code_type', 'sms')->get();
|
||||||
|
$ussd_codes = Models\ClientShortCode::with('client_info', 'client_info', 'update_info')->where('code_type', 'ussd')->get();
|
||||||
|
//dd($voice_codes);
|
||||||
|
|
||||||
|
// dump($sms_codes[0]->last_updaed_by);
|
||||||
|
// dd($auth_users[$sms_codes[0]->last_updaed_by]);
|
||||||
|
|
||||||
|
$codes = Models\ClientShortCode::with('update_info')->get();
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'page_title' => 'Client Short Codes',
|
||||||
|
'voice_codes' => $voice_codes,
|
||||||
|
'sms_codes' => $sms_codes,
|
||||||
|
'ussd_codes' => $ussd_codes,
|
||||||
|
];
|
||||||
|
return view('client.shortcodes', $data);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Show the form for editing the specified resource.
|
* Show the form for editing the specified resource.
|
||||||
*
|
*
|
||||||
@@ -328,17 +552,75 @@ class ClientsController extends Controller
|
|||||||
public function edit($id)
|
public function edit($id)
|
||||||
{
|
{
|
||||||
$client = Models\Client::find($id);
|
$client = Models\Client::find($id);
|
||||||
|
|
||||||
$service_type = Models\Service::pluck('name', 'id');
|
$service_type = Models\Service::pluck('name', 'name');
|
||||||
$countries = Models\Country::pluck('en_short_name','en_short_name');
|
$countries = Models\Country::pluck('en_short_name','en_short_name');
|
||||||
|
|
||||||
$payment_type = ['Prepaid' => 'Prepaid', 'Postpaid' => 'Postpaid']; // Models\PaymentType::pluck('name', 'id')->toArray();
|
$payment_type = ['Prepaid' => 'Prepaid', 'Postpaid' => 'Postpaid']; // Models\PaymentType::pluck('name', 'id')->toArray();
|
||||||
$status = ['Live' => 'Live', 'inactive' => 'Inactive', 'Prospective' => 'Prospective'];
|
$status = ['Live' => 'Live', 'inactive' => 'Inactive', 'Prospective' => 'Prospective'];
|
||||||
$currency = Models\Currency::pluck('name', 'name'); //
|
$currency = Models\Currency::pluck('name', 'name'); //
|
||||||
|
|
||||||
$company_types = ['A2P Supplier' => 'A2P Supplier', 'A2P Consumer' => 'A2P Consumer', 'Hybrid' => 'Hybrid'];
|
$company_types = ['Aggregator/Supplier' => 'Aggregator/Supplier', 'Enterprise' => 'Enterprise', 'Hybrid' => 'Hybrid'];
|
||||||
$auth_users = Models\Account::pluck('name', 'id');
|
$auth_users = Models\Account::pluck('name', 'id');
|
||||||
// dd($client->sender_ids);
|
$industries = Models\Industry::orderBy('name', 'ASC')->pluck('name', 'name');
|
||||||
|
$message_types_arr = ['International' => 'International', 'Local' => 'Local'];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$how_we_got_clients_arr = ['Event : (GCCM) etc' => 'Event : (GCCM) etc', 'Referral' => 'Referral', 'Word of Mouth' => 'Word of Mouth', 'Marketing' => 'Marketing', 'Other' => 'Other'];
|
||||||
|
|
||||||
|
|
||||||
|
// 'current_services' => json_decode($client->services, true);
|
||||||
|
|
||||||
|
if ($client->support_emails) {
|
||||||
|
$support_emails = json_decode($client->support_emails, true);
|
||||||
|
$support_emails = array_combine($support_emails, $support_emails);
|
||||||
|
$old_support_emails = json_decode($client->support_emails, true);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$support_emails = [];
|
||||||
|
$old_support_emails = [];
|
||||||
|
}
|
||||||
|
if ($client->rate_emails) {
|
||||||
|
$rate_emails = json_decode($client->rate_emails, true);
|
||||||
|
$rate_emails = array_combine($rate_emails, $rate_emails);
|
||||||
|
$old_rate_emails = json_decode($client->rate_emails, true);
|
||||||
|
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$rate_emails = [];
|
||||||
|
$old_rate_emails = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($client->support_phones) {
|
||||||
|
$support_phones = json_decode($client->support_phones, true);
|
||||||
|
$support_phones = array_combine($support_phones, $support_phones);
|
||||||
|
$old_support_phones = json_decode($client->support_phones, true);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$support_phones = [];
|
||||||
|
$old_support_phones = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($client->support_skype) {
|
||||||
|
$support_skype_arr = json_decode($client->support_skype, true);
|
||||||
|
$support_skype_arr = array_combine($support_skype_arr, $support_skype_arr);
|
||||||
|
$old_support_skype_arr = json_decode($client->support_skype, true);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$support_skype_arr = [];
|
||||||
|
$old_support_skype_arr = [];
|
||||||
|
}
|
||||||
|
if ($client->finance_email) {
|
||||||
|
$finance_emails = json_decode($client->finance_email, true);
|
||||||
|
$finance_emails = array_combine($finance_emails, $finance_emails);
|
||||||
|
$old_finance_emails = json_decode($client->finance_email, true);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$finance_emails = [];
|
||||||
|
$old_finance_emails = [];
|
||||||
|
}
|
||||||
|
|
||||||
if ($client->sender_ids) {
|
if ($client->sender_ids) {
|
||||||
$sender_ids = json_decode($client->sender_ids, true);
|
$sender_ids = json_decode($client->sender_ids, true);
|
||||||
$sender_ids = array_combine($sender_ids, $sender_ids);
|
$sender_ids = array_combine($sender_ids, $sender_ids);
|
||||||
@@ -363,6 +645,7 @@ class ClientsController extends Controller
|
|||||||
$contract_types = ['bilateral' => 'bilateral', 'unilateral' => 'unilateral'];
|
$contract_types = ['bilateral' => 'bilateral', 'unilateral' => 'unilateral'];
|
||||||
$connections = ['SMPP' => 'SMPP', 'HTTP' => 'HTTP'];
|
$connections = ['SMPP' => 'SMPP', 'HTTP' => 'HTTP'];
|
||||||
|
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'client' => $client,
|
'client' => $client,
|
||||||
'countries' => $countries,
|
'countries' => $countries,
|
||||||
@@ -375,11 +658,27 @@ class ClientsController extends Controller
|
|||||||
'connections_arr' => $connections,
|
'connections_arr' => $connections,
|
||||||
'status_bg' => $status_bg,
|
'status_bg' => $status_bg,
|
||||||
'sender_ids' => $sender_ids,
|
'sender_ids' => $sender_ids,
|
||||||
|
|
||||||
|
'finance_emails' => $finance_emails,
|
||||||
|
'support_emails' => $support_emails,
|
||||||
|
'rate_emails' => $rate_emails,
|
||||||
|
'support_skype_arr' => $support_skype_arr,
|
||||||
|
'support_phones' => $support_phones,
|
||||||
|
|
||||||
|
'old_finance_emails' => $old_finance_emails,
|
||||||
|
'old_rate_emails' => $old_rate_emails,
|
||||||
|
'old_support_emails' => $old_support_emails,
|
||||||
|
'old_support_skype_arr' => $old_support_skype_arr,
|
||||||
|
'old_support_phones' => $old_support_phones,
|
||||||
|
|
||||||
'company_types' => $company_types,
|
'company_types' => $company_types,
|
||||||
'old_sender_ids' => $old_sender_ids,
|
'old_sender_ids' => $old_sender_ids,
|
||||||
'contract_types' => $contract_types
|
'contract_types' => $contract_types,
|
||||||
|
'message_types_arr' => $message_types_arr,
|
||||||
|
'industries' => $industries,
|
||||||
|
'how_we_got_clients_arr' => $how_we_got_clients_arr,
|
||||||
|
'current_services' => json_decode($client->services, true)
|
||||||
];
|
];
|
||||||
// dd($service_type->toArray());
|
|
||||||
return view('client.edit', $data);
|
return view('client.edit', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -403,9 +702,7 @@ class ClientsController extends Controller
|
|||||||
]);
|
]);
|
||||||
$client_update = Models\Client::find($id);
|
$client_update = Models\Client::find($id);
|
||||||
|
|
||||||
//dump($request->status);
|
// dd($request->support_emails);
|
||||||
//dump(($request->sender_ids) ? json_encode($request->sender_ids) : "");
|
|
||||||
//dd($request->all());
|
|
||||||
|
|
||||||
$client_update->name = $request->name;
|
$client_update->name = $request->name;
|
||||||
$client_update->email = $request->email;
|
$client_update->email = $request->email;
|
||||||
@@ -416,16 +713,38 @@ class ClientsController extends Controller
|
|||||||
$client_update->country = $request->country;
|
$client_update->country = $request->country;
|
||||||
$client_update->currency = $request->currency;
|
$client_update->currency = $request->currency;
|
||||||
$client_update->notes = $request->notes;
|
$client_update->notes = $request->notes;
|
||||||
$client_update->skype_name = $request->skype_name;
|
$client_update->industry = $request->industry;
|
||||||
$client_update->linkedin_name = $request->linkedin_name;
|
|
||||||
|
$client_update->skype_name = $request->skype_name ?? "";
|
||||||
|
$client_update->linkedin_name = $request->linkedin_name ?? "";
|
||||||
|
$client_update->smpp_username = $request->smpp_username ?? "";
|
||||||
|
|
||||||
$client_update->company_type = $request->company_type ?? "";
|
$client_update->company_type = $request->company_type ?? "";
|
||||||
$client_update->auth_user_id = $request->auth_user_id ?? "";
|
$client_update->auth_user_id = $request->auth_user_id ?? "";
|
||||||
$client_update->contract_type = $request->contract_type ?? "";
|
$client_update->contract_type = $request->contract_type ?? "";
|
||||||
$client_update->contract_validity = $request->contract_validity ?? "";
|
$client_update->contract_validity = $request->contract_validity ?? "";
|
||||||
$client_update->smpp_details = $request->smpp_details ?? "";
|
$client_update->contract_auto_renew = $request->contract_auto_renew ?? "";
|
||||||
|
//$client_update->smpp_details = $request->smpp_details ?? "";
|
||||||
$client_update->sender_ids = ($request->sender_ids) ? json_encode($request->sender_ids) : "";
|
$client_update->sender_ids = ($request->sender_ids) ? json_encode($request->sender_ids) : "";
|
||||||
$client_update->connections = ($request->connections) ? json_encode($request->connections) : "";
|
$client_update->connections = ($request->connections) ? json_encode($request->connections) : "";
|
||||||
|
$client_update->services = ($request->services) ? json_encode($request->services) : "";
|
||||||
|
$client_update->message_types = ($request->message_types) ? json_encode($request->message_types) : "";
|
||||||
|
|
||||||
|
$client_update->finance_email = ($request->finance_email) ? json_encode($request->finance_email) : "";
|
||||||
|
$client_update->support_emails = ($request->support_emails) ? json_encode($request->support_emails) : "";
|
||||||
|
$client_update->rate_emails = ($request->rate_emails) ? json_encode($request->rate_emails) : "";
|
||||||
|
$client_update->support_phones = ($request->support_phones) ? json_encode($request->support_phones) : "";
|
||||||
|
$client_update->support_skype = ($request->support_skype) ? json_encode($request->support_skype) : "";
|
||||||
|
|
||||||
|
if ($request->has('how_we_got_client')) {
|
||||||
|
if ($request->how_we_got_client == 'Other') {
|
||||||
|
$client_update->how_we_got_client = $request->how_we_got_client_other ?? "";
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$client_update->how_we_got_client = $request->how_we_got_client ?? "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$client_update->created_by = session('current_user.id');
|
$client_update->created_by = session('current_user.id');
|
||||||
$client_update->last_modified_by = session('current_user.id');
|
$client_update->last_modified_by = session('current_user.id');
|
||||||
@@ -501,6 +820,7 @@ class ClientsController extends Controller
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function get_filter_ids($filter, $keyword)
|
public function get_filter_ids($filter, $keyword)
|
||||||
{
|
{
|
||||||
switch ($filter) {
|
switch ($filter) {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ class DashboardController extends Controller
|
|||||||
$data = [
|
$data = [
|
||||||
'page_title' => 'Dashboard'
|
'page_title' => 'Dashboard'
|
||||||
];
|
];
|
||||||
|
// dd($data);
|
||||||
return view('dashboard.index', $data);
|
return view('dashboard.index', $data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ class LoginController extends Controller
|
|||||||
$request->session()->put('current_user.phone', $logged_in->phone);
|
$request->session()->put('current_user.phone', $logged_in->phone);
|
||||||
$request->session()->put('current_user.designation', $logged_in->designation_info->name);
|
$request->session()->put('current_user.designation', $logged_in->designation_info->name);
|
||||||
|
|
||||||
|
\Log::info($logged_in->name . ' successfully logged in at : ' . date('Y-m-d H:i:s'));
|
||||||
// return redirect(url('dashboard'));
|
// return redirect(url('dashboard'));
|
||||||
return redirect(url('clients'));
|
return redirect(url('clients'));
|
||||||
}
|
}
|
||||||
|
|||||||
31
app/Http/Controllers/UtilityController.php
Normal file
31
app/Http/Controllers/UtilityController.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
use App\Models;
|
||||||
|
use Illuminate\Contracts\Mail\Mailer;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class UtilityController extends Controller
|
||||||
|
{
|
||||||
|
|
||||||
|
public function EmailTest(Mailer $mailer)
|
||||||
|
{
|
||||||
|
|
||||||
|
$emails = ['kwesi@click-mobile.com', 'kwesi_banson@hotmail.com'];
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'client' => 'test client',
|
||||||
|
'created_by' => 'Kwesi',
|
||||||
|
'services' => 'test services',
|
||||||
|
'notes_body' => 'test notes'
|
||||||
|
];
|
||||||
|
$mailer->send('emails.new-notes', $data, function ($message) use ($data, $emails) {
|
||||||
|
$message->from('erp@click-mobile.com', 'Click Mobile ERP');
|
||||||
|
$message->to($emails)->subject('New Notes');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
|
|
||||||
class ClickServer extends Model
|
class ClickServer extends Model
|
||||||
{
|
{
|
||||||
protected $guarded = array('id');
|
protected $guarded = array('id');
|
||||||
public $table = "click_servers";
|
public $table = "click_servers";
|
||||||
|
|
||||||
protected $appends = ['root_password'];
|
protected $appends = ['root_password'];
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ class Client extends Model
|
|||||||
public function modified_by_info(){
|
public function modified_by_info(){
|
||||||
return $this->hasOne('App\Models\Account', 'id', 'last_modified_by');
|
return $this->hasOne('App\Models\Account', 'id', 'last_modified_by');
|
||||||
}
|
}
|
||||||
|
public function short_code_info(){
|
||||||
|
return $this->hasMany('App\Models\ShortCode', 'client_id', 'id');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function getClientServicesAttribute(){
|
public function getClientServicesAttribute(){
|
||||||
|
|||||||
18
app/Models/ClientPayment.php
Normal file
18
app/Models/ClientPayment.php
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class ClientPayment extends Model
|
||||||
|
{
|
||||||
|
protected $guarded = array('id');
|
||||||
|
public $table = "client_finances";
|
||||||
|
|
||||||
|
public function client_info(){
|
||||||
|
return $this->hasOne('App\Models\Client', 'id', 'client_id');
|
||||||
|
}
|
||||||
|
public function created_by_info(){
|
||||||
|
return $this->hasOne('App\Models\Account', 'id', 'auth_user_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
18
app/Models/ClientShortCode.php
Normal file
18
app/Models/ClientShortCode.php
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class ClientShortCode extends Model
|
||||||
|
{
|
||||||
|
protected $guarded = array('id');
|
||||||
|
public $table = "client_short_codes";
|
||||||
|
|
||||||
|
public function client_info(){
|
||||||
|
return $this->hasOne('App\Models\Client', 'id', 'client_id');
|
||||||
|
}
|
||||||
|
public function update_info(){
|
||||||
|
return $this->hasOne('App\Models\SystemUser', 'id', 'last_updated_by');
|
||||||
|
}
|
||||||
|
}
|
||||||
10
app/Models/Industry.php
Normal file
10
app/Models/Industry.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Industry extends Model
|
||||||
|
{
|
||||||
|
public $table = "client_industries";
|
||||||
|
}
|
||||||
21
app/Models/ShortCode.php
Normal file
21
app/Models/ShortCode.php
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class ShortCode extends Model
|
||||||
|
{
|
||||||
|
protected $guarded = array('id');
|
||||||
|
public $table = "short_codes";
|
||||||
|
|
||||||
|
public function client_info(){
|
||||||
|
return $this->hasOne('App\Models\Client', 'id', 'client_id');
|
||||||
|
}
|
||||||
|
public function update_info(){
|
||||||
|
return $this->hasOne('App\Models\SystemUser', 'id', 'last_updated_by');
|
||||||
|
}
|
||||||
|
public function account_mgr_info(){
|
||||||
|
return $this->hasOne('App\Models\SystemUser', 'id', 'account_manager_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -8,7 +8,8 @@ class SystemUser extends Model
|
|||||||
{
|
{
|
||||||
protected $guarded = array('id');
|
protected $guarded = array('id');
|
||||||
public $table = "auth_users";
|
public $table = "auth_users";
|
||||||
public function designation_info(){
|
|
||||||
|
public function designation_info(){
|
||||||
return $this->hasOne('App\Models\Designation', 'id', 'designation');
|
return $this->hasOne('App\Models\Designation', 'id', 'designation');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,10 +16,13 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
$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
|
||||||
$slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-720956680656-4a6b5d0fcb00e9e0512c14341d3a7563', '#click_tracker', 'Monolog', true, null, \Monolog\Logger::ERROR);
|
/*
|
||||||
$slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-720956680656-4a6b5d0fcb00e9e0512c14341d3a7563', '#click_tracker', 'Monolog', true, null, \Monolog\Logger::INFO);
|
$slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a', '#click_tracker', 'Monolog', true, null, \Monolog\Logger::ERROR);
|
||||||
$slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-720956680656-4a6b5d0fcb00e9e0512c14341d3a7563', '#click_tracker', 'Monolog', true, null, \Monolog\Logger::DEBUG);
|
$slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a', '#click_tracker', 'Monolog', true, null, \Monolog\Logger::INFO);
|
||||||
|
$slackHandler = new \Monolog\Handler\SlackHandler('xoxp-677819906294-675678554016-693747277911-5166bcbb9a5fc3d5434b42a10c4d358a', '#click_tracker', 'Monolog', true, null, \Monolog\Logger::DEBUG);
|
||||||
|
|
||||||
$monolog->pushHandler($slackHandler);
|
$monolog->pushHandler($slackHandler);
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
249
public/assets/js/clientshow.js
vendored
Normal file
249
public/assets/js/clientshow.js
vendored
Normal file
@@ -0,0 +1,249 @@
|
|||||||
|
$(document).ready(function(){
|
||||||
|
//console.log('foo bar');
|
||||||
|
var d = new Date();
|
||||||
|
var month = d.getMonth()+1;
|
||||||
|
var day = d.getDate();
|
||||||
|
var currentDate = d.getFullYear() + '/' + ((''+month).length<2 ? '0' : '') + month + '/' + ((''+day).length<2 ? '0' : '') + day;
|
||||||
|
|
||||||
|
$('select').select2();
|
||||||
|
$('#myDatepicker2').datetimepicker({
|
||||||
|
format: 'YYYY-MM-DD',
|
||||||
|
maxDate: currentDate
|
||||||
|
});
|
||||||
|
$('#launchDate').datetimepicker({
|
||||||
|
format: 'YYYY-MM-DD'
|
||||||
|
});
|
||||||
|
$('#createNotesBtn').click(function(evt){
|
||||||
|
evt.preventDefault();
|
||||||
|
$('#newNotesForm').modal('show');
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#createSmsShortCodeBtn').click(function(evt){
|
||||||
|
evt.preventDefault();
|
||||||
|
$('#shortCodeType').val('sms');
|
||||||
|
$('#newShortCodeFormModal').modal('show');
|
||||||
|
});
|
||||||
|
$('#createUssdShortCodeBtn').click(function(evt){
|
||||||
|
evt.preventDefault();
|
||||||
|
$('#shortCodeType').val('ussd');
|
||||||
|
$('#newShortCodeFormModal').modal('show');
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#createVoiceShortCodeBtn').click(function(evt){
|
||||||
|
evt.preventDefault();
|
||||||
|
$('#shortCodeType').val('voice');
|
||||||
|
$('#newShortCodeFormModal').modal('show');
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#createPaymentBtn').click(function(evt){
|
||||||
|
evt.preventDefault();
|
||||||
|
$('#financePaymentsForm').modal('show');
|
||||||
|
});
|
||||||
|
$('.paymentEntryEditBtn').click(function(tve){
|
||||||
|
tve.preventDefault();
|
||||||
|
//var theIDD = $("input[name=payment_entry_id]").val();
|
||||||
|
var theIDD = $(this).siblings('.paymentEntryRowId').val();
|
||||||
|
console.log(theIDD);
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
url: base_url + '/clients/get_payment/' + theIDD,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
async: false,
|
||||||
|
success: function (data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
console.log(theIDD);
|
||||||
|
$('#paymentIdEdit').val(theIDD);
|
||||||
|
$('#financeServicesEdit').val(data.services_arr).change();
|
||||||
|
$('#invoiceNumberEdit').val(data.result.invoice_number);
|
||||||
|
$('#invoiceAmountEdit').val(data.result.invoice_amount);
|
||||||
|
$('#invoiceDateEdit').val(data.result.invoice_date);
|
||||||
|
$('#invoiceStatusEdit').val(data.result.invoice_status).change();
|
||||||
|
$('#remarksEdit').val(data.result.remarks);
|
||||||
|
$('#financePaymentsEditForm').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 !',
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#newNotesFormForm').submit(function(evt){
|
||||||
|
evt.preventDefault();
|
||||||
|
var formData = new FormData($(this)[0]);
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: base_url + '/clients/notes_store',
|
||||||
|
data : formData,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
async: false,
|
||||||
|
success: function (data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
$("#newNotesFormForm")[0].reset();
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Notes added successfully',
|
||||||
|
});
|
||||||
|
setTimeout(function(){
|
||||||
|
location.reload();
|
||||||
|
}, 8000);
|
||||||
|
}
|
||||||
|
else if (data.code > 5) {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: data.msg,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Your request could not be handled. Try again !',
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
$('#financeForm').submit(function(evt){
|
||||||
|
evt.preventDefault();
|
||||||
|
var formData = new FormData($(this)[0]);
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: base_url + '/clients/finance_store',
|
||||||
|
data : formData,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
async: false,
|
||||||
|
success: function (data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
$("#financeForm")[0].reset();
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Payment Details added successfully',
|
||||||
|
});
|
||||||
|
setTimeout(function(){
|
||||||
|
location.reload();
|
||||||
|
}, 8000);
|
||||||
|
}
|
||||||
|
else if (data.code > 5) {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: data.msg,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Your request could not be handled. Try again !',
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#financeEditForm').submit(function(evt){
|
||||||
|
evt.preventDefault();
|
||||||
|
var formData = new FormData($(this)[0]);
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: base_url + '/clients/finance_update',
|
||||||
|
data : formData,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
async: false,
|
||||||
|
success: function (data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Payment 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 !',
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#shortCodeForm').submit(function(evt){
|
||||||
|
evt.preventDefault();
|
||||||
|
var formData = new FormData($(this)[0]);
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: base_url + '/clients/shortcode_store',
|
||||||
|
data : formData,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
async: false,
|
||||||
|
success: function (data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
$.alert({
|
||||||
|
title: 'Alert!',
|
||||||
|
content: 'Short code details successfully saved',
|
||||||
|
});
|
||||||
|
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 !',
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (data) {
|
||||||
|
var output = $.parseJSON(data.responseText);
|
||||||
|
console.log(output.errors);
|
||||||
|
$('#notifyArea').removeClass('hidden');
|
||||||
|
$.each(output.errors, function (key, value) {
|
||||||
|
console.log(value[0]);
|
||||||
|
$('#notifyArea').text(value[0]);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
fail : function(errordata){
|
||||||
|
console.log(errordata);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
});
|
||||||
@@ -27,4 +27,17 @@ The Account Manager
|
|||||||
|
|
||||||
## Code Flow
|
## Code Flow
|
||||||
- client-updates-temp-folder
|
- client-updates-temp-folder
|
||||||
-
|
-
|
||||||
|
|
||||||
|
# Fanny's Feedback - After uploading a few clients I had some observations.
|
||||||
|
- Contact details: Suggestion to add a finance, rates and support email details
|
||||||
|
- Connection details: we usually have 2 or more SMPP details could it have an option of inputting several items like the services tab
|
||||||
|
- For Finance rates and Support we may need full contact details: E-mail address, skype, phone
|
||||||
|
|
||||||
|
# ON the client list can we add how we got client?
|
||||||
|
use normal select, on select of Event ask for details
|
||||||
|
Event : (GCCM) etc
|
||||||
|
Referral
|
||||||
|
Word of Mouth
|
||||||
|
Marketing
|
||||||
|
|
||||||
|
|||||||
175
resources/views/click_apps/short-codes.blade.php
Normal file
175
resources/views/click_apps/short-codes.blade.php
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
@extends('layouts.master')
|
||||||
|
@section('page_title')
|
||||||
|
@if(isset($page_title))
|
||||||
|
{{ $page_title }}
|
||||||
|
@endif
|
||||||
|
@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">Click Apps</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="title_right">
|
||||||
|
<div class="row">
|
||||||
|
<form method="GET" action="{!! url('clickapps/') !!}">
|
||||||
|
<div class="col-md-5 col-sm-5 col-xs-12 form-group">
|
||||||
|
<div style="margin-top:1px; margin-right:-90px;" class="top_search">
|
||||||
|
{!! Form::select('filter', $columns, null, ['class' => 'form-control', 'placeholder' => 'Select Filter here']) !!}
|
||||||
|
</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" 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('clickapps') !!}" 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>Click Apps</h2>
|
||||||
|
<div class="pull-right">
|
||||||
|
<a class="btn btn-primary btn-sm" href="{!! url('clickapps/create') !!}"><i class="fa fa-plus-circle"></i> New App
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_content">
|
||||||
|
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped ">
|
||||||
|
<thead>
|
||||||
|
<tr class="headings">
|
||||||
|
{{-- <th>#</th> --}}
|
||||||
|
<th class="column-title">App Name</th>
|
||||||
|
<th class="column-title">Type</th>
|
||||||
|
<th class="column-title">Code/URL</th>
|
||||||
|
<th class="column-title">Country</th>
|
||||||
|
<th class="column-title">Operator</th>
|
||||||
|
<th class="column-title">TFree</th>
|
||||||
|
<th class="column-title">Client</th>
|
||||||
|
<th class="column-title">Status</th>
|
||||||
|
<th class="column-title">Launch Date</th>
|
||||||
|
<th class="column-title">Other Info</th>
|
||||||
|
<th class="column-title no-link last"><span class="nobr">Action</span>
|
||||||
|
</th>
|
||||||
|
<th class="bulk-actions" colspan="7">
|
||||||
|
<a class="antoo" style="color:#fff; font-weight:500;">Bulk Actions ( <span class="action-cnt"> </span> ) <i class="fa fa-chevron-down"></i></a>
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
@if ($click_apps->isEmpty())
|
||||||
|
<tr>
|
||||||
|
<td class="" colspan="6">No Records found</td>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
@foreach ($click_apps as $row)
|
||||||
|
<tr class="even pointer">
|
||||||
|
<td class="mes-td">{{ $row->app_name }}</td>
|
||||||
|
<td class="mes-td">{{ $row->app_type }}</td>
|
||||||
|
<td class="mes-td">{{ $row->code }}</td>
|
||||||
|
<td class="mes-td">{{ $row->country }}</td>
|
||||||
|
<td class="mes-td">{{ $row->operator }}</td>
|
||||||
|
<td class="mes-td">{{ $row->tollfree }}</td>
|
||||||
|
<!-- <td class="mes-td">{{ $row->app_path or '' }}</td> -->
|
||||||
|
<td class="mes-td">{{ $row->client }}</td>
|
||||||
|
<td class="mes-td">{{ $row->status }}</td>
|
||||||
|
<td class="mes-td" style="width: 100px;">{{ $row->launch_date }}</td>
|
||||||
|
<td class="mes-td">{{ $row->other_info }}</td>
|
||||||
|
<td class="last" style="width: 100px;">
|
||||||
|
<span>
|
||||||
|
<a href="{!! url('/clickapps/' . $row->id. '/edit')!!}" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>
|
||||||
|
<a title="Remove Client" data-val="{{ $row->id }}" class="btn btn-xs btn-danger removeApp"><i class="fa fa-trash"></i></a>
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@section('javascript')
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
$(".removeApp").click(function(evt){
|
||||||
|
var recordsTotal = Number($('#totalRecords').text());
|
||||||
|
var _row = $(this).parents('tr');
|
||||||
|
var recordID = $(evt.currentTarget).data('val')
|
||||||
|
swal({
|
||||||
|
title: "Delete Confirmation",
|
||||||
|
text: "This will remove the App record completely from the system. Do you want to continue",
|
||||||
|
type: "info",
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonClass: "btn-danger conBtn",
|
||||||
|
confirmButtonText: "Yes, remove it!",
|
||||||
|
showLoaderOnConfirm: true,
|
||||||
|
closeOnConfirm: false,
|
||||||
|
closeOnCancel: false
|
||||||
|
},
|
||||||
|
function(isConfirm){
|
||||||
|
if (isConfirm) {
|
||||||
|
$.ajax({
|
||||||
|
headers: {
|
||||||
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||||
|
},
|
||||||
|
type: "DELETE",
|
||||||
|
data: { id: recordID },
|
||||||
|
url: base_url + "/clickapps/" + recordID,
|
||||||
|
success: function(data){
|
||||||
|
if (data.code === 1) {
|
||||||
|
$(_row).remove();
|
||||||
|
swal("Deleted!", "Selected app has been removed .", "success");
|
||||||
|
}
|
||||||
|
if (data.code === 3) {
|
||||||
|
swal("Not Permitted", "This Operator has transactions! .", "warning");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
swal("Cancelled", "You cancelled the operation :)", "error");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
@endsection
|
||||||
@@ -37,6 +37,20 @@
|
|||||||
{!! $errors->first('name', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('name', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="companyType">Company Type</label>
|
||||||
|
<div class="col-md-6 col-sm-6 col-xs-12 {{ $errors->has('name') ? 'has-error' : ''}}">
|
||||||
|
{!! Form::select('company_type', $company_types, old('company_type'), ['class' => 'form-control', 'placeholder'=>'Enter Company Type' , 'id' => 'companyType', 'required' => 'true']) !!}
|
||||||
|
{!! $errors->first('company_type', '<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="industryType">Industry Type</label>
|
||||||
|
<div class="col-md-6 col-sm-6 col-xs-12 {{ $errors->has('name') ? 'has-error' : ''}}">
|
||||||
|
{!! Form::select('industry', $industries, old('industry'), ['class' => 'form-control', 'placeholder'=>'Enter Industry Type' , 'id' => 'industryType', 'required' => 'true']) !!}
|
||||||
|
{!! $errors->first('industry', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="email">Contact Person</label>
|
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="email">Contact Person</label>
|
||||||
<div class="col-md-6 col-sm-6 col-xs-12 {{ $errors->has('name') ? 'has-error' : ''}}">
|
<div class="col-md-6 col-sm-6 col-xs-12 {{ $errors->has('name') ? 'has-error' : ''}}">
|
||||||
@@ -127,7 +141,7 @@
|
|||||||
<div class="ln_solid"></div>
|
<div class="ln_solid"></div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-3">
|
<div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-3">
|
||||||
<button type="submit" class="btn btn-success"><i class="fa fa-save"></i> Submit</button>
|
<button type="submit" class="btn btn-success btn-block"><i class="fa fa-save"></i> Submit</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{!! Form::close() !!}
|
{!! Form::close() !!}
|
||||||
|
|||||||
@@ -10,7 +10,8 @@
|
|||||||
<div class="title_left" style="width:800px !important;">
|
<div class="title_left" style="width:800px !important;">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
<li><a href="{!! url('dashboard') !!}">Dashboard</a></li>
|
||||||
<li class="active">Create Service</li>
|
<li><a href="{!! url('clients') !!}">Clients</a></li>
|
||||||
|
<li class="active">Update Client Details</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -40,8 +41,15 @@
|
|||||||
{!! $errors->first('name', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('name', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group ">
|
||||||
|
<div class=" {{ $errors->has('auth_user_id') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="auth_user_id">Account Manager</label>
|
||||||
|
{!! Form::select('auth_user_id', $auth_users ,old('auth_user_id'), ['class' => 'form-control ', 'placeholder'=>'Enter Account Manager ' , 'id' => 'auth_user_id']) !!}
|
||||||
|
{!! $errors->first('auth_user_id', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('name') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('contact_person') ? 'has-error' : ''}}">
|
||||||
<label class="" for="email">Contact Person</label>
|
<label class="" for="email">Contact Person</label>
|
||||||
{!! Form::text('contact_person', old('contact_person'), ['class' => 'form-control', 'placeholder'=>'Enter Contact Person' , 'id' => 'contact_person']) !!}
|
{!! Form::text('contact_person', old('contact_person'), ['class' => 'form-control', 'placeholder'=>'Enter Contact Person' , 'id' => 'contact_person']) !!}
|
||||||
{!! $errors->first('contact_person', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('contact_person', '<p class="help-block">:message</p>') !!}
|
||||||
@@ -56,26 +64,48 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('name') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('email') ? 'has-error' : ''}}">
|
||||||
<label class="" for="email">Email</label>
|
<label class="" for="email">Email</label>
|
||||||
{!! Form::text('email', old('email'), ['class' => 'form-control ', 'placeholder'=>'Enter email' , 'id' => 'email']) !!}
|
{!! Form::text('email', old('email'), ['class' => 'form-control ', 'placeholder'=>'Enter email' , 'id' => 'email']) !!}
|
||||||
{!! $errors->first('email', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('email', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('name') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('skype_name') ? 'has-error' : ''}}">
|
||||||
<label class="" for="skypeName">Skype Name</label>
|
<label class="" for="skypeName">Skype Name</label>
|
||||||
{!! Form::text('skype_name', old('skype_name'), ['class' => 'form-control', 'placeholder'=>'Enter Skype Name' , 'id' => 'skypeName']) !!}
|
{!! Form::text('skype_name', old('skype_name'), ['class' => 'form-control', 'placeholder'=>'Enter Skype Name' , 'id' => 'skypeName']) !!}
|
||||||
{!! $errors->first('skype_name', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('skype_name', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('name') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('linkedin_name') ? 'has-error' : ''}}">
|
||||||
<label class="" for="linkedIn">Linked In</label>
|
<label class="" for="linkedIn">Linked In</label>
|
||||||
{!! Form::text('linkedin_name', old('linkedin_name'), ['class' => 'form-control ', 'placeholder'=>'Enter LinkedIn Name' , 'id' => 'linkedIn']) !!}
|
{!! Form::text('linkedin_name', old('linkedin_name'), ['class' => 'form-control ', 'placeholder'=>'Enter LinkedIn Name' , 'id' => 'linkedIn']) !!}
|
||||||
{!! $errors->first('linkedin_name', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('linkedin_name', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class=" {{ $errors->has('finance_email') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="financeEmail">Finance Emails (Multiple) </label>
|
||||||
|
{!! Form::select('finance_email[]', $finance_emails, $old_finance_emails, ['class' => 'form-control financeEmail', 'id' => 'financeEmail', 'multiple' => 'true']) !!}
|
||||||
|
{!! $errors->first('finance_email', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class=" {{ $errors->has('support_email') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="supportEmail">Support Emails (Multiple) </label>
|
||||||
|
{!! Form::select('support_emails[]', $support_emails, $old_support_emails, ['class' => 'form-control supportEmail', 'id' => 'supportEmail', 'multiple' => 'true']) !!}
|
||||||
|
{!! $errors->first('support_emails', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<div class=" {{ $errors->has('support_phones') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="supportPhones">Support Phone Numbers (Multiple) </label>
|
||||||
|
{!! Form::select('support_phones[]', $support_phones, $old_support_phones, ['class' => 'form-control supportPhones', 'id' => 'supportPhones', 'multiple' => 'true']) !!}
|
||||||
|
{!! $errors->first('support_phones', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('country') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('country') ? 'has-error' : ''}}">
|
||||||
<label class="" for="country">Country</label>
|
<label class="" for="country">Country</label>
|
||||||
@@ -90,31 +120,29 @@
|
|||||||
{!! $errors->first('currency', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('currency', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="form-group">
|
|
||||||
<div class=" {{ $errors->has('auth_user_id') ? 'has-error' : ''}}">
|
|
||||||
<label class="" for="auth_user_id">Account Manager</label>
|
|
||||||
{!! Form::select('auth_user_id', $auth_users ,old('auth_user_id'), ['class' => 'form-control ', 'placeholder'=>'Enter Account Manager ' , 'id' => 'auth_user_id']) !!}
|
|
||||||
{!! $errors->first('auth_user_id', '<p class="help-block">:message</p>') !!}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('services') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('services') ? 'has-error' : ''}}">
|
||||||
<label class="" for="type">Services</label>
|
<label class="" for="type">Services</label>
|
||||||
{!! Form::select('services[]', $service_type, ['1' => 'A2P', '2' => 'USSD'], ['class' => 'form-control typeServices' , 'id' => 'services', 'multiple'=> 'true']) !!}
|
{!! Form::select('services[]', $service_type, $current_services, ['class' => 'form-control typeServices' , 'id' => 'services', 'multiple'=> 'true']) !!}
|
||||||
{!! $errors->first('services', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('services', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('name') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('name') ? 'has-error' : ''}}">
|
||||||
<label class="" for="skypeName">Company Type</label>
|
<label class="" for="companyType">Company Type</label>
|
||||||
{!! Form::select('company_type', $company_types, old('company_type'), ['class' => 'form-control', 'placeholder'=>'Enter Company Type' , 'id' => 'companyType']) !!}
|
{!! Form::select('company_type', $company_types, old('company_type'), ['class' => 'form-control', 'placeholder'=>'Enter Company Type' , 'id' => 'companyType']) !!}
|
||||||
{!! $errors->first('company_type', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('company_type', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="{{ $errors->has('name') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="industryType">Industry Type</label>
|
||||||
|
{!! Form::select('industry', $industries, old('industry'), ['class' => 'form-control', 'placeholder'=>'Enter Industry Type' , 'id' => 'industryType', 'required' => 'true']) !!}
|
||||||
|
{!! $errors->first('industry', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="" for="contractType">Contract Type</label>
|
<label class="" for="contractType">Contract Type</label>
|
||||||
<div class=" {{ $errors->has('contract_type') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('contract_type') ? 'has-error' : ''}}">
|
||||||
@@ -123,26 +151,55 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="" for="contractValidity">Contract Validity (years)</label>
|
<label class="" for="contractValidity">Contract Validity</label>
|
||||||
<div class=" {{ $errors->has('name') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('name') ? 'has-error' : ''}}">
|
||||||
{!! Form::number('contract_validity', old('contract_validity'), ['class' => 'form-control', 'placeholder'=>'Enter Contract Validity Period' , 'id' => 'contractValidity']) !!}
|
{!! Form::text('contract_validity', old('contract_validity'), ['class' => 'form-control', 'placeholder'=>'Enter Contract Date' , 'id' => 'contractValidity']) !!}
|
||||||
{!! $errors->first('contract_validity', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('contract_validity', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class=" {{ $errors->has('contract_auto_renew') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="contractAutoRenew">Contract Auto Renewal</label>
|
||||||
|
{!! Form::select('contract_auto_renew', ['YES' => 'YES','NO' => 'NO'], old('contract_auto_renew'), ['class' => 'form-control ' , 'id' => 'contractAutoRenew' ]) !!}
|
||||||
|
{!! $errors->first('contract_auto_renew', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('connections') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('connections') ? 'has-error' : ''}}">
|
||||||
<label class="" for="connections">Connection</label>
|
<label class="" for="connections">Connection</label>
|
||||||
{!! Form::select('connections[]', $connections_arr, json_decode($client->connections, true), ['class' => 'form-control ' , 'id' => 'connections', 'placeholder'=> 'Select Connection Type', 'multiple' => 'true' ]) !!}
|
{!! Form::select('connections[]', $connections_arr, json_decode($client->connections, true), ['class' => 'form-control ' , 'id' => 'connections', 'multiple' => 'true' ]) !!}
|
||||||
{!! $errors->first('connections', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('connections', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('smpp_details') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('connections') ? 'has-error' : ''}}">
|
||||||
<label class="" for="smppDetails">SMPP Connections Details</label>
|
<label class="" for="connections">Message Type</label>
|
||||||
{!! Form::textarea('smpp_details', old('smpp_details'), ['class' => 'form-control' , 'id' => 'smppDetails', 'placeholder' => 'SMPP Details in JSON Format here', 'rows' => '4']) !!}
|
{!! Form::select('message_types[]', $message_types_arr, json_decode($client->message_types, true), ['class' => 'form-control ' , 'id' => 'connections', 'multiple' => 'true' ]) !!}
|
||||||
{!! $errors->first('smpp_details', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('connections', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class=" {{ $errors->has('smpp_username') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="smppUsername">SMPP Connections Details</label>
|
||||||
|
{!! Form::text('smpp_username', old('smpp_username'), ['class' => 'form-control' , 'id' => 'smppUsername', 'placeholder' => 'SMPP Username']) !!}
|
||||||
|
{!! $errors->first('smpp_username', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class=" {{ $errors->has('support_skype') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="rateEmail">Support Skype IDs (Multiple) </label>
|
||||||
|
{!! Form::select('support_skype[]', $support_skype_arr, $old_support_skype_arr, ['class' => 'form-control supportSkype', 'id' => 'supportSkype', 'multiple' => 'true']) !!}
|
||||||
|
{!! $errors->first('support_skype', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class=" {{ $errors->has('rate_email') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="rateEmail">Rate Emails (Multiple) </label>
|
||||||
|
{!! Form::select('rate_emails[]', $rate_emails, $old_rate_emails, ['class' => 'form-control rateEmail', 'id' => 'rateEmail', 'multiple' => 'true']) !!}
|
||||||
|
{!! $errors->first('rate_emails', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -153,12 +210,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('payment_mode') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('sender_ids') ? 'has-error' : ''}}">
|
||||||
<label class="" for="senderIds">Requested Sender IDs</label>
|
<label class="" for="senderIds">Requested Sender IDs</label>
|
||||||
{!! Form::select('sender_ids[]', $sender_ids, $old_sender_ids, ['class' => 'form-control senderIds' , 'id' => 'senderIds', 'multiple' => 'true' ]) !!}
|
{!! Form::select('sender_ids[]', $sender_ids, $old_sender_ids, ['class' => 'form-control senderIds' , 'id' => 'senderIds', 'multiple' => 'true' ]) !!}
|
||||||
{!! $errors->first('sender_ids', '<p class="help-block">:message</p>') !!}
|
{!! $errors->first('sender_ids', '<p class="help-block">:message</p>') !!}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class=" {{ $errors->has('how_we_got_client') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="howWeGotClient">How We got Client</label>
|
||||||
|
{!! Form::select('how_we_got_client', $how_we_got_clients_arr, old('how_we_got_client'), ['class' => 'form-control' , 'id' => 'howWeGotClient' ]) !!}
|
||||||
|
{!! $errors->first('how_we_got_client', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class=" {{ $errors->has('how_we_got_client_other') ? 'has-error' : ''}}">
|
||||||
|
<label class="" for="smppUsername">Other</label>
|
||||||
|
{!! Form::text('how_we_got_client_other', null, ['class' => 'form-control' , 'id' => 'howWeGotClientOther', 'placeholder' => 'Specify how we got the client']) !!}
|
||||||
|
{!! $errors->first('how_we_got_client_other', '<p class="help-block">:message</p>') !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class=" {{ $errors->has('notes') ? 'has-error' : ''}}">
|
<div class=" {{ $errors->has('notes') ? 'has-error' : ''}}">
|
||||||
<label class="" for="clientNotes">Notes</label>
|
<label class="" for="clientNotes">Notes</label>
|
||||||
@@ -167,7 +238,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
||||||
<label>Status *:</label>
|
<label>Status *:</label>
|
||||||
<div class="bg-<?php echo $status_bg; ?> " style="border-radius: 5px; border: 1px solid black; padding: 10px;">
|
<div class="bg-<?php echo $status_bg; ?> " style="border-radius: 5px; border: 1px solid black; padding: 10px;">
|
||||||
<p >
|
<p >
|
||||||
@@ -183,8 +253,7 @@
|
|||||||
<input type="radio" class="flat" name="status" id="statusInactive" value="Inactive" <?php echo ($client->status == 'Inactive') ? "checked" : ""; ?> />
|
<input type="radio" class="flat" name="status" id="statusInactive" value="Inactive" <?php echo ($client->status == 'Inactive') ? "checked" : ""; ?> />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ln_solid"></div>
|
<div class="ln_solid"></div>
|
||||||
@@ -216,6 +285,24 @@
|
|||||||
$('.senderIds').select2({
|
$('.senderIds').select2({
|
||||||
tags : true
|
tags : true
|
||||||
});
|
});
|
||||||
|
$('.supportEmail').select2({
|
||||||
|
tags : true
|
||||||
|
});
|
||||||
|
$('.supportPhones').select2({
|
||||||
|
tags : true
|
||||||
|
});
|
||||||
|
$('.supportSkype').select2({
|
||||||
|
tags : true
|
||||||
|
});
|
||||||
|
$('.rateEmail').select2({
|
||||||
|
tags : true
|
||||||
|
});
|
||||||
|
$('.financeEmail').select2({
|
||||||
|
tags : true
|
||||||
|
});
|
||||||
|
$('#contractValidity').datetimepicker({
|
||||||
|
format: 'YYYY-MM-DD'
|
||||||
|
});
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
});
|
});
|
||||||
|
|||||||
48
resources/views/client/partials/client-sms-codes.blade.php
Normal file
48
resources/views/client/partials/client-sms-codes.blade.php
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped ">
|
||||||
|
<thead>
|
||||||
|
<tr class="headings">
|
||||||
|
{{-- <th>#</th> --}}
|
||||||
|
<th class="column-title">Name</th>
|
||||||
|
<th class="column-title">Code</th>
|
||||||
|
<th class="column-title">Network/Country</th>
|
||||||
|
<th class="column-title">Client</th>
|
||||||
|
<th class="column-title">Toll Free</th>
|
||||||
|
<th class="column-title">Status</th>
|
||||||
|
<th class="column-title">Launch Date</th>
|
||||||
|
<th class="column-title">Last Updated By</th>
|
||||||
|
<th class="column-title no-link last"><span class="nobr">Action</span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@if ($sms_codes->isEmpty())
|
||||||
|
<tr>
|
||||||
|
<td class="" colspan="12">No Records found</td>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
@foreach ($sms_codes as $row)
|
||||||
|
<tr class="even pointer">
|
||||||
|
<td class="mes-td">{{ $row->name }}</td>
|
||||||
|
<td class="mes-td">{{ $row->shortcode }}</td>
|
||||||
|
<td class="mes-td">{{ $row->network }}</td>
|
||||||
|
<td class="mes-td">{{ $row->client_info->name }}</td>
|
||||||
|
<td class="mes-td">{{ $row->toll_free }}</td>
|
||||||
|
<td class="mes-td">{{ $row->status }}</td>
|
||||||
|
<td class="mes-td" style="width: 100px;">{{ $row->launch_date }}</td>
|
||||||
|
<td class="mes-td"><?php echo $row->update_info->name ?? 'N/A'; ?></td>
|
||||||
|
<td class="last" style="width: 100px;">
|
||||||
|
<span>
|
||||||
|
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>
|
||||||
|
<a title="" data-val="{{ $row->id }}" class="btn btn-xs btn-danger removeCode"><i class="fa fa-trash"></i></a>
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
48
resources/views/client/partials/client-ussd-codes.blade.php
Normal file
48
resources/views/client/partials/client-ussd-codes.blade.php
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped ">
|
||||||
|
<thead>
|
||||||
|
<tr class="headings">
|
||||||
|
{{-- <th>#</th> --}}
|
||||||
|
<th class="column-title">Name</th>
|
||||||
|
<th class="column-title">Code</th>
|
||||||
|
<th class="column-title">Network/Country</th>
|
||||||
|
<th class="column-title">Client</th>
|
||||||
|
<th class="column-title">Toll Free</th>
|
||||||
|
<th class="column-title">Status</th>
|
||||||
|
<th class="column-title">Launch Date</th>
|
||||||
|
<th class="column-title">Last Updated By</th>
|
||||||
|
<th class="column-title no-link last"><span class="nobr">Action</span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@if ($ussd_codes->isEmpty())
|
||||||
|
<tr>
|
||||||
|
<td class="" colspan="12">No Records found</td>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
@foreach ($ussd_codes as $row)
|
||||||
|
<tr class="even pointer">
|
||||||
|
<td class="mes-td">{{ $row->name }}</td>
|
||||||
|
<td class="mes-td">{{ $row->shortcode }}</td>
|
||||||
|
<td class="mes-td">{{ $row->network }}</td>
|
||||||
|
<td class="mes-td">{{ $row->client_info->name }}</td>
|
||||||
|
<td class="mes-td">{{ $row->toll_free }}</td>
|
||||||
|
<td class="mes-td">{{ $row->status }}</td>
|
||||||
|
<td class="mes-td" style="width: 100px;">{{ $row->launch_date }}</td>
|
||||||
|
<td class="mes-td"><?php echo $row->update_info->name ?? 'N/A'; ?></td>
|
||||||
|
<td class="last" style="width: 100px;">
|
||||||
|
<span>
|
||||||
|
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>
|
||||||
|
<a title="" data-val="{{ $row->id }}" class="btn btn-xs btn-danger removeCode"><i class="fa fa-trash"></i></a>
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
49
resources/views/client/partials/client-voice-codes.blade.php
Normal file
49
resources/views/client/partials/client-voice-codes.blade.php
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
<div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped ">
|
||||||
|
<thead>
|
||||||
|
<tr class="headings">
|
||||||
|
{{-- <th>#</th> --}}
|
||||||
|
<th class="column-title">Name</th>
|
||||||
|
<th class="column-title">Code</th>
|
||||||
|
<th class="column-title">Network/Country</th>
|
||||||
|
<th class="column-title">Client</th>
|
||||||
|
<th class="column-title">Toll Free</th>
|
||||||
|
<th class="column-title">Status</th>
|
||||||
|
<th class="column-title">Launch Date</th>
|
||||||
|
<th class="column-title">Account Manager</th>
|
||||||
|
<th class="column-title">Last Updated By</th>
|
||||||
|
<th class="column-title no-link last"><span class="nobr">Action</span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@if ($voice_codes->isEmpty())
|
||||||
|
<tr>
|
||||||
|
<td class="" colspan="12">No Records found</td>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
@foreach ($voice_codes as $row)
|
||||||
|
<tr class="even pointer">
|
||||||
|
<td class="mes-td">{{ $row->name }}</td>
|
||||||
|
<td class="mes-td">{{ $row->shortcode }}</td>
|
||||||
|
<td class="mes-td">{{ $row->network }}</td>
|
||||||
|
<td class="mes-td">{{ $row->client_info->name }}</td>
|
||||||
|
<td class="mes-td">{{ $row->toll_free }}</td>
|
||||||
|
<td class="mes-td">{{ $row->status }}</td>
|
||||||
|
<td class="mes-td" style="width: 100px;">{{ $row->launch_date }}</td>
|
||||||
|
<td class="mes-td"><?php echo $row->update_info->name ?? 'N/A'; ?></td>
|
||||||
|
<td class="last" style="width: 100px;">
|
||||||
|
<span>
|
||||||
|
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>
|
||||||
|
<a title="" data-val="{{ $row->id }}" class="btn btn-xs btn-danger removeCode"><i class="fa fa-trash"></i></a>
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
97
resources/views/client/partials/create-shortcodes.blade.php
Normal file
97
resources/views/client/partials/create-shortcodes.blade.php
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
<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">Network *</label>
|
||||||
|
<!-- 'multiple'=> 'true', -->
|
||||||
|
{!! Form::select('network', $networks, 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">Status</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">
|
||||||
|
<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>
|
||||||
|
<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 -->
|
||||||
80
resources/views/client/partials/edit-finance.blade.php
Normal file
80
resources/views/client/partials/edit-finance.blade.php
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
<div class="modal fade" id="financePaymentsEditForm" 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">Update Payment Details</h5>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<form class="form-vertical" method="POST" id="financeEditForm" action="{{ url('clients/finance_update') }}">
|
||||||
|
{{ csrf_field() }}
|
||||||
|
<input type="hidden" name="client_id" id="clientIdEdit" value="{{ $showclient->id }}">
|
||||||
|
<input type="hidden" name="payment_id" id="paymentIdEdit" value="">
|
||||||
|
<div class="row">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<label for="financeServicesEdit">Services *</label>
|
||||||
|
{!! Form::select('services[]', $service_type_names , old('services'), ['class' => 'form-control' , 'id' => 'financeServicesEdit', 'required' => 'required', 'multiple'=> 'true', 'style' => 'width: 100%']) !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" >
|
||||||
|
<div class="col-md-12" style="padding-bottom: 5px;">
|
||||||
|
<label for="invoiceNumberEdit">Invoice Number *</label>
|
||||||
|
<input type="text" class="form-control" name="invoice_number" id="invoiceNumberEdit" required >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" >
|
||||||
|
<div class="col-md-12" style="padding-bottom: 5px;">
|
||||||
|
<label for="invoiceAmountEdit">Invoice Amount</label>
|
||||||
|
<input type="number" class="form-control" name="invoice_amount" id="invoiceAmountEdit" required >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class='input-group date' id='myDatepicker2' style="padding-bottom: 5px;">
|
||||||
|
<label for="invoiceDateEdit">Invoice Date *</label>
|
||||||
|
<input type="text" class="form-control" name="invoice_date" id="invoiceDateEdit" 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="invoiceStatusEdit">Status *</label>
|
||||||
|
{!! Form::select('invoice_status', [ 'PAID' => 'PAID', 'UNPAID' => 'UNPAID'] , old('services'), ['class' => 'form-control' , 'id' => 'invoiceStatusEdit', 'required' => 'required', 'placeholder' => '', 'style' => 'width: 100%']) !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" >
|
||||||
|
<div class="col-md-12" style="padding-bottom: 5px;">
|
||||||
|
<label for="remarksEdit">Remarks</label>
|
||||||
|
<input type="text" class="form-control" name="remarks" id="remarksEdit"></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 -->
|
||||||
102
resources/views/client/partials/finance.blade.php
Normal file
102
resources/views/client/partials/finance.blade.php
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
<div class="modal fade" id="financePaymentsForm" 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">Payment Details</h5>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<form class="form-vertical" method="POST" id="financeForm" action="{{ url('clients/finance_store') }}">
|
||||||
|
{{ csrf_field() }}
|
||||||
|
<input type="hidden" name="client_id" id="clientID" value="{{ $showclient->id }}">
|
||||||
|
<div class="row">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<label for="financeServices">Services *</label>
|
||||||
|
{!! Form::select('services[]', $service_type_names , old('services'), ['class' => 'form-control' , 'id' => 'financeServices', 'required' => 'required', 'multiple'=> 'true', 'style' => 'width: 100%']) !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" >
|
||||||
|
<div class="col-md-12" style="padding-bottom: 5px;">
|
||||||
|
<label for="invoiceNumber">Invoice Number *</label>
|
||||||
|
<input type="text" class="form-control" name="invoice_number" id="invoiceNumber" required >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" >
|
||||||
|
<div class="col-md-12" style="padding-bottom: 5px;">
|
||||||
|
<label for="invoiceAmount">Invoice Amount</label>
|
||||||
|
<input type="number" class="form-control" name="invoice_amount" id="invoiceAmount" required >
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="form-group" >
|
||||||
|
<div class="col-md-12" style="padding-bottom: 5px;">
|
||||||
|
<label for="invoiceDate">Invoice Date *</label>
|
||||||
|
<input type="text" class="form-control" name="invoice_date" id="invoiceDate" required >
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class='input-group date' id='myDatepicker2' style="padding-bottom: 5px;">
|
||||||
|
<label for="invoiceDate">Invoice Date *</label>
|
||||||
|
<!-- <input type='text' class="form-control" /> -->
|
||||||
|
<input type="text" class="form-control" name="invoice_date" id="invoiceDate" 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="invoiceStatus">Invoice Status</label>
|
||||||
|
<input type="text" class="form-control" name="invoice_status" id="invoiceStatus"></textarea>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<!-- <div class="form-group">
|
||||||
|
<div class="col-md-12" style="padding-bottom: 5px">
|
||||||
|
<label for="invoiceStatus">Invoice Status</label>
|
||||||
|
<select id="invoiceStatus" class="form-control">
|
||||||
|
<option>--Select--</option>
|
||||||
|
<option value="PAID">Paid</option>
|
||||||
|
<option value="UNPAID">Unpaid</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="col-md-12" style="padding-bottom: 5px">
|
||||||
|
<label for="invoiceStatus">Status *</label>
|
||||||
|
{!! Form::select('invoice_status', [ 'PAID' => 'PAID', 'UNPAID' => 'UNPAID'] , old('services'), ['class' => 'form-control' , 'id' => 'invoiceStatus', 'required' => 'required', 'placeholder' => '', 'style' => 'width: 100%']) !!}
|
||||||
|
</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 -->
|
||||||
63
resources/views/client/partials/new_notes.blade.php
Normal file
63
resources/views/client/partials/new_notes.blade.php
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
<div class="modal fade" id="newNotesForm" tabindex="-1" role="dialog" aria-labelledby="approveModalLabel" 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="approveModalLabelHeading">New Notes</h5>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<form class="form-vertical" method="POST" id="newNotesFormForm" action="{{ url('clients/notes_store') }}">
|
||||||
|
{{ csrf_field() }}
|
||||||
|
<!-- <input type="hidden" name="user_id" value="" id="userID" > -->
|
||||||
|
<input type="hidden" name="client_id" id="clientID" value="{{ $showclient->id }}">
|
||||||
|
<div class="row">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="notesServices">Services</label>
|
||||||
|
<div class="col-md-12">
|
||||||
|
{!! Form::select('services[]', $service_type_names , old('services'), ['class' => 'form-control' , 'id' => 'notesServices', 'required' => 'required', 'multiple'=> 'true', 'style' => 'width: 100%']) !!}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" >
|
||||||
|
<div class="col-md-12" style="padding-bottom: 5px;">
|
||||||
|
<label for="notesBody">Notes</label>
|
||||||
|
<textarea class="form-control" name="notes_body" rows="5" id="notesBody"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="pull-rights">
|
||||||
|
<label>Highlight :</label>
|
||||||
|
<div class="">
|
||||||
|
<div class="">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" name="highlight" class="" /> YES
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</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 -->
|
||||||
44
resources/views/client/partials/recent-payments.blade.php
Normal file
44
resources/views/client/partials/recent-payments.blade.php
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped ">
|
||||||
|
<thead>
|
||||||
|
<tr class="headings">
|
||||||
|
{{-- <th>#</th> --}}
|
||||||
|
<th class="column-title">Invoice Number</th>
|
||||||
|
<th class="column-title">Invoice Amount</th>
|
||||||
|
<th class="column-title">Invoice Date</th>
|
||||||
|
<th class="column-title">Services</th>
|
||||||
|
<th class="column-title">Remarks</th>
|
||||||
|
<th class="column-title">Status</th>
|
||||||
|
<th class="column-title no-link last"><span class="nobr">Action</span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@if ($recent_payments->isEmpty())
|
||||||
|
<tr>
|
||||||
|
<td class="" colspan="12">No Records found</td>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
@foreach ($recent_payments as $row)
|
||||||
|
<tr class="even pointer">
|
||||||
|
<td class="mes-td col-md-1">{{ $row->invoice_number }}</td>
|
||||||
|
<td class="mes-td col-md-1">{{ $row->invoice_amount }}</td>
|
||||||
|
<td class="mes-td col-md-2">{{ date('d-m-Y', strtotime($row->invoice_date)) }}</td>
|
||||||
|
<td class="mes-td col-md-3">{{ $row->services }} </td>
|
||||||
|
<td class="mes-td col-md-3" style="width: 100px;">{{ $row->remarks }}</td>
|
||||||
|
<td class="mes-td col-md-1"><span class="label label-<?php echo ($row->invoice_status == 'PAID') ? 'success' : 'danger'; ?>"> {{ $row->invoice_status }}</span></td>
|
||||||
|
<td class="last col-md-1" style="width: 100px;">
|
||||||
|
<span>
|
||||||
|
<input type="hidden" name="payment_entry_id" value="{{ $row->id }}" class="paymentEntryRowId">
|
||||||
|
<a href="" class="btn btn-xs btn-primary paymentEntryEditBtn"><i class="fa fa-edit"></i></a>
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
45
resources/views/client/partials/sms-codes.blade.php
Normal file
45
resources/views/client/partials/sms-codes.blade.php
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped ">
|
||||||
|
<thead>
|
||||||
|
<tr class="headings">
|
||||||
|
{{-- <th>#</th> --}}
|
||||||
|
<th class="column-title">Name</th>
|
||||||
|
<th class="column-title">Code</th>
|
||||||
|
<th class="column-title">Network</th>
|
||||||
|
<th class="column-title">Toll Free</th>
|
||||||
|
<th class="column-title">Status</th>
|
||||||
|
<th class="column-title">Remarks</th>
|
||||||
|
<th class="column-title">Launch Date</th>
|
||||||
|
<th class="column-title no-link last"><span class="nobr">Action</span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@if ($sms_codes->isEmpty())
|
||||||
|
<tr>
|
||||||
|
<td class="" colspan="12">No Records found</td>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
@foreach ($sms_codes as $row)
|
||||||
|
<tr class="even pointer">
|
||||||
|
<td class="mes-td col-md-2">{{ $row->name }}</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-1">{{ $row->toll_free }}</td>
|
||||||
|
<td class="mes-td col-md-1">{{ $row->status }}</td>
|
||||||
|
<td class="mes-td col-md-2">{{ $row->remarks }}</td>
|
||||||
|
<td class="mes-td col-md-1" style="width: 100px;">{{ date('d-m-Y', strtotime($row->launch_date)) }}</td>
|
||||||
|
<td class="last col-md-1" style="width: 100px;">
|
||||||
|
<span>
|
||||||
|
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
46
resources/views/client/partials/ussd-codes.blade.php
Normal file
46
resources/views/client/partials/ussd-codes.blade.php
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped ">
|
||||||
|
<thead>
|
||||||
|
<tr class="headings">
|
||||||
|
{{-- <th>#</th> --}}
|
||||||
|
<th class="column-title">Name</th>
|
||||||
|
<th class="column-title">Code</th>
|
||||||
|
<th class="column-title">Network/Country</th>
|
||||||
|
<th class="column-title">Toll Free</th>
|
||||||
|
<th class="column-title">Status</th>
|
||||||
|
<th class="column-title">Remarks</th>
|
||||||
|
<th class="column-title">Launch Date</th>
|
||||||
|
<th class="column-title no-link last"><span class="nobr">Action</span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@if ($ussd_codes->isEmpty())
|
||||||
|
<tr>
|
||||||
|
<td class="" colspan="12">No Records found</td>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
@foreach ($ussd_codes as $row)
|
||||||
|
<tr class="even pointer">
|
||||||
|
<td class="mes-td col-md-2">{{ $row->name }}</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-1">{{ $row->toll_free }}</td>
|
||||||
|
<td class="mes-td col-md-1">{{ $row->status }}</td>
|
||||||
|
<td class="mes-td col-md-2">{{ $row->remarks }}</td>
|
||||||
|
<td class="mes-td col-md-1" style="width: 100px;">{{ date('d-m-Y', strtotime($row->launch_date)) }}</td>
|
||||||
|
<td class="last col-md-1" style="width: 100px;">
|
||||||
|
<span>
|
||||||
|
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>
|
||||||
|
<a title="" data-val="{{ $row->id }}" class="btn btn-xs btn-danger removeCode"><i class="fa fa-trash"></i></a>
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
45
resources/views/client/partials/voice-codes.blade.php
Normal file
45
resources/views/client/partials/voice-codes.blade.php
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<div>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped ">
|
||||||
|
<thead>
|
||||||
|
<tr class="headings">
|
||||||
|
{{-- <th>#</th> --}}
|
||||||
|
<th class="column-title">Name</th>
|
||||||
|
<th class="column-title">Code</th>
|
||||||
|
<th class="column-title">Network/Country</th>
|
||||||
|
<th class="column-title">Toll Free</th>
|
||||||
|
<th class="column-title">Status</th>
|
||||||
|
<th class="column-title">Launch Date</th>
|
||||||
|
<th class="column-title no-link last"><span class="nobr">Action</span>
|
||||||
|
</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@if ($voice_codes->isEmpty())
|
||||||
|
<tr>
|
||||||
|
<td class="" colspan="12">No Records found</td>
|
||||||
|
</tr>
|
||||||
|
@else
|
||||||
|
@foreach ($voice_codes as $row)
|
||||||
|
<tr class="even pointer">
|
||||||
|
<td class="mes-td col-md-2">{{ $row->name }}</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-1">{{ $row->toll_free }}</td>
|
||||||
|
<td class="mes-td col-md-1">{{ $row->status }}</td>
|
||||||
|
<td class="mes-td col-md-2">{{ $row->remarks }}</td>
|
||||||
|
<td class="mes-td col-md-1" style="width: 100px;">{{ date('d-m-Y', strtotime($row->launch_date)) }}</td>
|
||||||
|
<td class="last col-md-1" style="width: 100px;">
|
||||||
|
<span>
|
||||||
|
<a href="" class="btn btn-xs btn-primary"><i class="fa fa-edit"></i></a>
|
||||||
|
<a title="" data-val="{{ $row->id }}" class="btn btn-xs btn-danger removeCode"><i class="fa fa-trash"></i></a>
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
@endif
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
88
resources/views/client/shortcodes.blade.php
Normal file
88
resources/views/client/shortcodes.blade.php
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
@extends('layouts.master')
|
||||||
|
@section('page_title')
|
||||||
|
@if(isset($page_title))
|
||||||
|
{{ $page_title }}
|
||||||
|
@endif
|
||||||
|
@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><a href="{!! url('clients') !!}">Clients</a></li>
|
||||||
|
<li class="active">Clients</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title_right">
|
||||||
|
|
||||||
|
<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> Client Short Codes </h2>
|
||||||
|
<div class="pull-right">
|
||||||
|
<!-- <a class="btn btn-primary btn-sm" href="{!! url('clients/create') !!}"><i class="fa fa-plus-circle"></i> Add Client</a> -->
|
||||||
|
</div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="x_content">
|
||||||
|
<div class="col-md-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" data-toggle="tab" aria-expanded="true">Company</a></li> -->
|
||||||
|
<li role="presentation" class="active"><a href="#tabSmsShortCode" role="tab" id="smsshortcode-tab2" data-toggle="tab" aria-expanded="true">SMS Short Codes</a></li>
|
||||||
|
<li role="presentation" class=""><a href="#tabUssdShortCode" role="tab" id="ussdshortcode-tab2" data-toggle="tab" aria-expanded="false">USSD Short Codes</a></li>
|
||||||
|
<li role="presentation" class=""><a href="#tabVoiceShortCode" role="tab" id="voiceshortcode-tab2" 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 role="tabpanel" class="tab-pane fade active in" id="tabSmsShortCode" aria-labelledby="smsshortcode-tab">
|
||||||
|
<h4 class="lead"><strong>SMS Short Code </strong></h4>
|
||||||
|
@include('client.partials.client-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>
|
||||||
|
@include('client.partials.client-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>
|
||||||
|
@include('client.partials.client-voice-codes')
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('javascript')
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
@endsection
|
||||||
@@ -6,7 +6,10 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
@include('client.new_notes')
|
@include('client.partials.new_notes')
|
||||||
|
@include('client.partials.finance')
|
||||||
|
@include('client.partials.create-shortcodes')
|
||||||
|
@include('client.partials.edit-finance')
|
||||||
<div class="">
|
<div class="">
|
||||||
<div class="page-title">
|
<div class="page-title">
|
||||||
<div class="title_left">
|
<div class="title_left">
|
||||||
@@ -83,28 +86,143 @@
|
|||||||
<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="" role="tabpanel" data-example-id="togglable-tabs">
|
||||||
<ul id="myTab" class="nav nav-tabs bar_tabs" role="tablist">
|
<ul id="myTab" class="nav nav-tabs bar_tabs" role="tablist">
|
||||||
<li role="presentation" class="active"><a href="#tabCompany" id="home-tab" role="tab" data-toggle="tab" aria-expanded="true">Company</a></li>
|
<li role="presentation" class="active"><a href="#tabCompany" id="company-tab" role="tab" data-toggle="tab" aria-expanded="true">Company</a></li>
|
||||||
<li role="presentation" class=""><a href="#tabConnection" role="tab" id="profile-tab" data-toggle="tab" aria-expanded="false">Connection</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="profile-tab2" data-toggle="tab" aria-expanded="false">Contract</a></li>
|
<li role="presentation" class=""><a href="#tabContract" role="tab" id="contract-tab2" data-toggle="tab" aria-expanded="false">Contract</a></li>
|
||||||
<li role="presentation" class=""><a href="#tabFinance" role="tab" id="profile-tab2" data-toggle="tab" aria-expanded="false">Finance</a></li>
|
<li role="presentation" class=""><a href="#tabFinance" role="tab" id="finance-tab2" data-toggle="tab" aria-expanded="false">Finance</a></li>
|
||||||
<li role="presentation" class=""><a href="#tabNotes" role="tab" id="profile-tab2" data-toggle="tab" aria-expanded="false">Notes</a></li>
|
<li role="presentation" class=""><a href="#tabNotes" role="tab" id="notes-tab2" data-toggle="tab" aria-expanded="false">Notes</a></li>
|
||||||
|
<li role="presentation" class=""><a href="#tabSmsShortCode" role="tab" id="smsshortcode-tab2" data-toggle="tab" aria-expanded="false">SMS Short Codes</a></li>
|
||||||
|
<li role="presentation" class=""><a href="#tabUssdShortCode" role="tab" id="ussdshortcode-tab2" data-toggle="tab" aria-expanded="false">USSD Short Codes</a></li>
|
||||||
|
<li role="presentation" class=""><a href="#tabVoiceShortCode" role="tab" id="voiceshortcode-tab2" data-toggle="tab" aria-expanded="false">Voice Short Codes</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="myTabContent" class="tab-content">
|
<div id="myTabContent" class="tab-content">
|
||||||
<div role="tabpanel" class="tab-pane fade active in" id="tabCompany" aria-labelledby="home-tab">
|
<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>
|
<h4 class="lead"><strong>Company Details</strong></h4>
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<p>Country : <strong> {{ $showclient->country or "N/A" }}</strong></p>
|
<p>Country : <strong> {{ $showclient->country or "N/A" }}</strong></p>
|
||||||
<p>Company Type : <strong> {{ $showclient->company_type or "N/A" }}</strong></p>
|
<p>Company Type : <strong> {{ $showclient->company_type or "N/A" }}</strong></p>
|
||||||
<!-- <p>Products </p> -->
|
<!-- <p>Products </p> -->
|
||||||
<!-- <p>Products Description</p> -->
|
<!-- <p>Products Description</p> -->
|
||||||
<!-- <p>Product Specification</p> -->
|
<!-- <p>Product Specification</p> -->
|
||||||
<!-- <p>Networks</p> gettype(json_decode($showclient->sender_ids, true )); -->
|
<!-- <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>
|
<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>
|
</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($showclient->support_phones !== null)
|
||||||
|
<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($showclient->support_emails !== null)
|
||||||
|
<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($showclient->rate_emails !== null)
|
||||||
|
<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($showclient->finance_emails !== null)
|
||||||
|
<blockquote>
|
||||||
|
<?php
|
||||||
|
$the_arr = json_decode($showclient->finance_emails, 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($showclient->support_skype !== null)
|
||||||
|
<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>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="tab-pane fade" id="tabConnection" aria-labelledby="profile-tab">
|
<div role="tabpanel" class="tab-pane fade" id="tabConnection" aria-labelledby="connection-tab">
|
||||||
|
|
||||||
<h4 class="lead"><strong>Connection Details </strong></h4>
|
<h4 class="lead"><strong>Connection Details </strong></h4>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
@@ -112,32 +230,32 @@
|
|||||||
<br>
|
<br>
|
||||||
|
|
||||||
<p>Partner SMPP Details <br>
|
<p>Partner SMPP Details <br>
|
||||||
<?php if($showclient->smpp_details) { echo $showclient->smpp_details; } else {echo "N/A"; } ?></p>
|
<?php //if($showclient->smpp_details) { echo $showclient->smpp_details; } else {echo "N/A"; } ?></p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="tab-pane fade" id="tabContract" aria-labelledby="profile-tab">
|
<div role="tabpanel" class="tab-pane fade" id="tabContract" aria-labelledby="contract-tab">
|
||||||
<h4 class="lead"> <strong>Contract Details </strong></h4>
|
<h4 class="lead"> <strong>Contract Details </strong></h4>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<p>Contract Type : <strong> {{ ucfirst($showclient->contract_type) ?? 'N/A'}} </strong><br> </p>
|
<p>Contract Type : <strong> {{ ucfirst($showclient->contract_type) ?? 'N/A'}} </strong><br> </p>
|
||||||
|
|
||||||
|
|
||||||
<p>Contract Validity (years) : <strong> {{ $showclient->contract_validity or 'N/A'}} </strong></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>
|
||||||
|
<p>Renewal Due : <strong class="text-<?php echo ($highlight_colour == 'none') ? '' : 'danger'; ?> "> {{ $renewal_due }} </strong></p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="tab-pane fade" id="tabFinance" aria-labelledby="profile-tab">
|
<div role="tabpanel" class="tab-pane fade" id="tabFinance" aria-labelledby="finance-tab">
|
||||||
<h4 class="lead"><strong>Finance Details </strong></h4>
|
<h4 class="lead"><strong>Finance Details </strong></h4>
|
||||||
<blockquote>
|
<button type="button" class="btn btn-success btn-sm pull-right" id="createPaymentBtn"><i class="fa fa-plus-square"></i> New Payment Details</button>
|
||||||
<p>Last Invoice Sent : "N/A" </p><br>
|
<div class="clearfix"></div>
|
||||||
|
<hr>
|
||||||
|
@include('client.partials.recent-payments')
|
||||||
<p>Payment Status : N/A</p>
|
|
||||||
</blockquote>
|
|
||||||
</div>
|
</div>
|
||||||
<div role="tabpanel" class="tab-pane fade" id="tabNotes" aria-labelledby="profile-tab">
|
<div role="tabpanel" class="tab-pane fade" id="tabNotes" aria-labelledby="notes-tab">
|
||||||
<strong><h3> Notes</h3> </strong>
|
<strong><h3> Notes</h3> </strong>
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
<!-- {{ url('clients/create-notes') }} -->
|
<!-- {{ url('clients/create-notes') }} -->
|
||||||
<button type="button" class="btn btn-success btn-sm" id="creatNotesBtn">New Notes <i class="fa fa-plus-square"></i> </button>
|
<button type="button" class="btn btn-success btn-sm" id="createNotesBtn">New Notes <i class="fa fa-plus-square"></i> </button>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
<div style="background-color: #dce2e4; height: 400px; overflow: scroll;">
|
<div style="background-color: #dce2e4; height: 400px; overflow: scroll;">
|
||||||
@@ -169,6 +287,24 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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>
|
||||||
@@ -180,55 +316,5 @@
|
|||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
@section('javascript')
|
@section('javascript')
|
||||||
<script type="text/javascript">
|
<script type="text/javascript" src="{{ url('public/assets/js/clientshow.js') }}"></script>
|
||||||
$(document).ready(function(){
|
|
||||||
$('select').select2();
|
|
||||||
$('#creatNotesBtn').click(function(evt){
|
|
||||||
evt.preventDefault();
|
|
||||||
$('#newNotesForm').modal('show');
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#newNotesFormForm').submit(function(evt){
|
|
||||||
evt.preventDefault();
|
|
||||||
var formData = new FormData($(this)[0]);
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: base_url + '/clients/notes_store',
|
|
||||||
data : formData,
|
|
||||||
processData: false,
|
|
||||||
contentType: false,
|
|
||||||
async: false,
|
|
||||||
success: function (data){
|
|
||||||
if (data.code === 1) {
|
|
||||||
$("#newNotesFormForm")[0].reset();
|
|
||||||
$.alert({
|
|
||||||
title: 'Alert!',
|
|
||||||
content: 'Notes added successfully',
|
|
||||||
});
|
|
||||||
setTimeout(function(){
|
|
||||||
location.reload();
|
|
||||||
}, 8000);
|
|
||||||
}
|
|
||||||
else if (data.code > 5) {
|
|
||||||
$.alert({
|
|
||||||
title: 'Alert!',
|
|
||||||
content: data.msg,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$.alert({
|
|
||||||
title: 'Alert!',
|
|
||||||
content: 'Your request could not be handled. Try again !',
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
@endsection
|
@endsection
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="x_content">
|
<div class="x_content">
|
||||||
Add content to the page ...
|
Page Design Not ready
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -7,17 +7,21 @@
|
|||||||
<div class="">
|
<div class="">
|
||||||
<img src="{!! url('public/assets/img/click-banner.png') !!}" alt="Click Mobile Banner Logo">
|
<img src="{!! url('public/assets/img/click-banner.png') !!}" alt="Click Mobile Banner Logo">
|
||||||
</div>
|
</div>
|
||||||
<h2>New Notes Alert</h2>
|
<h2>{{ date('F d, Y') }} New Notes Alert <br></h2>
|
||||||
{{ date('F d, Y') }} <br>
|
|
||||||
|
|
||||||
Hello Sam,<br>
|
Hello Sam,<br>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
{{ $created_by }} has added a new note entry to the client details of {{ $client }}.</b>
|
{{ $created_by }} has added a new note entry to the client details of <b> {{ $client }} </b>.</b>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
<strong>Notes Details</strong>
|
<strong>Notes Details</strong>
|
||||||
<p>{{ $notes_body }}</p>
|
<br>
|
||||||
|
<em>{{ $notes_body }}</em>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Sincerely, <br>
|
Sincerely, <br>
|
||||||
|
|||||||
@@ -19,7 +19,11 @@
|
|||||||
<!-- NProgress -->
|
<!-- NProgress -->
|
||||||
<link href="{!! url('public/assets/vendors/nprogress/nprogress.css') !!}" rel="stylesheet">
|
<link href="{!! url('public/assets/vendors/nprogress/nprogress.css') !!}" rel="stylesheet">
|
||||||
<link href="{!! url('public/assets/vendors/select2/dist/css/select2.min.css') !!}" rel="stylesheet">
|
<link href="{!! url('public/assets/vendors/select2/dist/css/select2.min.css') !!}" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- bootstrap-datetimepicker -->
|
||||||
|
<!-- <link href="../vendors/bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css" rel="stylesheet"> -->
|
||||||
|
<link href="{!! url('public/assets/vendors/bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css') !!}" rel="stylesheet">
|
||||||
|
|
||||||
<link href="{!! url('public/assets/css/sweetalert.css') !!}" type="text/css" rel="stylesheet">
|
<link href="{!! url('public/assets/css/sweetalert.css') !!}" type="text/css" rel="stylesheet">
|
||||||
<link href="{!! url('public/assets/css/click.css') !!}" type="text/css" rel="stylesheet">
|
<link href="{!! url('public/assets/css/click.css') !!}" type="text/css" rel="stylesheet">
|
||||||
<link href="{!! url('public/assets/css/jquery-confirm.min.css') !!}" type="text/css" rel="stylesheet">
|
<link href="{!! url('public/assets/css/jquery-confirm.min.css') !!}" type="text/css" rel="stylesheet">
|
||||||
@@ -107,6 +111,10 @@
|
|||||||
<script src="{!! url('public/assets/vendors/jquery/dist/jquery.min.js') !!}"></script>
|
<script src="{!! url('public/assets/vendors/jquery/dist/jquery.min.js') !!}"></script>
|
||||||
<!-- Bootstrap -->
|
<!-- Bootstrap -->
|
||||||
<script src="{!! url('public/assets/vendors/bootstrap/dist/js/bootstrap.min.js') !!}"></script>
|
<script src="{!! url('public/assets/vendors/bootstrap/dist/js/bootstrap.min.js') !!}"></script>
|
||||||
|
<script src="{!! url('public/assets/vendors/moment/min/moment.min.js') !!}"></script>
|
||||||
|
|
||||||
|
<!-- <script src="../vendors/moment/min/moment.min.js"></script> -->
|
||||||
|
|
||||||
<!-- FastClick -->
|
<!-- FastClick -->
|
||||||
<!-- <script src="{!! url('public/aseets/vendors/fastclick/lib/fastclick.js') !!}"></script> -->
|
<!-- <script src="{!! url('public/aseets/vendors/fastclick/lib/fastclick.js') !!}"></script> -->
|
||||||
<!-- NProgress -->
|
<!-- NProgress -->
|
||||||
@@ -114,6 +122,9 @@
|
|||||||
<script src="{!! url('public/assets/vendors/select2/dist/js/select2.min.js') !!}"></script>
|
<script src="{!! url('public/assets/vendors/select2/dist/js/select2.min.js') !!}"></script>
|
||||||
|
|
||||||
<script src="{!! url('public/assets/js/sweetalert.min.js') !!}"></script>
|
<script src="{!! url('public/assets/js/sweetalert.min.js') !!}"></script>
|
||||||
|
<!-- bootstrap-datetimepicker -->
|
||||||
|
<!-- <script src="../vendors/bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"></script> -->
|
||||||
|
<script src="{!! url('public/assets/vendors/bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js') !!}"></script>
|
||||||
<script src="{!! url('public/assets/js/jquery-confirm.min.js') !!}"></script>
|
<script src="{!! url('public/assets/js/jquery-confirm.min.js') !!}"></script>
|
||||||
<script>
|
<script>
|
||||||
if ($('.notification-alert').length) {
|
if ($('.notification-alert').length) {
|
||||||
|
|||||||
@@ -18,11 +18,17 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li> -->
|
</li> -->
|
||||||
<li><a href="{!! url('network_ops') !!}"><i class="fa fa-globe"></i> Network Operators </a></li>
|
<li><a href="{!! url('network_ops') !!}"><i class="fa fa-globe"></i> Network Operators </a></li>
|
||||||
<li><a href="{!! url('clickapps') !!}"><i class="fa fa-database"></i> Click Apps </a></li>
|
<li><a href="{!! url('clickapps') !!}"><i class="fa fa-code"></i> Click Apps </a></li>
|
||||||
<!-- <li>
|
<!-- <li>
|
||||||
<li><a href="{!! url('infrastructure/server-list') !!}">Server List</a></li>
|
<li><a href="{!! url('infrastructure/server-list') !!}">Server List</a></li>
|
||||||
<a href="{!! url('services') !!}"><i class="fa fa-shopping-bag"></i> Services </a>
|
<a href="{!! url('services') !!}"><i class="fa fa-shopping-bag"></i> Services </a>
|
||||||
</li> -->
|
</li> -->
|
||||||
|
<li><a><i class="fa fa-dot-circle-o"></i>Short Codes <span class="fa fa-chevron-down"></span></a>
|
||||||
|
<ul class="nav child_menu">
|
||||||
|
<li><a href="{!! url('clients/shortcodes') !!}">Short Codes</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
<li><a><i class="fa fa-table"></i>Meeting Reports <span class="fa fa-chevron-down"></span></a>
|
<li><a><i class="fa fa-table"></i>Meeting Reports <span class="fa fa-chevron-down"></span></a>
|
||||||
<ul class="nav child_menu">
|
<ul class="nav child_menu">
|
||||||
<li><a href="{!! url('reports') !!}">Accout Mgt Report</a></li>
|
<li><a href="{!! url('reports') !!}">Accout Mgt Report</a></li>
|
||||||
@@ -31,7 +37,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</li>
|
<!-- </li> -->
|
||||||
@if(session('current_user.designation') == 'administrator' || session('current_user.designation') == 'technical')
|
@if(session('current_user.designation') == 'administrator' || session('current_user.designation') == 'technical')
|
||||||
<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">
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ Auth::routes();
|
|||||||
Route::get('/home', 'HomeController@index')->name('home');
|
Route::get('/home', 'HomeController@index')->name('home');
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
Route::get('testemail', 'UtilityController@EmailTest');
|
||||||
|
|
||||||
Route::get('login', 'LoginController@getLoginPage');
|
Route::get('login', 'LoginController@getLoginPage');
|
||||||
|
|
||||||
Route::post('login', 'LoginController@handleLogin');
|
Route::post('login', 'LoginController@handleLogin');
|
||||||
@@ -32,16 +34,25 @@ Route::get('ussd/dashboard', 'UssdDashboardController@index');
|
|||||||
|
|
||||||
|
|
||||||
Route::group(['middleware' => ['checklogin']], function(){
|
Route::group(['middleware' => ['checklogin']], function(){
|
||||||
Route::get('/', 'MeetingReportsController@showDetails');
|
//Route::get('/', 'MeetingReportsController@showDetails');
|
||||||
|
Route::get('/', 'DashboardController@index');
|
||||||
|
|
||||||
Route::get('dashboard', 'MeetingReportsController@showDetails');
|
//Route::get('dashboard', 'MeetingReportsController@showDetails');
|
||||||
|
Route::get('dashboard', 'DashboardController@index');
|
||||||
Route::get('reportdetails/{id}', 'MeetingReportsController@showDetails');
|
Route::get('reportdetails/{id}', 'MeetingReportsController@showDetails');
|
||||||
|
|
||||||
Route::resource('network_ops', 'NetworkOperatorsController');
|
Route::resource('network_ops', 'NetworkOperatorsController');
|
||||||
Route::resource('services', 'ServicesController');
|
Route::resource('services', 'ServicesController');
|
||||||
|
|
||||||
|
|
||||||
|
Route::post('clients/shortcode_store', 'ClientsController@shortcodeStore');
|
||||||
Route::post('clients/notes_store', 'ClientsController@notesStore');
|
Route::post('clients/notes_store', 'ClientsController@notesStore');
|
||||||
|
Route::post('clients/finance_store', 'ClientsController@financeStore');
|
||||||
|
Route::post('clients/finance_update', 'ClientsController@financeUpdate');
|
||||||
|
|
||||||
|
Route::get('clients/get_payment/{id}', 'ClientsController@getPayment');
|
||||||
Route::get('clients/create-notes', 'ClientsController@createNotes');
|
Route::get('clients/create-notes', 'ClientsController@createNotes');
|
||||||
|
Route::get('clients/shortcodes', 'ClientsController@getShortCodes');
|
||||||
|
|
||||||
Route::get('clients/all', 'ClientsController@getClientJson');
|
Route::get('clients/all', 'ClientsController@getClientJson');
|
||||||
Route::post('clients/raw', 'ClientsController@getClientJsonRawJs');
|
Route::post('clients/raw', 'ClientsController@getClientJsonRawJs');
|
||||||
@@ -77,6 +88,8 @@ Route::group(['middleware' => ['checklogin']], function(){
|
|||||||
|
|
||||||
Route::resource('ussdclients', 'UssdClientsPaymentsController');
|
Route::resource('ussdclients', 'UssdClientsPaymentsController');
|
||||||
|
|
||||||
|
Route::get('clickapps/shortcodes', 'ClickAppsController@getShortCodes');
|
||||||
|
|
||||||
Route::resource('clickapps', 'ClickAppsController');
|
Route::resource('clickapps', 'ClickAppsController');
|
||||||
|
|
||||||
Route::resource('marketreport', 'MarketerReportController');
|
Route::resource('marketreport', 'MarketerReportController');
|
||||||
|
|||||||
Reference in New Issue
Block a user