diff --git a/app/Http/Controllers/ClientsController.php b/app/Http/Controllers/ClientsController.php index 27b2337..e0c7cc9 100755 --- a/app/Http/Controllers/ClientsController.php +++ b/app/Http/Controllers/ClientsController.php @@ -9,6 +9,7 @@ use Illuminate\Support\Arr; use App\Jobs\SendNewUssdClientEmail; use App\Jobs\SendUssdClientActiveEmail; use App\Jobs\SendNewNotesEmailAlert; +use App\Http\Requests; class ClientsController extends Controller @@ -22,7 +23,7 @@ class ClientsController extends Controller { $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(15); //dd($client_arr); $data = [ 'page_title' => 'Clients', @@ -93,48 +94,7 @@ class ClientsController extends Controller } return response()->json($client_arr); } - public function indexOriginal() - { - - $client_arr = new Models\Client; - $table_columns = \DB::select(\DB::raw("show full columns from clients")); - $exclude_arr = [ - 'updated_at', 'id', 'auth_user_id', 'pay_mode', 'type', 'created_at', 'currency' - ]; - $columns = []; - $queries = []; - foreach ($table_columns as $key) { - $columns[$key->Field] = $key->Field; - } - foreach ($columns as $col) { - if (request('filter') == $col) { - $filter = request('filter'); - $keyword = request('keyword'); - $table_arr = ['staff_id', 'pay_mode']; - // dump($col); - // dump(in_array($col, $table_arr)); - if (in_array($col, $table_arr)) { - $key = $this->get_filter_ids($filter, $keyword); - if (!empty($key)) { - $keyword = $key; - } - } - $client_arr = $client_arr->where($col, 'like', '%'.$keyword.'%'); - $queries[$col] = request('keyword'); - } - } - - $client_arr = $client_arr->with('payment_type_info', 'service_info', 'auth_user_info', 'created_by_info')->orderBy('name', 'ASC')->paginate(10)->appends($queries); - $columns = Arr::except($columns, $exclude_arr); - $columns['pay_mode'] = 'Payment Mode'; - $data = [ - 'page_title' => 'Clients', - 'columns' => $columns, - 'client_arr' => $client_arr, - 'current_user' => session('current_user') - ]; - return view('client.index', $data); - } + /** * Show the form for creating a new resource. @@ -243,8 +203,6 @@ class ClientsController extends Controller 'notes_body' => 'required' ]); $auth_user = session('current_user'); - - // dd($request->all()); //'email' => 'unique:users,email_address' $notes_arr = [ 'notes_body' => $request->notes_body, @@ -278,14 +236,13 @@ class ClientsController extends Controller 'client_id' => 'required', 'services' => 'required', 'invoice_number' => 'required', - 'invoice_amount' => 'required', + 'invoice_amount' => 'required|numeric', 'invoice_date' => 'required', 'invoice_status' => 'required' ]); $auth_user = session('current_user'); - // dd($request->all()); - //'email' => 'unique:users,email_address' + //dd($request->all()); $finance_arr = [ 'invoice_number' => $request->invoice_number, 'invoice_amount' => $request->invoice_amount, @@ -323,11 +280,15 @@ class ClientsController extends Controller 'launch_date' => 'required' ]); $auth_user = session('current_user'); - + $network = Models\NetworkOps::find($request->network); + // dump($network); + // dd($request->all()); + $shortcode_arr = [ 'name' => $request->name, 'client_id' => $request->client_id, - 'network' => $request->network, + 'network' => $network->name, + 'country' => $network->country, 'shortcode' => $request->shortcode, 'code_type' => $request->code_type, 'toll_free' => $request->toll_free, @@ -356,7 +317,7 @@ class ClientsController extends Controller 'client_id' => 'required', 'services' => 'required', 'invoice_number' => 'required', - 'invoice_amount' => 'required', + 'invoice_amount' => 'required|numeric', 'invoice_date' => 'required', 'invoice_status' => 'required' ]); @@ -395,7 +356,6 @@ class ClientsController extends Controller } return response()->json($data, 200); } - /** * Display the specified resource. * @@ -417,8 +377,98 @@ class ClientsController extends Controller $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'); + $networks = Models\NetworkOps::pluck('name', 'id'); + $showdocuments = Models\ClientFile::where('client_id', $id)->get(); + if ($showclient->status == 'Live') { + $status_bg = "info"; + } + elseif ($showclient->status == 'Prospective') { + $status_bg = "warning"; + } + else{ + $status_bg = "danger"; + } + + $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 = [ + 'page_title' => 'Client Profile', + 'showclient' => $showclient, + 'show_services' => $show_services, + 'service_type' => $service_type, + 'service_type_names' => $service_type_names, + 'show_notes' => $show_notes, + '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, + 'showdocuments' => $showdocuments + ]; + + return view('client.show', $data); + } + public function showReadonly($id) + { + //with('short_code_info')-> + $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_names = Models\Service::pluck('name', 'name'); + $show_services = Models\ClientCategory::where('client_id', $id)->get(); + + //->where('highlight', 'NO') + $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'); + $all_shortcodes = Models\ClientShortCode::with('client_info', 'client_info', 'update_info')->where('client_id', $id)->orderBy('code_type', 'ASC')->get(); + $showdocuments = Models\ClientFile::where('client_id', $id)->get(); + if ($showclient->status == 'Live') { $status_bg = "info"; } @@ -485,9 +535,11 @@ class ClientsController extends Controller 'networks' => $networks, 'renewal_due' => $renewal_due, 'recent_payments' => $recent_payments, - 'highlight_colour' => $highlight_colour + 'highlight_colour' => $highlight_colour, + 'all_shortcodes' => $all_shortcodes, + 'showdocuments' => $showdocuments ]; - return view('client.show', $data); + return view('client.show-readonly', $data); } public function showservices($id) { @@ -560,7 +612,7 @@ class ClientsController extends Controller $status = ['Live' => 'Live', 'inactive' => 'Inactive', 'Prospective' => 'Prospective']; $currency = Models\Currency::pluck('name', 'name'); // - $company_types = ['Aggregator/Supplier' => 'Aggregator/Supplier', 'Enterprise' => 'Enterprise', 'Hybrid' => 'Hybrid']; + $company_types = ['Aggregator/Supplier' => 'Aggregator/Supplier', 'Enterprise' => 'Enterprise']; $auth_users = Models\Account::pluck('name', 'id'); $industries = Models\Industry::orderBy('name', 'ASC')->pluck('name', 'name'); $message_types_arr = ['International' => 'International', 'Local' => 'Local']; @@ -642,7 +694,7 @@ class ClientsController extends Controller $status_bg = "danger"; } - $contract_types = ['bilateral' => 'bilateral', 'unilateral' => 'unilateral']; + $contract_types = ['Bilateral' => 'Bilateral', 'Unilateral' => 'Unilateral']; $connections = ['SMPP' => 'SMPP', 'HTTP' => 'HTTP']; @@ -689,9 +741,10 @@ class ClientsController extends Controller * @param int $id * @return \Illuminate\Http\Response */ - public function update(Request $request, $id) + public function update(Requests\UpdateClientRequest $request, $id) { //Todo : work on the services and the sender IDs + /* $request->validate([ 'name' => 'required', 'email' => 'required|email', @@ -700,9 +753,53 @@ class ClientsController extends Controller 'currency' => 'required', 'auth_user_id' => 'required' ]); + */ $client_update = Models\Client::find($id); - - // dd($request->support_emails); + if ($request->has('document_one') && $request->has('document_one_name')) { + if ($request->file('document_one')->isValid()) { + $filename = "erp_" . time() . str_random(6) . "." . $request->document_one->extension(); + $request->document_one->storeAs('client_files', $filename, 'public'); + $document_arr['file_path'] = $filename; + $client_update->name = $request->name; + + $document_arr['file_extension'] = $request->document_one->extension(); + $document_arr['file_reff'] = time() . uniqid(); + $document_arr['name'] = $request->document_one_name; + $document_arr['created_by'] = session('current_user.id'); + $document_arr['client_id'] = $id; + $result = Models\ClientFile::create($document_arr); + } + } + if ($request->has('document_two') && $request->has('document_two_name')) { + if ($request->file('document_two')->isValid()) { + $filename = "erp_" . time() . str_random(6) . "." . $request->document_two->extension(); + $request->document_two->storeAs('client_files', $filename, 'public'); + $document_arr['file_path'] = $filename; + $client_update->name = $request->name; + + $document_arr['file_extension'] = $request->document_two->extension(); + $document_arr['file_reff'] = time() . uniqid(); + $document_arr['name'] = $request->document_two_name; + $document_arr['created_by'] = session('current_user.id'); + $document_arr['client_id'] = $id; + $result = Models\ClientFile::create($document_arr); + } + } + if ($request->has('document_three') && $request->has('document_three_name')) { + if ($request->file('document_three')->isValid()) { + $filename = "erp_" . time() . str_random(6) . "." . $request->document_three->extension(); + $request->document_three->storeAs('client_files', $filename, 'public'); + $document_arr['file_path'] = $filename; + $client_update->name = $request->name; + + $document_arr['file_extension'] = $request->document_three->extension(); + $document_arr['file_reff'] = time() . uniqid(); + $document_arr['name'] = $request->document_three_name; + $document_arr['created_by'] = session('current_user.id'); + $document_arr['client_id'] = $id; + $result = Models\ClientFile::create($document_arr); + } + } $client_update->name = $request->name; $client_update->email = $request->email; @@ -772,9 +869,6 @@ class ClientsController extends Controller } $retval = $this->update_services($request->services, $client_update->id); */ - - - Session::flash('success_message', 'Client successfully Updated'); return redirect(url('clients', $id)); } @@ -819,79 +913,54 @@ class ClientsController extends Controller } return true; } - - - public function get_filter_ids($filter, $keyword) + public function storeFiles(AddFilesRequest $request) { - switch ($filter) { - case 'status': - $id = Models\Client::where('status', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - $the_id = $step[0]->id; - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - case 'type': - $id = Models\Client::where('type', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - $the_id = $step[0]->id; - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - case 'country': - $id = Models\Country::where('alpha_2_code', 'like', "%$keyword%")->orWhere('alpha_3_code', 'like', "%$keyword%")->orWhere('en_short_name', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - $the_id = $step[0]->id; - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - case 'currency': - $id = Models\Client::where('currency', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - $the_id = $step[0]->id; - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - case 'auth_user_id': - $id = Models\SystemUser::where('name', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - $the_id = $step[0]->id; - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - case 'name': - // $this->log_query(); - $id = Models\Client::where('name', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - case 'pay_mode': - // $this->log_query(); - $id = Models\PaymentType::where('name', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - default: - return ''; - break; + $document_arr = $request->except('document'); + if ($request->hasFile('document')) { + if ($request->file('document')->isValid()) { + $filename = "erp_" . time() . "." . $request->document->extension(); + $request->document->storeAs('client_files', $filename, 'public'); + $document_arr['document'] = json_encode([$filename]); + } } + $document_arr['file_extension'] = $request->document->extension(); + $document_arr['file_reff'] = time() . uniqid(); + $document_arr['last_modified_by'] = session('current_user.id'); + + $result = Models\ClientFile::create($document_arr); + + if ($result) { + $data = ['code' => 1, 'msg' => 'Document successfully uploaded']; + } + else{ + $data = ['code' => 3, 'msg' => 'Your request could not be handled at this time']; + } + return response()->json($data, 200); + } + public function getClientFile($id) + { + $client_file = Models\ClientFile::with('client_info')->findOrFail($id); + //PDF file is stored under project/public/download/info.pdf + $file = public_path('documents/client_files/') . $client_file->file_path; + + $headers = []; //['Content-Type: application/pdf']; + $filename = $client_file->client_info->name . "_" . $client_file->name; + $filename = $this->cleanStr($filename); + $filename = $filename . "." . $client_file->file_extension; + // $filename = str_replace(' ', '_', $filename); + return \Response::download($file, $filename, $headers); + } + public function cleanStr($string){ + // Replaces all spaces with hyphens. + $string = str_replace(' ', '-', $string); + // Removes special chars. + $string = preg_replace('/[^A-Za-z0-9\-]/', '', $string); + // Replaces multiple hyphens with single one. + $string = preg_replace('/-+/', '_', $string); + + return $string; +} } diff --git a/app/Http/Controllers/NetworkOperatorsController.php b/app/Http/Controllers/NetworkOperatorsController.php index 28061e1..efc21cf 100755 --- a/app/Http/Controllers/NetworkOperatorsController.php +++ b/app/Http/Controllers/NetworkOperatorsController.php @@ -15,7 +15,7 @@ class NetworkOperatorsController extends Controller * * @return \Illuminate\Http\Response */ - public function index() + public function indexBAK() { $network_operators = new Models\NetworkOps; $table_columns = \DB::select(\DB::raw("show full columns from network_operators")); @@ -52,6 +52,36 @@ class NetworkOperatorsController extends Controller return view('network_ops.index', $data); } + public function index(){ + //$mno_arr = Models\NetworkOps::get(); + $data = [ + 'page_title' => 'Mobile Network Operators', + 'current_user' => session('current_user') + ]; + return view('network_ops.index', $data); + } + public function getMnosJson(Request $request) + { + //$this->log_query(); + $mno_arr = \DB::table('network_operators') + ->join('staff_members AS staffam', 'staffam.id', '=', 'network_operators.account_manager_id') + ->join('staff_members AS staffmodify', 'staffmodify.id', '=', 'network_operators.last_modified_by') + ->select('network_operators.id', 'staffam.name AS accountManager', 'network_operators.name AS networkName', 'network_operators.country', 'network_operators.connection_status', 'staffmodify.name AS modifiedBy') + ->orderBy('network_operators.name', 'ASC') + ->paginate(15); + + if($request->has('keyword')){ + $keyword = $request->keyword; + $mno_arr = \DB::table('network_operators') + ->join('staff_members AS staffam', 'staffam.id', '=', 'network_operators.account_manager_id') + ->join('staff_members AS staffmodify', 'staffmodify.id', '=', 'network_operators.last_modified_by') + ->select('network_operators.id', 'staffam.name AS accountManager', 'network_operators.name AS networkName', 'network_operators.country', 'network_operators.connection_status', 'staffmodify.name AS modifiedBy') + ->whereRaw("network_operators.name LIKE '%$keyword%' OR network_operators.connection_status LIKE '%$keyword%' OR network_operators.country LIKE '%$keyword%' OR staffam.name LIKE '%$keyword%' ") + ->orderBy('network_operators.name', 'ASC') + ->paginate(15); + } + return response()->json($mno_arr); + } /** * Show the form for creating a new resource. @@ -60,12 +90,16 @@ class NetworkOperatorsController extends Controller */ public function create() { - $countries = Models\Country::pluck('en_short_name','alpha_2_code'); + $countries = Models\Country::pluck('en_short_name','en_short_name'); $account_manager = Models\SystemUser::pluck('name', 'id'); + $services = Models\Service::pluck('name', 'name'); + $status = ['Active' => 'Active', 'Inactive' => 'Inactive', 'Pending' => 'Pending']; $data = [ 'page_title' => 'Create Network Operator', 'countries'=> $countries, - 'account_manager' => $account_manager + 'account_manager' => $account_manager, + 'services' => $services, + 'status' => $status ]; return view('network_ops.create', $data); @@ -83,16 +117,41 @@ class NetworkOperatorsController extends Controller 'name' => 'required', 'country' => 'required', 'account_manager_id' => 'required', + 'services' => 'required', + 'contact_person' => 'required', + 'email' => 'required', + 'phone' => 'required' ]); $operator_arr = [ 'name' => $request->name, 'country' => $request->country, - 'account_manager_id' => $request->account_manager_id + 'account_manager_id' => $request->account_manager_id, + 'contact_person' => $request->contact_person, + 'connection_status' => $request->status, + 'contact_person_phone' => $request->phone, + 'contact_person_email' => $request->email, + 'last_modified_by' => session('current_user.id') ]; + if ($request->has('services')) { + $operator_arr['services'] = json_encode($request->services); + } + if ($request->has('phone')) { + $operator_arr['phone'] = $request->phone; + } + if ($request->has('skype_name')) { + $operator_arr['contact_person_skype'] = $request->skype_name; + } + if ($request->has('linkedin_name')) { + $operator_arr['linkedin_name'] = $request->linkedin_name; + } + if ($request->has('contact_person')) { + $operator_arr['contact_person'] = $request->contact_person; + } + $saved = Models\NetworkOps::create($operator_arr); Session::flash('success_message', 'Network Operator successfully added'); - return redirect(url('network_ops')); + return redirect(url('mnos')); } /** @@ -121,16 +180,76 @@ class NetworkOperatorsController extends Controller public function edit($id) { $network_arr = Models\NetworkOps::findOrFail($id); - $countries = Models\Country::pluck('en_short_name','alpha_2_code'); + $countries = Models\Country::pluck('en_short_name','en_short_name'); $account_manager = Models\SystemUser::pluck('name', 'id'); + $services = Models\Service::pluck('name', 'name'); + $connection_types = ['VPN' => 'VPN', 'DIRECT' => 'DIRECT']; + $ip_addresses = Models\Mnoips::where('mno_id', $id)->get(); + if ($network_arr->support_emails) { + $support_emails = json_decode($network_arr->support_emails, true); + $support_emails = array_combine($support_emails, $support_emails); + $old_support_emails = json_decode($network_arr->support_emails, true); + } + else{ + $support_emails = []; + $old_support_emails = []; + } + if ($network_arr->support_phones) { + $support_phones = json_decode($network_arr->support_phones, true); + $support_phones = array_combine($support_phones, $support_phones); + $old_support_phones = json_decode($network_arr->support_phones, true); + } + else{ + $support_phones = []; + $old_support_phones = []; + } + if ($network_arr->support_skype) { + $support_skype_arr = json_decode($network_arr->support_skype, true); + $support_skype_arr = array_combine($support_skype_arr, $support_skype_arr); + $old_support_skype_arr = json_decode($network_arr->support_skype, true); + } + else{ + $support_skype_arr = []; + $old_support_skype_arr = []; + } + $old_connection_type = []; + if ($network_arr->connection_type) { + $connection_type = json_decode($network_arr->connection_type, true); + $connection_type = array_combine($connection_type, $connection_type); + $old_connection_type = json_decode($network_arr->connection_type, true); + } + else{ + $old_connection_type = []; + } + + if ($network_arr->connection_status == 'Active') { + $status_bg = "info"; + } + elseif ($network_arr->connection_status == 'Pending') { + $status_bg = "warning"; + } + else{ + $status_bg = "danger"; + } $data = [ 'page_title' => 'Edit Network Operator', 'network_arr' => $network_arr, 'countries'=> $countries, - 'account_manager' => $account_manager + 'account_manager' => $account_manager, + 'current_services' => json_decode($network_arr->services, true), + 'services' => $services->toArray(), + 'support_emails' => $support_emails, + 'support_skype_arr' => $support_skype_arr, + 'support_phones' => $support_phones, + 'old_support_emails' => $old_support_emails, + 'old_support_skype_arr' => $old_support_skype_arr, + 'old_support_phones' => $old_support_phones, + 'status_bg' => $status_bg, + 'connection_types' => $connection_types, + 'old_connection_type' => $old_connection_type, + 'ip_addresses' => $ip_addresses ]; - return view('network_ops.edit', $data); } @@ -147,18 +266,71 @@ class NetworkOperatorsController extends Controller 'name' => 'required', 'country' => 'required', 'account_manager_id' => 'required', + 'services' => 'required', + 'contact_person' => 'required', + 'contact_person_email' => 'required', + 'contact_person_phone' => 'required' ]); - + + // dd($request->all()); $operator_update = Models\NetworkOps::find($id); $operator_update->name = $request->name; $operator_update->country = $request->country; $operator_update->account_manager_id = $request->account_manager_id; + + + $operator_update->contact_person_email = $request->contact_person_email; + $operator_update->contact_person_phone = $request->contact_person_phone; + $operator_update->contact_person = $request->contact_person; + $operator_update->connection_status = $request->connection_status ?? ""; + $operator_update->connection_type = ($request->connection_type) ? json_encode($request->connection_type) : ""; + + $operator_update->contact_person_skype = $request->contact_person_skype ?? ""; + + #$operator_update->connections = ($request->connections) ? json_encode($request->connections) : ""; + $operator_update->services = ($request->services) ? json_encode($request->services) : ""; + $operator_update->support_emails = ($request->support_emails) ? json_encode($request->support_emails) : ""; + $operator_update->support_phones = ($request->support_phones) ? json_encode($request->support_phones) : ""; + $operator_update->support_skype = ($request->support_skype) ? json_encode($request->support_skype) : ""; + + $result = $operator_update->save(); Session::flash('success_message', 'Network Operator successfully Updated'); - return redirect(url('network_ops')); + return redirect(url('mnos')); } + public function ipStore(Request $request) + { + $request->validate([ + 'mno_id' => 'required', + 'ip_address' => 'required|ipv4', + 'service' => 'required', + 'port' => 'sometimes|numeric', + 'status' => 'required' + ]); + $auth_user = session('current_user'); + $addresses_arr = [ + 'ip_address' => $request->ip_address, + 'mno_id' => $request->mno_id, + 'service' => $request->service, + 'port' => $request->port, + 'status' => $request->status, + 'created_by' => $auth_user['id'], + 'last_modified_by' => $auth_user['id'] + ]; + + + $result = Models\Mnoips::create($addresses_arr); + + if ($result) { + $data = ['code' => 1, 'msg' => 'IP Address successfully added']; + } + else{ + $data = ['code' => 3, 'msg' => 'Your request could not be handled at this time']; + } + return response()->json($data, 200); + } /** * Remove the specified resource from storage. * @@ -173,43 +345,6 @@ class NetworkOperatorsController extends Controller return response()->json($result_arr); } Session::flash('success_message', 'Network Operator successfully deleted!'); - return redirect(route('network_ops.index')); - } - - - - public function get_filter_ids($filter, $keyword){ - switch ($filter) { - case 'name': - $id = Models\NetworkOps::where('name', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - $the_id = $step[0]->id; - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - case 'country': - $id = Models\Country::where('alpha_2_code', 'like', "%$keyword%")->orWhere('alpha_3_code', 'like', "%$keyword%")->orWhere('en_short_name', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - $the_id = $step[0]->id; - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - case 'account_manager_id': - $id = Models\SyatemUser::where('name', 'like', "%$keyword%")->get(['id']); - if ($id->isEmpty()) { - return ''; - } - $step = json_decode($id); - $the_id = $step[0]->id; - return (count($step) > 0 ) ? $step[0]->id : ""; - break; - default: - return ''; - break; - } + return redirect(route('mnos.index')); } } diff --git a/app/Http/Controllers/SenderIdController.php b/app/Http/Controllers/SenderIdController.php new file mode 100644 index 0000000..977bd61 --- /dev/null +++ b/app/Http/Controllers/SenderIdController.php @@ -0,0 +1,148 @@ +with('modified_by_info', 'network_info', 'created_by_info')->orderBy('senderid', 'ASC')->paginate(15); + // dd($senderid_arr); + $data = [ + 'page_title' => 'Sender IDs', + // 'senderid_arr' => $senderid_arr, + 'current_user' => session('current_user') + ]; + return view('senderid.index', $data); + } + public function getSenderIdsJson(Request $request) + { + #$this->log_query(); + $senderid_arr = \DB::table('sender_ids') + ->join('staff_members AS staffcreate', 'staffcreate.id', '=', 'sender_ids.created_by') + ->join('staff_members AS staffmodify', 'staffmodify.id', '=', 'sender_ids.last_modified_by') + ->join('network_operators', 'network_operators.id', '=', 'sender_ids.network_id') + ->join('clients', 'clients.id', '=', 'sender_ids.client_id') + ->select('sender_ids.id', 'clients.name AS clientName', 'network_operators.name AS networkName', 'network_operators.country', 'sender_ids.senderid', 'sender_ids.status', 'sender_ids.network_id', 'network_operators.country','sender_ids.remarks', 'staffcreate.name As createdBy', 'staffmodify.name AS modifiedBy') + ->orderBy('sender_ids.senderid', 'ASC') + ->paginate(15); + + if($request->has('keyword')){ + $keyword = $request->keyword; + $senderid_arr = \DB::table('sender_ids') + ->join('staff_members AS staffcreate', 'staffcreate.id', '=', 'sender_ids.created_by') + ->join('staff_members AS staffmodify', 'staffmodify.id', '=', 'sender_ids.last_modified_by') + ->join('network_operators', 'network_operators.id', '=', 'sender_ids.network_id') + ->join('clients', 'clients.id', '=', 'sender_ids.client_id') + ->select('sender_ids.id', 'clients.name AS clientName', 'network_operators.name AS networkName', 'network_operators.country', 'sender_ids.senderid', 'sender_ids.status', 'sender_ids.network_id', 'network_operators.country','sender_ids.remarks', 'staffcreate.name As createdBy', 'staffmodify.name AS modifiedBy') + ->whereRaw("sender_ids.senderid LIKE '%$keyword%' OR sender_ids.status LIKE '%$keyword%' OR network_operators.name LIKE '%$keyword%' OR network_operators.country LIKE '%$keyword%' OR staffcreate.name LIKE '%$keyword%' OR staffmodify.name LIKE '%$keyword%' OR clients.name LIKE '%$keyword%'") + ->orderBy('sender_ids.senderid', 'ASC') + ->paginate(15); + } + return response()->json($senderid_arr); + } + public function create() + { + #$network_arr = Models\NetworkOps::pluck('name','country'); + + $networks = \DB::table('network_operators')->Select(\DB::raw('id, concat(name, " (", country, ")") AS network'))->orderBy('network')->get()->toArray(); + $network_arr = array_pluck($networks, 'network', 'id'); + // dd($network_arr); + #$network_arr = array_combine($network_arr, $network_arr); + + + $clients = Models\Client::pluck('name', 'id'); + $staffmembers = Models\StaffMember::pluck('name', 'id'); + $status = ['Pending' => 'Pending', 'Inactive' => 'Inactive', 'Approved' => 'Approved']; + + $data = [ + 'page_title' => 'Create Sender ID', + 'network_arr' => $network_arr, + 'status' => $status, + 'clients' => $clients, + 'staffmembers' => $staffmembers + ]; + + return view('senderid.create', $data); + } + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $request->validate([ + 'senderid' => 'required|max:11', + 'network_id' => 'required', + 'status' => 'required', + 'remarks' => 'sometimes', + ]); + $senderid_arr = $request->except('_token'); + $senderid_arr['created_by'] = session('current_user.id'); + $senderid_arr['last_modified_by'] = session('current_user.id'); + $senderid_arr['remarks'] = $request->remarks ?? ''; + + + $result = Models\SenderId::create($senderid_arr); + + + #save services this has been moved to the main client table + //$retval = $this->store_services($request->services, $result->id); + + Session::flash('success_message', 'Sender ID successfully added'); + return redirect(url('senderids')); + } + public function edit($id){ + $senderid = Models\SenderId::findOrFail($id); + //dd($senderid); + + $networks = \DB::table('network_operators')->Select(\DB::raw('id, concat(name, " (", country, ")") AS network'))->orderBy('network')->get()->toArray(); + $network_arr = array_pluck($networks, 'network', 'id'); + + + $clients = Models\Client::pluck('name', 'id'); + $staffmembers = Models\StaffMember::pluck('name', 'id'); + $status = ['Pending' => 'Pending', 'Inactive' => 'Inactive', 'Approved' => 'Approved']; + + + $data = [ + 'page_title' => 'Create Sender ID', + 'network_arr' => $network_arr, + 'status' => $status, + 'clients' => $clients, + 'senderid' => $senderid, + 'staffmembers' => $staffmembers + ]; + + return view('senderid.edit', $data); + } + public function update(Request $request, $id) + { + + $request->validate([ + 'senderid' => 'required|max:11', + 'network_id' => 'required', + 'status' => 'required', + 'remarks' => 'sometimes', + ]); + + $senderid = Models\SenderId::findOrFail($id); + + $senderid->senderid = $request->senderid; + $senderid->client_id = $request->client_id; + $senderid->status = $request->status; + $senderid->network_id = $request->network_id; + $senderid->remarks = $request->remarks; + + $senderid->save(); + + Session::flash('success_message', 'Sender ID successfully Updated'); + return redirect(url('senderids')); + } +} diff --git a/app/Http/Controllers/StaffMembersController.php b/app/Http/Controllers/StaffMembersController.php new file mode 100644 index 0000000..44c5ec5 --- /dev/null +++ b/app/Http/Controllers/StaffMembersController.php @@ -0,0 +1,141 @@ + 'Staff Members', + 'current_user' => session('current_user') + ]; + return view('staff_members.index', $data); + } + public function getstaffMemberssJson(Request $request) + { + #$this->log_query(); + $staff_members_arr = \DB::table('staff_members') + ->join('departments', 'departments.id', '=', 'staff_members.department_id') + ->join('auth_users AS staffcreate', 'staffcreate.id', '=', 'staff_members.created_by') + ->join('auth_users AS staffmodify', 'staffmodify.id', '=', 'staff_members.modified_by') + ->select('staff_members.id', 'staffcreate.name AS createdBy', 'staff_members.name','staff_members.phone', 'staffmodify.name AS modifiedBy', 'departments.name AS deptName', 'staff_members.gender', 'staff_members.profile_pic', 'staff_members.email', 'staff_members.personal_email', 'staff_members.staff_number', 'staff_members.staff_number', 'staff_members.status', 'staff_members.location_country', 'staff_members.hire_date') + ->orderBy('staff_members.name', 'ASC') + ->paginate(10); + + if($request->has('keyword')){ + $keyword = $request->keyword; + $staff_members_arr = \DB::table('staff_members') + ->join('departments', 'departments.id', '=', 'staff_members.department_id') + ->join('auth_users AS staffcreate', 'staffcreate.id', '=', 'staff_members.created_by') + ->join('auth_users AS staffmodify', 'staffmodify.id', '=', 'staff_members.modified_by') + ->select('staff_members.id', 'staffcreate.name AS createdBy','staff_members.name', 'staff_members.phone', 'staffmodify.name AS modifiedBy', 'departments.name AS deptName', 'staff_members.gender', 'staff_members.profile_pic', 'staff_members.email', 'staff_members.personal_email', 'staff_members.staff_number', 'staff_members.status', 'staff_members.location_country', 'staff_members.hire_date') + ->whereRaw("staffcreate.name LIKE '%$keyword%' OR staffmodify.name LIKE '%$keyword%' OR staff_members.name LIKE '%$keyword%' OR departments.name LIKE '%$keyword%' OR staff_members.gender LIKE '%$keyword%' OR staff_members.email LIKE '%$keyword%' OR staff_members.personal_email LIKE '%$keyword%' OR staff_members.staff_number LIKE '%$keyword%' OR 'staff_members.staff_number' LIKE '%$keyword%' OR 'staff_members.location_country' LIKE '%$keyword%' OR 'staff_members.hire_date' LIKE '%$keyword%'") + ->orderBy('staff_members.name', 'ASC') + ->paginate(10); + } + return response()->json($staff_members_arr); + } + public function create() + { + $countries = Models\Country::pluck('en_short_name','en_short_name'); + $departments = Models\Department::pluck('name', 'id'); + $status = ['Inactive' => 'Inactive', 'Active' => 'Active', 'Pending Confirmation' => 'Pending Confirmation']; + $gender_arr = ['Female' => 'Female', 'Male' => 'Male']; + $data = [ + 'page_title' => 'Add Staff Member', + 'countries' => $countries, + 'status' => $status, + 'gender_arr' => $gender_arr, + 'departments' => $departments, + ]; + + return view('staff_members.create', $data); + } + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $request->validate([ + 'name' => 'required', + 'gender' => 'required', + 'department_id' => 'required', + 'email' => 'required', + 'personal_email' => 'required', + 'phone' => 'required', + 'location_country' => 'required', + 'hire_date' => 'sometimes|date', + 'profile_pic' => 'sometimes', + 'staff_number' => 'sometimes' + ]); + $staff_members_arr = $request->except('_token'); + $staff_members_arr['created_by'] = session('current_user.id'); + $staff_members_arr['modified_by'] = session('current_user.id'); + + + + $result = Models\StaffMember::create($staff_members_arr); + Session::flash('success_message', 'Staff Member successfully added'); + return redirect(url('staffmembers')); + } + public function edit($id){ + $staff_member = Models\StaffMember::findOrFail($id); + + $countries = Models\Country::pluck('en_short_name','en_short_name'); + $departments = Models\Department::pluck('name', 'id'); + $status = ['Inactive' => 'Inactive', 'Active' => 'Active', 'Pending Confirmation' => 'Pending Confirmation']; + $gender_arr = ['Female' => 'Female', 'Male' => 'Male']; + + $data = [ + 'page_title' => 'Edit Staff Member Details', + 'countries' => $countries, + 'status' => $status, + 'staff_member' => $staff_member, + 'gender_arr' => $gender_arr, + 'departments' => $departments + ]; + + return view('staff_members.edit', $data); + } + public function update(Request $request, $id) + { + $request->validate([ + 'name' => 'required', + 'gender' => 'required', + 'department_id' => 'required', + 'email' => 'required', + 'personal_email' => 'required', + 'phone' => 'required', + 'location_country' => 'required', + 'hire_date' => 'sometimes|date' + ]); + + $staff_member = Models\StaffMember::findOrFail($id); + + $staff_member->name = $request->name; + $staff_member->email = $request->email; + $staff_member->status = $request->status; + $staff_member->personal_email = $request->personal_email; + $staff_member->department_id = $request->department_id; + $staff_member->location_country = $request->location_country; + $staff_member->phone = $request->phone; + $staff_member->hire_date = $request->hire_date; + $staff_member->staff_number = $request->staff_number; + $staff_member->gender = $request->gender; + if ($request->has('profile_pic')) { + $staff_member->profile_pic = $request->profile_pic; + } + $staff_member->save(); + + Session::flash('success_message', 'Staff Member Details successfully Updated'); + return redirect(url('staffmembers')); + } +} diff --git a/app/Http/Requests/AddFilesRequest.php b/app/Http/Requests/AddFilesRequest.php new file mode 100644 index 0000000..7d673d0 --- /dev/null +++ b/app/Http/Requests/AddFilesRequest.php @@ -0,0 +1,32 @@ + "required", + "description" => "sometimes", + "photo" => "required|max:2000|mimes:png,jpg,jpeg,bmp,pdf,docx", + ]; + } +} diff --git a/app/Http/Requests/UpdateClientRequest.php b/app/Http/Requests/UpdateClientRequest.php new file mode 100644 index 0000000..7222cfd --- /dev/null +++ b/app/Http/Requests/UpdateClientRequest.php @@ -0,0 +1,41 @@ + 'required', + 'email' => 'required|email', + 'country' => 'required', + 'status' => 'required', + 'currency' => 'required', + 'auth_user_id' => 'required', + 'document_one_name' => 'required_with:document_one.*', + 'document_two_name' => 'required_with:document_two.*', + 'document_two_name' => 'required_with:document_three.*', + 'document_one' => 'max:2000|mimes:png,jpg,jpeg,bmp,pdf,doc,docx', + 'document_three' => 'max:2000|mimes:png,jpg,jpeg,bmp,pdf,doc,docx', + 'document_three' => 'max:2000|mimes:png,jpg,jpeg,bmp,pdf,doc,docx' + ]; + } +} diff --git a/app/Models/ClientFile.php b/app/Models/ClientFile.php new file mode 100644 index 0000000..bda725b --- /dev/null +++ b/app/Models/ClientFile.php @@ -0,0 +1,14 @@ +hasOne('App\Models\Client', 'id', 'client_id'); + } +} diff --git a/app/Models/Department.php b/app/Models/Department.php new file mode 100644 index 0000000..d644a03 --- /dev/null +++ b/app/Models/Department.php @@ -0,0 +1,10 @@ +hasOne('App\Models\Country', 'alpha_2_code', 'country'); - } - public function account_manager_info(){ - return $this->hasOne('App\Models\SystemUser', 'id', 'account_manager_id'); + return $this->hasOne('App\Models\StaffMember', 'id', 'account_manager_id'); } } diff --git a/app/Models/SenderId.php b/app/Models/SenderId.php new file mode 100644 index 0000000..86674b5 --- /dev/null +++ b/app/Models/SenderId.php @@ -0,0 +1,21 @@ +hasOne('App\Models\StaffMember', 'id', 'last_modified_by'); + } + public function network_info(){ + return $this->hasOne('App\Models\NetworkOps', 'id', 'netowkr_id'); + } + public function created_by_info(){ + return $this->hasOne('App\Models\StaffMember', 'id', 'created_by'); + } +} diff --git a/app/Models/StaffMember.php b/app/Models/StaffMember.php new file mode 100644 index 0000000..c4b334c --- /dev/null +++ b/app/Models/StaffMember.php @@ -0,0 +1,21 @@ +hasOne('App\Models\Department', 'id', 'department_id'); + } + public function created_by_info(){ + return $this->hasOne('App\Models\Account', 'id', 'created_by'); + } + public function modified_by_info(){ + return $this->hasOne('App\Models\Account', 'id', 'modified_by'); + } +} diff --git a/click_team_tracker2021090910-34 AM.sql b/click_team_tracker2021090910-34 AM.sql deleted file mode 100755 index cb2f55b..0000000 --- a/click_team_tracker2021090910-34 AM.sql +++ /dev/null @@ -1,983 +0,0 @@ -# ************************************************************ -# Sequel Pro SQL dump -# Version 5446 -# -# https://www.sequelpro.com/ -# https://github.com/sequelpro/sequelpro -# -# Host: 127.0.0.1 (MySQL 5.7.21-0ubuntu0.17.10.1) -# Database: click_team_tracker -# Generation Time: 2021-09-09 10:34:33 +0000 -# ************************************************************ - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; -SET NAMES utf8mb4; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - - -# Dump of table accounts -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `accounts`; - -CREATE TABLE `accounts` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(200) NOT NULL DEFAULT '', - `account_manager_id` int(11) NOT NULL, - `type` varchar(200) NOT NULL DEFAULT '', - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - - - -# Dump of table apps -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `apps`; - -CREATE TABLE `apps` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `app_name` varchar(50) NOT NULL, - `app_type` varchar(4) NOT NULL, - `code` varchar(10) NOT NULL, - `country` varchar(20) NOT NULL, - `operator` varchar(20) NOT NULL, - `tollfree` varchar(5) NOT NULL, - `app_path` varchar(200) NOT NULL, - `client` varchar(50) NOT NULL, - `launch_date` varchar(30) NOT NULL, - `status` varchar(12) NOT NULL, - `other_info` text NOT NULL, - `documents` text, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `apps` WRITE; -/*!40000 ALTER TABLE `apps` DISABLE KEYS */; - -INSERT INTO `apps` (`id`, `app_name`, `app_type`, `code`, `country`, `operator`, `tollfree`, `app_path`, `client`, `launch_date`, `status`, `other_info`, `documents`, `created_at`, `updated_at`) -VALUES - (1,'Infobox TNM','USSD','*288#','Malawi','TNM','NO','/var/www/html/ussd_click_tnm_info','Click Mobile','N/A','Active','N/A',NULL,NULL,NULL), - (2,'Sapota ','USSD','*1515#','Malawi','TNM','NO','/var/www/html/sapota_ussd','Click Mobile','N/A','Cancelled','#Subscription is free\r\n#Subscribers billed when they receive and SMS\r\n#Promotion changed code to *2020#',NULL,NULL,NULL), - (3,'UNDP Survey','SMS','3011','Malawi','TNM','YES','/var/www/html/routes/undp_survey','UNDP','2020-11-25','Finished','Contact: Wasili +265999640867',NULL,NULL,NULL), - (4,'UNDP Survey','SMS','3011','Malawi','Airtel','YES','/var/www/html/routes/undp_survey','UNDP','2020-11-25','Finished','Contact: Wasili +265999640867',NULL,NULL,NULL), - (5,'Zampira','USSD','*2020#','Malawi','TNM','NO','/var/www/html/ussd_click_tnm_zampira_mw','Click Mobile','N/A','Pending','#Subscription is free\r\n#Subscribers billed when they receive and SMS\r\n#Promotion changed code to *2020# from *1515#',NULL,NULL,NULL), - (6,'mHealth','USSD','*321#','Malawi','TNM','YES','/var/www/html/ussd_click_tnm_mhealth','GSMA/TNM','N/A','Active','#Subscription and content both free',NULL,NULL,NULL), - (7,'Drug Side Effects Reporting App','USSD','*360#','Malawi','TNM','YES','/var/www/html/ussd_click_tnm_poisonsb_mw','Pharmacy and Medicines Poison Board of Malawi','N/A','Testing','#MT sent after each reporting',NULL,NULL,NULL), - (8,'Old mutual SULOM Predict & Win','SMS','371','Malawi','TNM','NO','','Old Mutual-SULOM','N/A','Testing','#charge 50 kwacha/SMS',NULL,NULL,NULL); - -/*!40000 ALTER TABLE `apps` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table auth_users -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `auth_users`; - -CREATE TABLE `auth_users` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(200) NOT NULL DEFAULT '', - `designation` int(11) NOT NULL, - `email` varchar(200) NOT NULL DEFAULT '', - `phone` varchar(200) NOT NULL DEFAULT '', - `password` varchar(200) NOT NULL DEFAULT '', - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `auth_users` WRITE; -/*!40000 ALTER TABLE `auth_users` DISABLE KEYS */; - -INSERT INTO `auth_users` (`id`, `name`, `designation`, `email`, `phone`, `password`, `created_at`, `updated_at`) -VALUES - (1,'Kwesi Banson',3,'kwesi@gmail.com','0509076800','5f4dcc3b5aa765d61d8327deb882cf99','2021-01-26 10:49:51',NULL), - (2,'Nicole Hughes',4,'qurysapel@mailinator.com','0283851774','4bcafd8180b0b79be2f70effc5b1ef40','2021-01-26 10:47:07','2021-01-26 10:47:07'), - (3,'Ariel Villarreal',4,'zicomybabe@mailinator.com','0277171014','d751d6f50de17d526e5ca9ab62bea364','2021-01-26 10:48:42','2021-01-26 10:48:42'), - (4,'Graiden Lynch',3,'rocivejed@mailinator.com','0226672936','5f4dcc3b5aa765d61d8327deb882cf99','2021-01-27 09:41:28','2021-01-27 09:41:28'), - (5,'Hedwig Hess',4,'howone@mailinator.com','0257839588','5f4dcc3b5aa765d61d8327deb882cf99','2021-01-27 09:42:49','2021-01-27 09:42:49'), - (6,'Hedwig Hess',4,'howone@mailinator.com','0257839588','5f4dcc3b5aa765d61d8327deb882cf99','2021-01-27 09:43:19','2021-01-27 09:43:19'), - (7,'ew',4,'howone@mailinator.com','0257839588','d41d8cd98f00b204e9800998ecf8427e','2021-02-08 17:01:35','2021-02-08 17:01:35'), - (8,'Griffin Greene',3,'nakyqiza@mailinator.com','+1 (172) 799-8752','5f4dcc3b5aa765d61d8327deb882cf99','2021-02-08 09:36:53','2021-02-08 09:36:53'), - (9,'Uriah Bush',4,'nocikuc@mailinator.com','','5f4dcc3b5aa765d61d8327deb882cf99','2021-02-14 06:02:21','2021-02-14 05:47:56'); - -/*!40000 ALTER TABLE `auth_users` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table click_files -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `click_files`; - -CREATE TABLE `click_files` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(250) DEFAULT NULL, - `path` varchar(199) DEFAULT NULL, - `description` varchar(199) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - - - -# Dump of table click_servers -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `click_servers`; - -CREATE TABLE `click_servers` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `friendly_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `public_ip_address` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, - `private_ip_address` varchar(45) COLLATE utf8mb4_unicode_ci NOT NULL, - `main_use` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `remarks` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `last_modified_by_id` int(11) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `click_servers` WRITE; -/*!40000 ALTER TABLE `click_servers` DISABLE KEYS */; - -INSERT INTO `click_servers` (`id`, `friendly_name`, `public_ip_address`, `private_ip_address`, `main_use`, `remarks`, `last_modified_by_id`, `created_at`, `updated_at`) -VALUES - (1,'SMS Gateway','206.225.87.174','10.199.0.1','SMS, Airtime, Electricity','Eligendi sunt recusa',1,NULL,'2021-04-19 19:22:37'), - (2,'UCM','206.225.81.36','10.199.0.10','SMSC','Ea quasi aut delectu',1,NULL,'2021-04-19 19:23:11'), - (3,'Billing Server','206.225.95.171','10.199.0.3','Airtime Billing','',1,NULL,NULL), - (4,'PACO','206.225.84.29','10.199.0.30','Bulk SMS Platform','',1,NULL,NULL), - (5,'Apps Server','206.225.84.201','10.199.0.11','Applications, Database','',1,NULL,NULL), - (6,'Reporting','216.55.186.230','10.199.0.13','Reporting for UCM','',1,NULL,NULL), - (7,'Mobile Money','206.225.95.109','10.199.0.16','Mobile Money Services','',1,NULL,NULL), - (8,'UCM 2','206.225.94.150','','SMSC for Airtel MW & ZA','',1,NULL,NULL), - (9,'IVR','206.225.82.37','','IVR Services','',1,NULL,NULL); - -/*!40000 ALTER TABLE `click_servers` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table clients -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `clients`; - -CREATE TABLE `clients` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(200) DEFAULT NULL, - `email` varchar(191) DEFAULT NULL, - `type` varchar(200) DEFAULT NULL, - `country` varchar(200) DEFAULT NULL, - `auth_user_id` int(11) NOT NULL DEFAULT '1', - `status` varchar(200) DEFAULT NULL, - `pay_mode` varchar(200) DEFAULT NULL, - `currency` varchar(200) DEFAULT NULL, - `created_by` int(11) DEFAULT '1', - `last_modified_by` int(11) DEFAULT '1', - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `clients` WRITE; -/*!40000 ALTER TABLE `clients` DISABLE KEYS */; - -INSERT INTO `clients` (`id`, `name`, `email`, `type`, `country`, `auth_user_id`, `status`, `pay_mode`, `currency`, `created_by`, `last_modified_by`, `created_at`, `updated_at`) -VALUES - (1,'Panacea',NULL,'1','KR',1,'active','1','Lek',1,1,'2021-02-12 16:48:12','2021-02-12 16:48:12'), - (2,'INFOBIP',NULL,'1','PA',1,'active','1','Lek',9,9,'2021-02-14 05:48:51','2021-02-14 05:48:51'), - (4,'Southern Region Water Board',NULL,'1','LS',1,'active','1','Afghani',1,1,'2021-02-12 18:52:03','2021-02-12 18:52:03'), - (5,'World Star Betting',NULL,'2','CK',3,'active','1','Afghani',1,1,'2021-02-14 05:47:20','2021-02-14 05:47:20'), - (6,'TEWAYS',NULL,'1','NP',6,'active','1','Afghani',1,1,'2021-02-04 10:23:11','2021-01-28 17:55:59'), - (7,'Edan Pena',NULL,'2','GB',8,'active','1','Danish Krone',1,1,'2021-02-08 17:49:52','2021-02-08 17:49:52'), - (8,'Jasmine Rasmussen',NULL,'2','PS',8,'active','2','Azerbaijan Manat',1,1,'2021-02-14 05:44:37','2021-02-14 05:44:37'), - (9,'Tad Cook',NULL,'1','AF',5,'active','1','Colombian Peso',1,1,'2021-03-09 15:01:42','2021-03-09 15:01:42'), - (10,'Mary Faulkner',NULL,'3','CA',4,'active','2','Bitcoin',1,1,'2021-03-09 15:12:20','2021-03-09 15:12:20'), - (11,'Martena Langley',NULL,'3','LC',9,'inactive','2','Australian Dollar',1,1,'2021-03-16 17:31:13','2021-03-16 17:31:13'), - (12,'Kenneth Flynn','bojanegog@mailinator.com','2','FI',9,'active','1','South Korean won (inv.)',1,1,'2021-03-16 18:26:06','2021-03-16 18:26:06'), - (13,'Zahir Marquez','horilyji@mailinator.com','3','VG',9,'active','1','New Israeli Sheqel',1,1,'2021-03-16 18:26:34','2021-03-16 18:26:34'), - (14,'Kato Stout','xegehuta@mailinator.com','3','JP',9,'active','2','Czech koruna (pl. koruny)',1,1,'2021-03-16 18:28:15','2021-03-16 18:28:15'), - (15,'Kai Pratt','cofon@mailinator.com','3','TT',9,'inactive','1','Tenge',1,1,'2021-03-16 18:29:09','2021-03-16 18:29:09'), - (16,'Hamish Watson','juwademu@mailinator.com','3','GD',1,'active','1','Colombian Peso',1,1,'2021-03-16 18:29:47','2021-03-16 18:29:47'), - (17,'Armando Gonzalez','dysenyfaje@mailinator.com','3','DM',9,'active','1','Jamaican Dollar',1,1,'2021-04-19 18:43:13','2021-04-19 18:43:13'), - (18,'Colin Berry','lexaqa@mailinator.com','3','SB',3,'inactive','2','Australian Dollar',1,1,'2021-03-16 18:33:22','2021-03-16 18:33:22'), - (19,'Fredericka Le','zokemiw@mailinator.com','3','ME',8,'active','1','Riel',1,1,'2021-03-16 18:49:11','2021-03-16 18:49:11'), - (20,'Joseph Beard','cetokop@mailinator.com','3','TN',5,'active','1','Quetzal',1,1,'2021-03-16 18:49:31','2021-03-16 18:49:31'), - (21,'Mariko Eaton','vymeqajehy@mailinator.com','3','GH',8,'active','1','Mexican Peso',1,1,'2021-03-16 18:50:44','2021-03-16 18:50:44'), - (22,'Wendy Jennings','sydomoc@mailinator.com','3','SZ',8,'active','1','Hong Kong Dollar',1,1,'2021-03-16 18:51:03','2021-03-16 18:51:03'), - (23,'Trevor Pittman','foturun@mailinator.com','3','BW',6,'inactive','1','Guyana Dollar',1,1,'2021-04-19 12:22:50','2021-04-19 12:22:50'), - (24,'Mohammad Donovan','webyc@mailinator.com','3','YT',2,'active','2','Bulgarian Lev',1,1,'2021-04-19 12:31:22','2021-04-19 12:31:22'), - (25,'Cooper Meadows','cewoqeteh@mailinator.com','3','LU',1,'active','1','Colombian Peso',1,1,'2021-05-12 09:49:50','2021-05-12 09:49:50'), - (26,'Maia Erickson','cyny@mailinator.com','3','SL',9,'inactive','1','Namibia Dollar',1,1,'2021-05-12 09:55:54','2021-05-12 09:55:54'); - -/*!40000 ALTER TABLE `clients` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table countries -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `countries`; - -CREATE TABLE `countries` ( - `num_code` int(3) NOT NULL DEFAULT '0', - `alpha_2_code` varchar(2) DEFAULT NULL, - `alpha_3_code` varchar(3) DEFAULT NULL, - `en_short_name` varchar(52) DEFAULT NULL, - `nationality` varchar(39) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - -LOCK TABLES `countries` WRITE; -/*!40000 ALTER TABLE `countries` DISABLE KEYS */; - -INSERT INTO `countries` (`num_code`, `alpha_2_code`, `alpha_3_code`, `en_short_name`, `nationality`) -VALUES - (4,'AF','AFG','Afghanistan','Afghan'), - (8,'AL','ALB','Albania','Albanian'), - (10,'AQ','ATA','Antarctica','Antarctic'), - (12,'DZ','DZA','Algeria','Algerian'), - (16,'AS','ASM','American Samoa','American Samoan'), - (20,'AD','AND','Andorra','Andorran'), - (24,'AO','AGO','Angola','Angolan'), - (28,'AG','ATG','Antigua and Barbuda','Antiguan or Barbudan'), - (31,'AZ','AZE','Azerbaijan','Azerbaijani, Azeri'), - (32,'AR','ARG','Argentina','Argentine'), - (36,'AU','AUS','Australia','Australian'), - (40,'AT','AUT','Austria','Austrian'), - (44,'BS','BHS','Bahamas','Bahamian'), - (48,'BH','BHR','Bahrain','Bahraini'), - (50,'BD','BGD','Bangladesh','Bangladeshi'), - (51,'AM','ARM','Armenia','Armenian'), - (52,'BB','BRB','Barbados','Barbadian'), - (56,'BE','BEL','Belgium','Belgian'), - (60,'BM','BMU','Bermuda','Bermudian, Bermudan'), - (64,'BT','BTN','Bhutan','Bhutanese'), - (68,'BO','BOL','Bolivia (Plurinational State of)','Bolivian'), - (70,'BA','BIH','Bosnia and Herzegovina','Bosnian or Herzegovinian'), - (72,'BW','BWA','Botswana','Motswana, Botswanan'), - (74,'BV','BVT','Bouvet Island','Bouvet Island'), - (76,'BR','BRA','Brazil','Brazilian'), - (84,'BZ','BLZ','Belize','Belizean'), - (86,'IO','IOT','British Indian Ocean Territory','BIOT'), - (90,'SB','SLB','Solomon Islands','Solomon Island'), - (92,'VG','VGB','Virgin Islands (British)','British Virgin Island'), - (96,'BN','BRN','Brunei Darussalam','Bruneian'), - (100,'BG','BGR','Bulgaria','Bulgarian'), - (104,'MM','MMR','Myanmar','Burmese'), - (108,'BI','BDI','Burundi','Burundian'), - (112,'BY','BLR','Belarus','Belarusian'), - (116,'KH','KHM','Cambodia','Cambodian'), - (120,'CM','CMR','Cameroon','Cameroonian'), - (124,'CA','CAN','Canada','Canadian'), - (132,'CV','CPV','Cabo Verde','Cabo Verdean'), - (136,'KY','CYM','Cayman Islands','Caymanian'), - (140,'CF','CAF','Central African Republic','Central African'), - (144,'LK','LKA','Sri Lanka','Sri Lankan'), - (148,'TD','TCD','Chad','Chadian'), - (152,'CL','CHL','Chile','Chilean'), - (156,'CN','CHN','China','Chinese'), - (158,'TW','TWN','Taiwan, Province of China','Chinese, Taiwanese'), - (162,'CX','CXR','Christmas Island','Christmas Island'), - (166,'CC','CCK','Cocos (Keeling) Islands','Cocos Island'), - (170,'CO','COL','Colombia','Colombian'), - (174,'KM','COM','Comoros','Comoran, Comorian'), - (175,'YT','MYT','Mayotte','Mahoran'), - (178,'CG','COG','Congo (Republic of the)','Congolese'), - (180,'CD','COD','Congo (Democratic Republic of the)','Congolese'), - (184,'CK','COK','Cook Islands','Cook Island'), - (188,'CR','CRI','Costa Rica','Costa Rican'), - (191,'HR','HRV','Croatia','Croatian'), - (192,'CU','CUB','Cuba','Cuban'), - (196,'CY','CYP','Cyprus','Cypriot'), - (203,'CZ','CZE','Czech Republic','Czech'), - (204,'BJ','BEN','Benin','Beninese, Beninois'), - (208,'DK','DNK','Denmark','Danish'), - (212,'DM','DMA','Dominica','Dominican'), - (214,'DO','DOM','Dominican Republic','Dominican'), - (218,'EC','ECU','Ecuador','Ecuadorian'), - (222,'SV','SLV','El Salvador','Salvadoran'), - (226,'GQ','GNQ','Equatorial Guinea','Equatorial Guinean, Equatoguinean'), - (231,'ET','ETH','Ethiopia','Ethiopian'), - (232,'ER','ERI','Eritrea','Eritrean'), - (233,'EE','EST','Estonia','Estonian'), - (234,'FO','FRO','Faroe Islands','Faroese'), - (238,'FK','FLK','Falkland Islands (Malvinas)','Falkland Island'), - (239,'GS','SGS','South Georgia and the South Sandwich Islands','South Georgia or South Sandwich Islands'), - (242,'FJ','FJI','Fiji','Fijian'), - (246,'FI','FIN','Finland','Finnish'), - (248,'AX','ALA','Åland Islands','Åland Island'), - (250,'FR','FRA','France','French'), - (254,'GF','GUF','French Guiana','French Guianese'), - (258,'PF','PYF','French Polynesia','French Polynesian'), - (260,'TF','ATF','French Southern Territories','French Southern Territories'), - (262,'DJ','DJI','Djibouti','Djiboutian'), - (266,'GA','GAB','Gabon','Gabonese'), - (268,'GE','GEO','Georgia','Georgian'), - (270,'GM','GMB','Gambia','Gambian'), - (275,'PS','PSE','Palestine, State of','Palestinian'), - (276,'DE','DEU','Germany','German'), - (288,'GH','GHA','Ghana','Ghanaian'), - (292,'GI','GIB','Gibraltar','Gibraltar'), - (296,'KI','KIR','Kiribati','I-Kiribati'), - (300,'GR','GRC','Greece','Greek, Hellenic'), - (304,'GL','GRL','Greenland','Greenlandic'), - (308,'GD','GRD','Grenada','Grenadian'), - (312,'GP','GLP','Guadeloupe','Guadeloupe'), - (316,'GU','GUM','Guam','Guamanian, Guambat'), - (320,'GT','GTM','Guatemala','Guatemalan'), - (324,'GN','GIN','Guinea','Guinean'), - (328,'GY','GUY','Guyana','Guyanese'), - (332,'HT','HTI','Haiti','Haitian'), - (334,'HM','HMD','Heard Island and McDonald Islands','Heard Island or McDonald Islands'), - (336,'VA','VAT','Vatican City State','Vatican'), - (340,'HN','HND','Honduras','Honduran'), - (344,'HK','HKG','Hong Kong','Hong Kong, Hong Kongese'), - (348,'HU','HUN','Hungary','Hungarian, Magyar'), - (352,'IS','ISL','Iceland','Icelandic'), - (356,'IN','IND','India','Indian'), - (360,'ID','IDN','Indonesia','Indonesian'), - (364,'IR','IRN','Iran','Iranian, Persian'), - (368,'IQ','IRQ','Iraq','Iraqi'), - (372,'IE','IRL','Ireland','Irish'), - (376,'IL','ISR','Israel','Israeli'), - (380,'IT','ITA','Italy','Italian'), - (384,'CI','CIV','Côte d\'Ivoire','Ivorian'), - (388,'JM','JAM','Jamaica','Jamaican'), - (392,'JP','JPN','Japan','Japanese'), - (398,'KZ','KAZ','Kazakhstan','Kazakhstani, Kazakh'), - (400,'JO','JOR','Jordan','Jordanian'), - (404,'KE','KEN','Kenya','Kenyan'), - (408,'KP','PRK','Korea (Democratic People\'s Republic of)','North Korean'), - (410,'KR','KOR','Korea (Republic of)','South Korean'), - (414,'KW','KWT','Kuwait','Kuwaiti'), - (417,'KG','KGZ','Kyrgyzstan','Kyrgyzstani, Kyrgyz, Kirgiz, Kirghiz'), - (418,'LA','LAO','Lao People\'s Democratic Republic','Lao, Laotian'), - (422,'LB','LBN','Lebanon','Lebanese'), - (426,'LS','LSO','Lesotho','Basotho'), - (428,'LV','LVA','Latvia','Latvian'), - (430,'LR','LBR','Liberia','Liberian'), - (434,'LY','LBY','Libya','Libyan'), - (438,'LI','LIE','Liechtenstein','Liechtenstein'), - (440,'LT','LTU','Lithuania','Lithuanian'), - (442,'LU','LUX','Luxembourg','Luxembourg, Luxembourgish'), - (446,'MO','MAC','Macao','Macanese, Chinese'), - (450,'MG','MDG','Madagascar','Malagasy'), - (454,'MW','MWI','Malawi','Malawian'), - (458,'MY','MYS','Malaysia','Malaysian'), - (462,'MV','MDV','Maldives','Maldivian'), - (466,'ML','MLI','Mali','Malian, Malinese'), - (470,'MT','MLT','Malta','Maltese'), - (474,'MQ','MTQ','Martinique','Martiniquais, Martinican'), - (478,'MR','MRT','Mauritania','Mauritanian'), - (480,'MU','MUS','Mauritius','Mauritian'), - (484,'MX','MEX','Mexico','Mexican'), - (492,'MC','MCO','Monaco','Monégasque, Monacan'), - (496,'MN','MNG','Mongolia','Mongolian'), - (498,'MD','MDA','Moldova (Republic of)','Moldovan'), - (499,'ME','MNE','Montenegro','Montenegrin'), - (500,'MS','MSR','Montserrat','Montserratian'), - (504,'MA','MAR','Morocco','Moroccan'), - (508,'MZ','MOZ','Mozambique','Mozambican'), - (512,'OM','OMN','Oman','Omani'), - (516,'NA','NAM','Namibia','Namibian'), - (520,'NR','NRU','Nauru','Nauruan'), - (524,'NP','NPL','Nepal','Nepali, Nepalese'), - (528,'NL','NLD','Netherlands','Dutch, Netherlandic'), - (531,'CW','CUW','Curaçao','Curaçaoan'), - (533,'AW','ABW','Aruba','Aruban'), - (534,'SX','SXM','Sint Maarten (Dutch part)','Sint Maarten'), - (535,'BQ','BES','Bonaire, Sint Eustatius and Saba','Bonaire'), - (540,'NC','NCL','New Caledonia','New Caledonian'), - (548,'VU','VUT','Vanuatu','Ni-Vanuatu, Vanuatuan'), - (554,'NZ','NZL','New Zealand','New Zealand, NZ'), - (558,'NI','NIC','Nicaragua','Nicaraguan'), - (562,'NE','NER','Niger','Nigerien'), - (566,'NG','NGA','Nigeria','Nigerian'), - (570,'NU','NIU','Niue','Niuean'), - (574,'NF','NFK','Norfolk Island','Norfolk Island'), - (578,'NO','NOR','Norway','Norwegian'), - (580,'MP','MNP','Northern Mariana Islands','Northern Marianan'), - (581,'UM','UMI','United States Minor Outlying Islands','American'), - (583,'FM','FSM','Micronesia (Federated States of)','Micronesian'), - (584,'MH','MHL','Marshall Islands','Marshallese'), - (585,'PW','PLW','Palau','Palauan'), - (586,'PK','PAK','Pakistan','Pakistani'), - (591,'PA','PAN','Panama','Panamanian'), - (598,'PG','PNG','Papua New Guinea','Papua New Guinean, Papuan'), - (600,'PY','PRY','Paraguay','Paraguayan'), - (604,'PE','PER','Peru','Peruvian'), - (608,'PH','PHL','Philippines','Philippine, Filipino'), - (612,'PN','PCN','Pitcairn','Pitcairn Island'), - (616,'PL','POL','Poland','Polish'), - (620,'PT','PRT','Portugal','Portuguese'), - (624,'GW','GNB','Guinea-Bissau','Bissau-Guinean'), - (626,'TL','TLS','Timor-Leste','Timorese'), - (630,'PR','PRI','Puerto Rico','Puerto Rican'), - (634,'QA','QAT','Qatar','Qatari'), - (638,'RE','REU','Réunion','Réunionese, Réunionnais'), - (642,'RO','ROU','Romania','Romanian'), - (643,'RU','RUS','Russian Federation','Russian'), - (646,'RW','RWA','Rwanda','Rwandan'), - (652,'BL','BLM','Saint Barthélemy','Barthélemois'), - (654,'SH','SHN','Saint Helena, Ascension and Tristan da Cunha','Saint Helenian'), - (659,'KN','KNA','Saint Kitts and Nevis','Kittitian or Nevisian'), - (660,'AI','AIA','Anguilla','Anguillan'), - (662,'LC','LCA','Saint Lucia','Saint Lucian'), - (663,'MF','MAF','Saint Martin (French part)','Saint-Martinoise'), - (666,'PM','SPM','Saint Pierre and Miquelon','Saint-Pierrais or Miquelonnais'), - (670,'VC','VCT','Saint Vincent and the Grenadines','Saint Vincentian, Vincentian'), - (674,'SM','SMR','San Marino','Sammarinese'), - (678,'ST','STP','Sao Tome and Principe','São Toméan'), - (682,'SA','SAU','Saudi Arabia','Saudi, Saudi Arabian'), - (686,'SN','SEN','Senegal','Senegalese'), - (688,'RS','SRB','Serbia','Serbian'), - (690,'SC','SYC','Seychelles','Seychellois'), - (694,'SL','SLE','Sierra Leone','Sierra Leonean'), - (702,'SG','SGP','Singapore','Singaporean'), - (703,'SK','SVK','Slovakia','Slovak'), - (704,'VN','VNM','Vietnam','Vietnamese'), - (705,'SI','SVN','Slovenia','Slovenian, Slovene'), - (706,'SO','SOM','Somalia','Somali, Somalian'), - (710,'ZA','ZAF','South Africa','South African'), - (716,'ZW','ZWE','Zimbabwe','Zimbabwean'), - (724,'ES','ESP','Spain','Spanish'), - (728,'SS','SSD','South Sudan','South Sudanese'), - (729,'SD','SDN','Sudan','Sudanese'), - (732,'EH','ESH','Western Sahara','Sahrawi, Sahrawian, Sahraouian'), - (740,'SR','SUR','Suriname','Surinamese'), - (744,'SJ','SJM','Svalbard and Jan Mayen','Svalbard'), - (748,'SZ','SWZ','Swaziland','Swazi'), - (752,'SE','SWE','Sweden','Swedish'), - (756,'CH','CHE','Switzerland','Swiss'), - (760,'SY','SYR','Syrian Arab Republic','Syrian'), - (762,'TJ','TJK','Tajikistan','Tajikistani'), - (764,'TH','THA','Thailand','Thai'), - (768,'TG','TGO','Togo','Togolese'), - (772,'TK','TKL','Tokelau','Tokelauan'), - (776,'TO','TON','Tonga','Tongan'), - (780,'TT','TTO','Trinidad and Tobago','Trinidadian or Tobagonian'), - (784,'AE','ARE','United Arab Emirates','Emirati, Emirian, Emiri'), - (788,'TN','TUN','Tunisia','Tunisian'), - (792,'TR','TUR','Turkey','Turkish'), - (795,'TM','TKM','Turkmenistan','Turkmen'), - (796,'TC','TCA','Turks and Caicos Islands','Turks and Caicos Island'), - (798,'TV','TUV','Tuvalu','Tuvaluan'), - (800,'UG','UGA','Uganda','Ugandan'), - (804,'UA','UKR','Ukraine','Ukrainian'), - (807,'MK','MKD','Macedonia (the former Yugoslav Republic of)','Macedonian'), - (818,'EG','EGY','Egypt','Egyptian'), - (826,'GB','GBR','United Kingdom of Great Britain and Northern Ireland','British, UK'), - (831,'GG','GGY','Guernsey','Channel Island'), - (832,'JE','JEY','Jersey','Channel Island'), - (833,'IM','IMN','Isle of Man','Manx'), - (834,'TZ','TZA','Tanzania, United Republic of','Tanzanian'), - (840,'US','USA','United States of America','American'), - (850,'VI','VIR','Virgin Islands (U.S.)','U.S. Virgin Island'), - (854,'BF','BFA','Burkina Faso','Burkinabé'), - (858,'UY','URY','Uruguay','Uruguayan'), - (860,'UZ','UZB','Uzbekistan','Uzbekistani, Uzbek'), - (862,'VE','VEN','Venezuela (Bolivarian Republic of)','Venezuelan'), - (876,'WF','WLF','Wallis and Futuna','Wallis and Futuna, Wallisian or Futunan'), - (882,'WS','WSM','Samoa','Samoan'), - (887,'YE','YEM','Yemen','Yemeni'), - (894,'ZM','ZMB','Zambia','Zambian'); - -/*!40000 ALTER TABLE `countries` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table currencies -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `currencies`; - -CREATE TABLE `currencies` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, - `name` varchar(255) DEFAULT NULL, - `symbol` varchar(255) DEFAULT NULL, - `currency_code` varchar(255) DEFAULT NULL, - `uuid` varchar(255) DEFAULT NULL, - `content_status` varchar(255) DEFAULT NULL, - `created_at` datetime DEFAULT NULL, - `updated_at` datetime DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `currencies` WRITE; -/*!40000 ALTER TABLE `currencies` DISABLE KEYS */; - -INSERT INTO `currencies` (`id`, `name`, `symbol`, `currency_code`, `uuid`, `content_status`, `created_at`, `updated_at`) -VALUES - (107,'Afghani','؋','AFN',NULL,NULL,NULL,NULL), - (108,'Lek','Lek','ALL',NULL,NULL,NULL,NULL), - (109,'Netherlands Antillean guilder','ƒ','ANG',NULL,NULL,NULL,NULL), - (110,'Argentine Peso','$','ARS',NULL,NULL,NULL,NULL), - (111,'Australian Dollar','$','AUD',NULL,NULL,NULL,NULL), - (112,'Aruban Florin','ƒ','AWG',NULL,NULL,NULL,NULL), - (113,'Azerbaijan Manat','₼','AZN',NULL,NULL,NULL,NULL), - (114,'Convertible Mark','KM','BAM',NULL,NULL,NULL,NULL), - (115,'Barbados Dollar','$','BBD',NULL,NULL,NULL,NULL), - (116,'Bulgarian Lev','лв','BGN',NULL,NULL,NULL,NULL), - (117,'Bermudian Dollar','$','BMD',NULL,NULL,NULL,NULL), - (118,'Brunei Dollar','$','BND',NULL,NULL,NULL,NULL), - (119,'boliviano','$b','BOB',NULL,NULL,NULL,NULL), - (120,'Brazilian Real','R$','BRL',NULL,NULL,NULL,NULL), - (121,'Bahamian Dollar','$','BSD',NULL,NULL,NULL,NULL), - (122,'Bitcoin','Ƀ','BTC',NULL,NULL,NULL,NULL), - (123,'Pula','P','BWP',NULL,NULL,NULL,NULL), - (124,'Belarusian Ruble','Br','BYN',NULL,NULL,NULL,NULL), - (125,'Belize Dollar','BZ$','BZD',NULL,NULL,NULL,NULL), - (126,'Canadian Dollar','$','CAD',NULL,NULL,NULL,NULL), - (127,'Swiss Franc','CHF','CHF',NULL,NULL,NULL,NULL), - (128,'Chilean Peso','$','CLP',NULL,NULL,NULL,NULL), - (129,'Yuan Renminbi','¥','CNY',NULL,NULL,NULL,NULL), - (130,'Colombian Peso','$','COP',NULL,NULL,NULL,NULL), - (131,'Costa Rican Colon','₡','CRC',NULL,NULL,NULL,NULL), - (132,'Cuban Peso','₱','CUP',NULL,NULL,NULL,NULL), - (133,'Czech koruna (pl. koruny)','Kč','CZK',NULL,NULL,NULL,NULL), - (134,'Danish Krone','kr','DKK',NULL,NULL,NULL,NULL), - (135,'Dominican peso','RD$','DOP',NULL,NULL,NULL,NULL), - (136,'Egyptian Pound','£','EGP',NULL,NULL,NULL,NULL), - (137,'Euro','€','EUR',NULL,NULL,NULL,NULL), - (138,'Fiji Dollar','$','FJD',NULL,NULL,NULL,NULL), - (139,'Falkland Islands pound','£','FKP',NULL,NULL,NULL,NULL), - (140,'pound sterling','£','GBP',NULL,NULL,NULL,NULL), - (141,'Ghana Cedi','¢','GHS',NULL,NULL,NULL,NULL), - (142,'Gibraltar Pound','£','GIP',NULL,NULL,NULL,NULL), - (143,'Quetzal','Q','GTQ',NULL,NULL,NULL,NULL), - (144,'Guyana Dollar','$','GYD',NULL,NULL,NULL,NULL), - (145,'Hong Kong Dollar','$','HKD',NULL,NULL,NULL,NULL), - (146,'Lempira','L','HNL',NULL,NULL,NULL,NULL), - (147,'Kuna','kn','HRK',NULL,NULL,NULL,NULL), - (148,'Forint','Ft','HUF',NULL,NULL,NULL,NULL), - (149,'Rupiah','Rp','IDR',NULL,NULL,NULL,NULL), - (150,'New Israeli Sheqel','₪','ILS',NULL,NULL,NULL,NULL), - (151,'Indian Rupee','₹','INR',NULL,NULL,NULL,NULL), - (152,'Iranian rial','﷼','IRR',NULL,NULL,NULL,NULL), - (153,'Iceland Krona','kr','ISK',NULL,NULL,NULL,NULL), - (154,'Jamaican Dollar','J$','JMD',NULL,NULL,NULL,NULL), - (155,'Yen','¥','JPY',NULL,NULL,NULL,NULL), - (156,'Som','лв','KGS',NULL,NULL,NULL,NULL), - (157,'Riel','៛','KHR',NULL,NULL,NULL,NULL), - (158,'North Korean won (inv.)','₩','KPW',NULL,NULL,NULL,NULL), - (159,'South Korean won (inv.)','₩','KRW',NULL,NULL,NULL,NULL), - (160,'Cayman Islands dollar','$','KYD',NULL,NULL,NULL,NULL), - (161,'Tenge','лв','KZT',NULL,NULL,NULL,NULL), - (162,'kip (inv.)','₭','LAK',NULL,NULL,NULL,NULL), - (163,'Lebanese Pound','£','LBP',NULL,NULL,NULL,NULL), - (164,'Sri Lanka Rupee','₨','LKR',NULL,NULL,NULL,NULL), - (165,'Liberian Dollar','$','LRD',NULL,NULL,NULL,NULL), - (166,'denar (inv.)','ден','MKD',NULL,NULL,NULL,NULL), - (167,'Tugrik','₮','MNT',NULL,NULL,NULL,NULL), - (168,'Mauritius Rupee','₨','MUR',NULL,NULL,NULL,NULL), - (169,'Mexican Peso','$','MXN',NULL,NULL,NULL,NULL), - (170,'Malaysian Ringgit','RM','MYR',NULL,NULL,NULL,NULL), - (171,'Mozambique Metical','MT','MZN',NULL,NULL,NULL,NULL), - (172,'Namibia Dollar','$','NAD',NULL,NULL,NULL,NULL), - (173,'Naira','₦','NGN',NULL,NULL,NULL,NULL), - (174,'Cordoba Oro','C$','NIO',NULL,NULL,NULL,NULL), - (204,'US Dollar','$','USD',NULL,NULL,NULL,NULL), - (206,'Uzbekistan Sum','лв','UZS',NULL,NULL,NULL,NULL), - (207,'dong','₫','VND',NULL,NULL,NULL,NULL), - (208,'East Caribbean Dollar','$','XCD',NULL,NULL,NULL,NULL), - (209,'Yemeni Rial','﷼','YER',NULL,NULL,NULL,NULL), - (210,'Rand','R','ZAR',NULL,NULL,NULL,NULL), - (211,'Kenya Shillings','shs','KES','e3c75da5-b011-4da0-a57a-0aae39f92f36','DRAFT',NULL,NULL), - (212,'Malawian kwacha','mwk','MWK',NULL,NULL,NULL,NULL); - -/*!40000 ALTER TABLE `currencies` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table designations -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `designations`; - -CREATE TABLE `designations` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL, - `description` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `default_privileges` text COLLATE utf8mb4_unicode_ci, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `designations` WRITE; -/*!40000 ALTER TABLE `designations` DISABLE KEYS */; - -INSERT INTO `designations` (`id`, `name`, `description`, `default_privileges`, `created_at`, `updated_at`) -VALUES - (3,'administrator',NULL,NULL,NULL,NULL), - (4,'standard',NULL,NULL,NULL,NULL), - (5,'technical',NULL,NULL,NULL,NULL); - -/*!40000 ALTER TABLE `designations` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table direct_connections -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `direct_connections`; - -CREATE TABLE `direct_connections` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `server_id` int(11) NOT NULL, - `direct_partner` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `connection_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'VPN or Internet', - `main_ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT '', - `port` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `vpn_peer_ip` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT '', - `domain_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '', - `connection_document` text COLLATE utf8mb4_unicode_ci, - `last_modified_by` int(11) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `direct_connections` WRITE; -/*!40000 ALTER TABLE `direct_connections` DISABLE KEYS */; - -INSERT INTO `direct_connections` (`id`, `server_id`, `direct_partner`, `connection_type`, `main_ip_address`, `port`, `vpn_peer_ip`, `domain_name`, `connection_document`, `last_modified_by`, `created_at`, `updated_at`) -VALUES - (1,2,'TNM Malawi','VPN','41.78.250.88','5016','','','',NULL,NULL,NULL), - (2,2,'AIrtelTigo Ghana','VPN','172.17.9.38','3010','','','',NULL,NULL,NULL), - (3,1,'Seedco','vpn','172.26.162.100','5080','41.78.57.35',NULL,NULL,1,'2021-04-17 17:50:18','2021-04-17 18:32:48'), - (4,1,'Airtel USSD','vpn','172.26.163.136','5080','41.78.57.35',NULL,NULL,1,'2021-04-17 18:29:34','2021-04-17 18:53:44'), - (5,1,'Seedco','vpn','172.26.162.100','5080','216.55.137.19',NULL,NULL,1,'2021-04-17 18:30:42','2021-04-17 18:30:42'), - (6,8,'Airtel Malawi','fqdn',NULL,'80',NULL,'messaging.airtel.mw','connection_document_1618686913.docx',1,'2021-04-17 18:58:59','2021-04-17 19:15:13'), - (7,7,'Airtel Money','vpn','172.26.163.136','4452','41.78.57.35',NULL,'connection_document_1618686983.docx',1,'2021-04-17 19:11:28','2021-04-17 19:16:23'); - -/*!40000 ALTER TABLE `direct_connections` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table meeting_reports -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `meeting_reports`; - -CREATE TABLE `meeting_reports` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `client` varchar(200) NOT NULL DEFAULT '', - `service` varchar(200) NOT NULL DEFAULT '', - `auth_user_id` int(11) NOT NULL DEFAULT '1', - `contact_person` varchar(200) NOT NULL DEFAULT '', - `email` varchar(200) NOT NULL DEFAULT '', - `discussion` varchar(200) NOT NULL DEFAULT '', - `payment_type` varchar(200) NOT NULL DEFAULT '', - `current_balance` decimal(50,2) NOT NULL, - `payment_status` varchar(200) NOT NULL DEFAULT '', - `next_follow_up_date` date DEFAULT NULL, - `last_follow_up_date` date DEFAULT NULL, - `sam_comment` text, - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `meeting_reports` WRITE; -/*!40000 ALTER TABLE `meeting_reports` DISABLE KEYS */; - -INSERT INTO `meeting_reports` (`id`, `client`, `service`, `auth_user_id`, `contact_person`, `email`, `discussion`, `payment_type`, `current_balance`, `payment_status`, `next_follow_up_date`, `last_follow_up_date`, `sam_comment`, `created_at`, `updated_at`) -VALUES - (2,'1','regular',1,'Quo id earum dolor','hatuzyde@mailinator.net','Dolor doloremque ani','1',0.00,'paid',NULL,NULL,'A positive number - The length to be returned from the start parameter, A positive number - The length to be returned from the start parameter, A positive number - The length to be returned from the s','2021-01-28 18:45:26','2021-01-22 06:23:37'), - (3,'1','regular',1,'Voluptas rerum rem u','huki@mailinator.com','Animi inventore et','2',0.00,'unpaid',NULL,NULL,'Ad vitae voluptates','2021-01-25 10:53:42','2021-01-25 10:53:42'), - (4,'1','regular',1,'Iste rerum blanditii','rujaletir@mailinator.com','Dummy text refers to the bits of content that are used to fill a website mock-up. This text helps web designers better envision how the website will look as a finished product. It is important to unde','2',9000.00,'unpaid',NULL,NULL,NULL,'2021-02-03 11:48:52','2021-02-03 11:48:52'), - (5,'5','regular',1,'Laborum rerum laboru','bofa@mailinator.com','Esse molestias aut a Esse molestias aut a \r\nEsse molestias aut a \r\nEsse molestias aut a \r\nEsse molestias aut a Esse molestias aut a Esse molestias aut a Esse molestias aut a \r\nEsse molestias aut a Es','1',0.00,'paid',NULL,NULL,NULL,'2021-02-04 10:18:38','2021-02-04 10:18:38'), - (6,'6','regular',1,'Ut nihil nostrum id','hacyticiv@mailinator.com','Enim modi rerum quas\r\n\r\ndashboard\r\n\r\nEnim modi rerum quas\r\n\r\ndashboard\r\nEnim modi rerum quas\r\n\r\ndashboard','2',0.00,'unpaid',NULL,NULL,NULL,'2021-02-04 10:19:59','2021-02-04 10:19:59'), - (7,'5','regular',1,'Consequatur exercita','lykomyl@mailinator.com','MySQL provides several variations on INSERT and UPDATE to allow inserting and updating exactly the desired data. These features provide a lot of power and flexibility, making MySQL significantly more ','2',0.00,'unpaid',NULL,NULL,NULL,'2021-02-04 10:20:45','2021-02-04 10:20:45'), - (8,'1','regular',5,'Richard Oponglo','dumug@mailinator.com','1. FOLLOW YOUR CHILD\'S PROGRESS\r\n \r\nFrom report cards, fee structures, term dates and all the regular updates from your school fast and timely. Chat with teachers and share your child’s progress with ','2',49000.00,'paid',NULL,NULL,NULL,'2021-02-08 05:33:06','2021-02-08 05:33:06'), - (9,'6','regular',5,'Ben Sorkies','sukoz@mailinator.com','There isn\'t a minute that passes by that we aren\'t using our phones, including searching for places to buy food. So once you\'ve created your restaurant landing page, you\'ll have to ensure that it\'s mo','1',2300.00,'paid',NULL,NULL,NULL,'2021-02-08 06:04:47','2021-02-08 06:04:47'), - (10,'2','regular',1,'Frank Osem Panyin','fiqumisimi@mailinator.com','Doloremque aut sunt','1',6677.00,'paid','2021-02-08','2021-02-08',NULL,'2021-02-08 14:30:15','2021-02-08 14:30:15'), - (11,'1','BULK SMS',1,'Quod minim','gebif@mailinator.com','Quo sapiente nulla o','2',6788.00,'unpaid','2021-02-09','2021-02-09',NULL,'2021-02-09 10:01:43','2021-02-09 10:01:43'); - -/*!40000 ALTER TABLE `meeting_reports` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table migrations -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `migrations`; - -CREATE TABLE `migrations` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `batch` int(11) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `migrations` WRITE; -/*!40000 ALTER TABLE `migrations` DISABLE KEYS */; - -INSERT INTO `migrations` (`id`, `migration`, `batch`) -VALUES - (4,'2021_04_13_111024_create_models_server_crendentials_table',1), - (5,'2021_04_13_111110_create_models_direct_connections_table',1), - (6,'2014_10_12_000000_create_users_table',2), - (7,'2014_10_12_100000_create_password_resets_table',2), - (8,'2021_04_13_104850_create_click_servers_table',2), - (9,'2021_04_13_111024_create_server_crendentials_table',3), - (10,'2021_04_13_111110_create_direct_connections_table',3); - -/*!40000 ALTER TABLE `migrations` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table network_operators -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `network_operators`; - -CREATE TABLE `network_operators` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(200) NOT NULL DEFAULT '', - `country` varchar(200) NOT NULL DEFAULT '', - `account_manager_id` int(11) NOT NULL, - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `network_operators` WRITE; -/*!40000 ALTER TABLE `network_operators` DISABLE KEYS */; - -INSERT INTO `network_operators` (`id`, `name`, `country`, `account_manager_id`, `created_at`, `updated_at`) -VALUES - (1,'Airtel','GH',1,'2021-01-21 01:29:56','2021-01-20 05:57:39'), - (4,'Kennedy Solis','GH',1,'2021-01-21 01:32:16','2021-01-20 15:41:20'), - (5,'Keefe Skinner','CN',1,'2021-02-08 17:13:44','2021-02-08 17:13:44'); - -/*!40000 ALTER TABLE `network_operators` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table password_resets -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `password_resets`; - -CREATE TABLE `password_resets` ( - `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `created_at` timestamp NULL DEFAULT NULL, - KEY `password_resets_email_index` (`email`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - - - -# Dump of table payment_type -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `payment_type`; - -CREATE TABLE `payment_type` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(200) NOT NULL DEFAULT '', - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `payment_type` WRITE; -/*!40000 ALTER TABLE `payment_type` DISABLE KEYS */; - -INSERT INTO `payment_type` (`id`, `name`, `created_at`, `updated_at`) -VALUES - (1,'Prepaid','2021-01-25 16:30:15',NULL), - (2,'Postpaid','2021-01-25 16:30:20',NULL); - -/*!40000 ALTER TABLE `payment_type` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table privileges -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `privileges`; - -CREATE TABLE `privileges` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(200) NOT NULL DEFAULT '', - `description` varchar(200) NOT NULL DEFAULT '', - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - - - -# Dump of table sam_comments -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `sam_comments`; - -CREATE TABLE `sam_comments` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `report_id` int(11) NOT NULL, - `created_by_id` int(11) NOT NULL, - `message` text, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `sam_comments` WRITE; -/*!40000 ALTER TABLE `sam_comments` DISABLE KEYS */; - -INSERT INTO `sam_comments` (`id`, `report_id`, `created_by_id`, `message`, `created_at`, `updated_at`) -VALUES - (1,3,1,'here at the wall.','2021-02-03 00:00:00','2021-02-03 00:00:00'), - (2,3,1,'here at the wall again ','2021-02-03 00:00:00','2021-02-03 00:00:00'), - (3,4,1,'Now you know what dummy text is, let’s learn about its usefulness. Some people say that they don’t need to use a dummy text generator to deliver a web design project to the customer. ','2021-02-03 00:00:00','2021-02-03 00:00:00'), - (4,4,1,'Dummy text shouldn’t make any logical sense, to keep people from focusing on it instead of the visual impact it has. Using filler text is all about facilitating the visual impression of a final piece of web design.','2021-02-03 00:00:00','2021-02-03 00:00:00'), - (5,4,1,'Est facere aut volu','2021-02-03 20:33:57','2021-02-03 20:33:57'), - (6,4,1,'Eius harum culpa und','2021-02-03 20:35:49','2021-02-03 20:35:49'), - (7,4,1,'Lipsum is probably the most popular dummy text generator out there. When analyzing a website template or theme, you probably saw the Latin filler text that gave structure to the page. This was almost certainly generated with Lipsum or a similar tool. It is a simple dummy text generator where you can specify how many words of filler text you need. You can download Lipsum as an add-on for Firefox, which is quite convenient for web designers.','2021-02-03 21:03:54','2021-02-03 21:03:54'), - (8,7,1,'Suppose I wish to insert the data from t2 into t1. This data would violate the primary key (a row exists where column a is 1) so the insert will fail: ERROR 1062 (23000): Duplicate entry \'1\' for key 1. Recall that in MySQL, a primary key is simply a unique index named PRIMARY. Any data that violates any unique index will cause the same problem.','2021-02-04 11:05:00','2021-02-04 11:05:00'), - (9,3,1,'Suppose I wish to insert the data from t2 into t1. This data would violate the primary key (a row exists where column a is 1) so the insert will fail: ERROR 1062 (23000): Duplicate entry','2021-02-04 11:05:43','2021-02-04 11:05:43'); - -/*!40000 ALTER TABLE `sam_comments` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table server_credentials -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `server_credentials`; - -CREATE TABLE `server_credentials` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `server_id` int(11) NOT NULL, - `type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `username` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `password` text COLLATE utf8mb4_unicode_ci NOT NULL, - `remarks` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '', - `last_modified_by` int(11) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -LOCK TABLES `server_credentials` WRITE; -/*!40000 ALTER TABLE `server_credentials` DISABLE KEYS */; - -INSERT INTO `server_credentials` (`id`, `server_id`, `type`, `username`, `password`, `remarks`, `last_modified_by`, `created_at`, `updated_at`) -VALUES - (1,1,NULL,'root','eyJpdiI6IlpsaG9ranN5Q2NxMVFuTlZvT1c2cEE9PSIsInZhbHVlIjoiNEp5Mzdqa0xoWFwvNUF6Z0lJRVQ4M1RZQmpEZzZiRjhRajZBRnZ6czU0RGs9IiwibWFjIjoiM2M0Njg2YTA1MDgzM2E0ODZhYTM4MmQzNTY1YjVhYjI1Yzk5YTFlMWJjNTE1OGRhNWZmZGUxMjM3OGQxZDg4YyJ9','',1,'2021-04-19 19:20:00','2021-04-19 19:29:27'), - (2,2,NULL,'root','eyJpdiI6IktjaHNzUGdseHVIZnpRbFpnTDJRQkE9PSIsInZhbHVlIjoiWURvY0dOUjg0WWM0ZUsyXC9GXC81RitRPT0iLCJtYWMiOiI2NDA4MzRlNjU5ODE1YzRiMzQ1NTFlMzUwMGFlOWUxOTU2YTY5M2Y4OTIwNzEwOGU3ZWU0YzA5MzAzYzdhOGE3In0=','',1,'2021-04-19 19:23:11','2021-04-19 19:23:11'); - -/*!40000 ALTER TABLE `server_credentials` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table services -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `services`; - -CREATE TABLE `services` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(200) NOT NULL DEFAULT '', - `type` varchar(200) NOT NULL DEFAULT '', - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `services` WRITE; -/*!40000 ALTER TABLE `services` DISABLE KEYS */; - -INSERT INTO `services` (`id`, `name`, `type`, `created_at`, `updated_at`) -VALUES - (1,'A2P','regular','2021-02-03 12:53:10','2021-01-20 07:40:59'), - (2,'BULK SMS','regular','2021-02-03 13:17:46',NULL), - (3,'USSD','','2021-03-09 14:58:12',NULL), - (4,'SMS App','','2021-03-09 14:58:18',NULL); - -/*!40000 ALTER TABLE `services` ENABLE KEYS */; -UNLOCK TABLES; - - -# Dump of table users -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `users`; - -CREATE TABLE `users` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, - `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `users_email_unique` (`email`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - - - -# Dump of table ussd_client_payments -# ------------------------------------------------------------ - -DROP TABLE IF EXISTS `ussd_client_payments`; - -CREATE TABLE `ussd_client_payments` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `client_id` int(11) DEFAULT NULL, - `payment_type` varchar(191) DEFAULT NULL, - `amount_paid` decimal(30,2) DEFAULT '0.00', - `remarks` text, - `last_modified_by_id` int(11) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT NULL, - `updated_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -LOCK TABLES `ussd_client_payments` WRITE; -/*!40000 ALTER TABLE `ussd_client_payments` DISABLE KEYS */; - -INSERT INTO `ussd_client_payments` (`id`, `client_id`, `payment_type`, `amount_paid`, `remarks`, `last_modified_by_id`, `created_at`, `updated_at`) -VALUES - (1,15,NULL,0.00,NULL,1,'2021-03-16 18:29:11','2021-03-16 18:29:11'), - (2,16,NULL,0.00,NULL,1,'2021-03-16 18:29:48','2021-03-16 18:29:48'), - (3,17,NULL,0.00,NULL,1,'2021-03-16 18:32:04','2021-03-16 18:32:04'), - (4,18,NULL,0.00,NULL,1,'2021-03-16 18:33:23','2021-03-16 18:33:23'), - (5,19,NULL,0.00,NULL,1,'2021-03-16 18:49:12','2021-03-16 18:49:12'), - (6,20,NULL,0.00,NULL,1,'2021-03-16 18:49:32','2021-03-16 18:49:32'), - (7,21,'Laudantium quia qui',2345.00,'Voluptatem quos inv',1,'2021-03-16 18:50:45','2021-03-17 12:13:30'), - (8,22,'Neque qui voluptatem',4500.00,'Dolor molestiae cons',1,'2021-03-16 18:51:04','2021-03-17 12:07:12'), - (9,23,NULL,0.00,NULL,1,'2021-04-19 12:22:51','2021-04-19 12:22:51'), - (10,24,NULL,0.00,NULL,1,'2021-04-19 12:31:23','2021-04-19 12:31:23'), - (11,25,NULL,0.00,NULL,1,'2021-05-12 09:49:53','2021-05-12 09:49:53'), - (12,26,NULL,0.00,NULL,1,'2021-05-12 09:55:55','2021-05-12 09:55:55'); - -/*!40000 ALTER TABLE `ussd_client_payments` ENABLE KEYS */; -UNLOCK TABLES; - - - -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/config/filesystems.php b/config/filesystems.php index be7d888..6b7f3d8 100755 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -51,7 +51,7 @@ return [ 'public' => [ 'driver' => 'local', // 'root' => storage_path('app/public'), - 'root' => public_path('app_files'), + 'root' => public_path('documents'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ], diff --git a/effie-comments.md b/effie-comments.md deleted file mode 100755 index 1146d09..0000000 --- a/effie-comments.md +++ /dev/null @@ -1,66 +0,0 @@ -# Sam's Comments -Hi Sam, - -Following your request during today training, this email serves as a reminder for you to -engage with Kwesi to come up with a tracker. - -This tracker must have specifications that we get from different operators -i.e., for both USSD and SMS. - -You are to engage with Hilary as well, to add a product segment on the website. - -Kind Regards, - - -## -Hi Kwesi, - -So I reviewed the tracker and below are some of my preliminary notes: - -- A. when i logged in it says Welcome Effie tedela, the name is Effie Tadala 😊. - -- B. the date after logging in is showing Wednesday 28th July 2021. - -B. CLIENTS (the client section will require a bit more modification to accommodate the categorisation and the email alerts. I will work on it) - -I am only seeing A2P clients on the list. I think that is not the full list of the A2P interconnections that we have, please engage Charity to share full list. -We need subgroups of clients; Charity can assist with the lists as well. -USSD and SMS Short Code clients- specify whether app development included or just aggregation. The short code itself should also be included. - -2.1.1. toll free or revenue sharing services to be specified. -2.1.2. Specify whether USSD only, SMS only or both USSD and SMS - -airtime clients. -Bulk SMS clients. -Voice clients. - -an email alert to be sent out when the portal has been edited for example when a new client has been added. -I would like to be able to add a client and a notification to be sent to the account managers so that they can assign a manager to that client. Has this been done? -just like we are assigning account managers, we must have at least one point of contact from our clients end as well. -Some of the clients do not have their contacts listed on the tracker. - -C. CLIENTS -can we have a way to filter the clients to be listed in alphabetical order. -I am only seeing A2P clients on the list. we need sub groups: - - -## Use notes column to handle the extra details -USSD Short Code clients- specify whether app development included or just aggregation. -SMS SC clients- specify whether app development included or just aggregation. -toll free or revenue sharing services to be specified. -airtime clients -Bulk SMS clients -A2P clients- grouped by country as well. - -an email alert to be sent out when the portal has been edited for example when a new client has been added. I would like to be able to add a client and a notification to be sent to the account managers so that they can assign a manager to that client. -just like we are assigning account managers, we must have at least one point of contact from our clients end as well. - -D. USSD clients payments - -received an error when i clicked on this link. -do we have a SC monthly payment tracker for our short code clients? - -E. Meeting reports: -the marketing team need to have a tab as well so that they can be updating their meeting reports with clients too. - - diff --git a/public/assets/build/js/custom.js b/public/assets/build/js/custom.js index 05996f2..51375ea 100755 --- a/public/assets/build/js/custom.js +++ b/public/assets/build/js/custom.js @@ -184,737 +184,8 @@ $(document).ready(function() { container: 'body' }); }); -// /Tooltip -// Progressbar -if ($(".progress .progress-bar")[0]) { - $('.progress .progress-bar').progressbar(); -} -// /Progressbar - -// Switchery -$(document).ready(function() { - if ($(".js-switch")[0]) { - var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch')); - elems.forEach(function (html) { - var switchery = new Switchery(html, { - color: '#26B99A' - }); - }); - } -}); -// /Switchery - - -// iCheck -$(document).ready(function() { - if ($("input.flat")[0]) { - $(document).ready(function () { - $('input.flat').iCheck({ - checkboxClass: 'icheckbox_flat-green', - radioClass: 'iradio_flat-green' - }); - }); - } -}); -// /iCheck - -// Table -$('table input').on('ifChecked', function () { - checkState = ''; - $(this).parent().parent().parent().addClass('selected'); - countChecked(); -}); -$('table input').on('ifUnchecked', function () { - checkState = ''; - $(this).parent().parent().parent().removeClass('selected'); - countChecked(); -}); - -var checkState = ''; - -$('.bulk_action input').on('ifChecked', function () { - checkState = ''; - $(this).parent().parent().parent().addClass('selected'); - countChecked(); -}); -$('.bulk_action input').on('ifUnchecked', function () { - checkState = ''; - $(this).parent().parent().parent().removeClass('selected'); - countChecked(); -}); -$('.bulk_action input#check-all').on('ifChecked', function () { - checkState = 'all'; - countChecked(); -}); -$('.bulk_action input#check-all').on('ifUnchecked', function () { - checkState = 'none'; - countChecked(); -}); - -function countChecked() { - if (checkState === 'all') { - $(".bulk_action input[name='table_records']").iCheck('check'); - } - if (checkState === 'none') { - $(".bulk_action input[name='table_records']").iCheck('uncheck'); - } - - var checkCount = $(".bulk_action input[name='table_records']:checked").length; - - if (checkCount) { - $('.column-title').hide(); - $('.bulk-actions').show(); - $('.action-cnt').html(checkCount + ' Records Selected'); - } else { - $('.column-title').show(); - $('.bulk-actions').hide(); - } -} - - - -// Accordion -$(document).ready(function() { - $(".expand").on("click", function () { - $(this).next().slideToggle(200); - $expand = $(this).find(">:first-child"); - - if ($expand.text() == "+") { - $expand.text("-"); - } else { - $expand.text("+"); - } - }); -}); - -// NProgress -if (typeof NProgress != 'undefined') { - $(document).ready(function () { - NProgress.start(); - }); - - $(window).load(function () { - NProgress.done(); - }); -} - - - //hover and retain popover when on popover content - var originalLeave = $.fn.popover.Constructor.prototype.leave; - $.fn.popover.Constructor.prototype.leave = function(obj) { - var self = obj instanceof this.constructor ? - obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type); - var container, timeout; - - originalLeave.call(this, obj); - - if (obj.currentTarget) { - container = $(obj.currentTarget).siblings('.popover'); - timeout = self.timeout; - container.one('mouseenter', function() { - //We entered the actual popover – call off the dogs - clearTimeout(timeout); - //Let's monitor popover content instead - container.one('mouseleave', function() { - $.fn.popover.Constructor.prototype.leave.call(self, self); - }); - }); - } - }; - - $('body').popover({ - selector: '[data-popover]', - trigger: 'click hover', - delay: { - show: 50, - hide: 400 - } - }); - - - function gd(year, month, day) { - return new Date(year, month - 1, day).getTime(); - } - - function init_flot_chart(){ - - if( typeof ($.plot) === 'undefined'){ return; } - - console.log('init_flot_chart'); - - - - var arr_data1 = [ - [gd(2012, 1, 1), 17], - [gd(2012, 1, 2), 74], - [gd(2012, 1, 3), 6], - [gd(2012, 1, 4), 39], - [gd(2012, 1, 5), 20], - [gd(2012, 1, 6), 85], - [gd(2012, 1, 7), 7] - ]; - - var arr_data2 = [ - [gd(2012, 1, 1), 82], - [gd(2012, 1, 2), 23], - [gd(2012, 1, 3), 66], - [gd(2012, 1, 4), 9], - [gd(2012, 1, 5), 119], - [gd(2012, 1, 6), 6], - [gd(2012, 1, 7), 9] - ]; - - var arr_data3 = [ - [0, 1], - [1, 9], - [2, 6], - [3, 10], - [4, 5], - [5, 17], - [6, 6], - [7, 10], - [8, 7], - [9, 11], - [10, 35], - [11, 9], - [12, 12], - [13, 5], - [14, 3], - [15, 4], - [16, 9] - ]; - - var chart_plot_02_data = []; - - var chart_plot_03_data = [ - [0, 1], - [1, 9], - [2, 6], - [3, 10], - [4, 5], - [5, 17], - [6, 6], - [7, 10], - [8, 7], - [9, 11], - [10, 35], - [11, 9], - [12, 12], - [13, 5], - [14, 3], - [15, 4], - [16, 9] - ]; - - - for (var i = 0; i < 30; i++) { - chart_plot_02_data.push([new Date(Date.today().add(i).days()).getTime(), randNum() + i + i + 10]); - } - - - var chart_plot_01_settings = { - series: { - lines: { - show: false, - fill: true - }, - splines: { - show: true, - tension: 0.4, - lineWidth: 1, - fill: 0.4 - }, - points: { - radius: 0, - show: true - }, - shadowSize: 2 - }, - grid: { - verticalLines: true, - hoverable: true, - clickable: true, - tickColor: "#d5d5d5", - borderWidth: 1, - color: '#fff' - }, - colors: ["rgba(38, 185, 154, 0.38)", "rgba(3, 88, 106, 0.38)"], - xaxis: { - tickColor: "rgba(51, 51, 51, 0.06)", - mode: "time", - tickSize: [1, "day"], - //tickLength: 10, - axisLabel: "Date", - axisLabelUseCanvas: true, - axisLabelFontSizePixels: 12, - axisLabelFontFamily: 'Verdana, Arial', - axisLabelPadding: 10 - }, - yaxis: { - ticks: 8, - tickColor: "rgba(51, 51, 51, 0.06)", - }, - tooltip: false - } - - var chart_plot_02_settings = { - grid: { - show: true, - aboveData: true, - color: "#3f3f3f", - labelMargin: 10, - axisMargin: 0, - borderWidth: 0, - borderColor: null, - minBorderMargin: 5, - clickable: true, - hoverable: true, - autoHighlight: true, - mouseActiveRadius: 100 - }, - series: { - lines: { - show: true, - fill: true, - lineWidth: 2, - steps: false - }, - points: { - show: true, - radius: 4.5, - symbol: "circle", - lineWidth: 3.0 - } - }, - legend: { - position: "ne", - margin: [0, -25], - noColumns: 0, - labelBoxBorderColor: null, - labelFormatter: function(label, series) { - return label + ' '; - }, - width: 40, - height: 1 - }, - colors: ['#96CA59', '#3F97EB', '#72c380', '#6f7a8a', '#f7cb38', '#5a8022', '#2c7282'], - shadowSize: 0, - tooltip: true, - tooltipOpts: { - content: "%s: %y.0", - xDateFormat: "%d/%m", - shifts: { - x: -30, - y: -50 - }, - defaultTheme: false - }, - yaxis: { - min: 0 - }, - xaxis: { - mode: "time", - minTickSize: [1, "day"], - timeformat: "%d/%m/%y", - min: chart_plot_02_data[0][0], - max: chart_plot_02_data[20][0] - } - }; - - var chart_plot_03_settings = { - series: { - curvedLines: { - apply: true, - active: true, - monotonicFit: true - } - }, - colors: ["#26B99A"], - grid: { - borderWidth: { - top: 0, - right: 0, - bottom: 1, - left: 1 - }, - borderColor: { - bottom: "#7F8790", - left: "#7F8790" - } - } - }; - - - if ($("#chart_plot_01").length){ - console.log('Plot1'); - - $.plot( $("#chart_plot_01"), [ arr_data1, arr_data2 ], chart_plot_01_settings ); - } - - - if ($("#chart_plot_02").length){ - console.log('Plot2'); - - $.plot( $("#chart_plot_02"), - [{ - label: "Email Sent", - data: chart_plot_02_data, - lines: { - fillColor: "rgba(150, 202, 89, 0.12)" - }, - points: { - fillColor: "#fff" } - }], chart_plot_02_settings); - - } - - if ($("#chart_plot_03").length){ - console.log('Plot3'); - - - $.plot($("#chart_plot_03"), [{ - label: "Registrations", - data: chart_plot_03_data, - lines: { - fillColor: "rgba(150, 202, 89, 0.12)" - }, - points: { - fillColor: "#fff" - } - }], chart_plot_03_settings); - - }; - - } - - - /* STARRR */ - - function init_starrr() { - - if( typeof (starrr) === 'undefined'){ return; } - console.log('init_starrr'); - - $(".stars").starrr(); - - $('.stars-existing').starrr({ - rating: 4 - }); - - $('.stars').on('starrr:change', function (e, value) { - $('.stars-count').html(value); - }); - - $('.stars-existing').on('starrr:change', function (e, value) { - $('.stars-count-existing').html(value); - }); - - }; - - - function init_JQVmap(){ - - //console.log('check init_JQVmap [' + typeof (VectorCanvas) + '][' + typeof (jQuery.fn.vectorMap) + ']' ); - - if(typeof (jQuery.fn.vectorMap) === 'undefined'){ return; } - - console.log('init_JQVmap'); - - if ($('#world-map-gdp').length ){ - - $('#world-map-gdp').vectorMap({ - map: 'world_en', - backgroundColor: null, - color: '#ffffff', - hoverOpacity: 0.7, - selectedColor: '#666666', - enableZoom: true, - showTooltip: true, - values: sample_data, - scaleColors: ['#E6F2F0', '#149B7E'], - normalizeFunction: 'polynomial' - }); - - } - - if ($('#usa_map').length ){ - - $('#usa_map').vectorMap({ - map: 'usa_en', - backgroundColor: null, - color: '#ffffff', - hoverOpacity: 0.7, - selectedColor: '#666666', - enableZoom: true, - showTooltip: true, - values: sample_data, - scaleColors: ['#E6F2F0', '#149B7E'], - normalizeFunction: 'polynomial' - }); - - } - - }; - - - function init_skycons(){ - - if( typeof (Skycons) === 'undefined'){ return; } - console.log('init_skycons'); - - var icons = new Skycons({ - "color": "#73879C" - }), - list = [ - "clear-day", "clear-night", "partly-cloudy-day", - "partly-cloudy-night", "cloudy", "rain", "sleet", "snow", "wind", - "fog" - ], - i; - - for (i = list.length; i--;) - icons.set(list[i], list[i]); - - icons.play(); - - } - - - function init_chart_doughnut(){ - - if( typeof (Chart) === 'undefined'){ return; } - - console.log('init_chart_doughnut'); - - if ($('.canvasDoughnut').length){ - - var chart_doughnut_settings = { - type: 'doughnut', - tooltipFillColor: "rgba(51, 51, 51, 0.55)", - data: { - labels: [ - "Symbian", - "Blackberry", - "Other", - "Android", - "IOS" - ], - datasets: [{ - data: [15, 20, 30, 10, 30], - backgroundColor: [ - "#BDC3C7", - "#9B59B6", - "#E74C3C", - "#26B99A", - "#3498DB" - ], - hoverBackgroundColor: [ - "#CFD4D8", - "#B370CF", - "#E95E4F", - "#36CAAB", - "#49A9EA" - ] - }] - }, - options: { - legend: false, - responsive: false - } - } - - $('.canvasDoughnut').each(function(){ - - var chart_element = $(this); - var chart_doughnut = new Chart( chart_element, chart_doughnut_settings); - - }); - - } - - } - - function init_gauge() { - - if( typeof (Gauge) === 'undefined'){ return; } - - console.log('init_gauge [' + $('.gauge-chart').length + ']'); - - console.log('init_gauge'); - - - var chart_gauge_settings = { - lines: 12, - angle: 0, - lineWidth: 0.4, - pointer: { - length: 0.75, - strokeWidth: 0.042, - color: '#1D212A' - }, - limitMax: 'false', - colorStart: '#1ABC9C', - colorStop: '#1ABC9C', - strokeColor: '#F0F3F3', - generateGradient: true - }; - - - if ($('#chart_gauge_01').length){ - - var chart_gauge_01_elem = document.getElementById('chart_gauge_01'); - var chart_gauge_01 = new Gauge(chart_gauge_01_elem).setOptions(chart_gauge_settings); - - } - - - if ($('#gauge-text').length){ - - chart_gauge_01.maxValue = 6000; - chart_gauge_01.animationSpeed = 32; - chart_gauge_01.set(3200); - chart_gauge_01.setTextField(document.getElementById("gauge-text")); - - } - - if ($('#chart_gauge_02').length){ - - var chart_gauge_02_elem = document.getElementById('chart_gauge_02'); - var chart_gauge_02 = new Gauge(chart_gauge_02_elem).setOptions(chart_gauge_settings); - - } - - - if ($('#gauge-text2').length){ - - chart_gauge_02.maxValue = 9000; - chart_gauge_02.animationSpeed = 32; - chart_gauge_02.set(2400); - chart_gauge_02.setTextField(document.getElementById("gauge-text2")); - - } - - - } - - /* SPARKLINES */ - - function init_sparklines() { - - if(typeof (jQuery.fn.sparkline) === 'undefined'){ return; } - console.log('init_sparklines'); - - - $(".sparkline_one").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 4, 5, 6, 3, 5, 4, 5, 4, 5, 4, 3, 4, 5, 6, 7, 5, 4, 3, 5, 6], { - type: 'bar', - height: '125', - barWidth: 13, - colorMap: { - '7': '#a1a1a1' - }, - barSpacing: 2, - barColor: '#26B99A' - }); - - - $(".sparkline_two").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 7, 5, 4, 3, 5, 6], { - type: 'bar', - height: '40', - barWidth: 9, - colorMap: { - '7': '#a1a1a1' - }, - barSpacing: 2, - barColor: '#26B99A' - }); - - - $(".sparkline_three").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 7, 5, 4, 3, 5, 6], { - type: 'line', - width: '200', - height: '40', - lineColor: '#26B99A', - fillColor: 'rgba(223, 223, 223, 0.57)', - lineWidth: 2, - spotColor: '#26B99A', - minSpotColor: '#26B99A' - }); - - - $(".sparkline11").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 6, 2, 4, 3, 4, 5, 4, 5, 4, 3], { - type: 'bar', - height: '40', - barWidth: 8, - colorMap: { - '7': '#a1a1a1' - }, - barSpacing: 2, - barColor: '#26B99A' - }); - - - $(".sparkline22").sparkline([2, 4, 3, 4, 7, 5, 4, 3, 5, 6, 2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 6], { - type: 'line', - height: '40', - width: '200', - lineColor: '#26B99A', - fillColor: '#ffffff', - lineWidth: 3, - spotColor: '#34495E', - minSpotColor: '#34495E' - }); - - - $(".sparkline_bar").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 4, 5, 6, 3, 5], { - type: 'bar', - colorMap: { - '7': '#a1a1a1' - }, - barColor: '#26B99A' - }); - - - $(".sparkline_area").sparkline([5, 6, 7, 9, 9, 5, 3, 2, 2, 4, 6, 7], { - type: 'line', - lineColor: '#26B99A', - fillColor: '#26B99A', - spotColor: '#4578a0', - minSpotColor: '#728fb2', - maxSpotColor: '#6d93c4', - highlightSpotColor: '#ef5179', - highlightLineColor: '#8ba8bf', - spotRadius: 2.5, - width: 85 - }); - - - $(".sparkline_line").sparkline([2, 4, 3, 4, 5, 4, 5, 4, 3, 4, 5, 6, 4, 5, 6, 3, 5], { - type: 'line', - lineColor: '#26B99A', - fillColor: '#ffffff', - width: 85, - spotColor: '#34495E', - minSpotColor: '#34495E' - }); - - - $(".sparkline_pie").sparkline([1, 1, 2, 1], { - type: 'pie', - sliceColors: ['#26B99A', '#ccc', '#75BCDD', '#D66DE2'] - }); - - - $(".sparkline_discreet").sparkline([4, 6, 7, 7, 4, 3, 2, 1, 4, 4, 2, 4, 3, 7, 8, 9, 7, 6, 4, 3], { - type: 'discrete', - barWidth: 3, - lineColor: '#26B99A', - width: '85', - }); - - - }; /* AUTOCOMPLETE */ @@ -940,4105 +211,14 @@ if (typeof NProgress != 'undefined') { }; - /* AUTOSIZE */ - - function init_autosize() { - - if(typeof $.fn.autosize !== 'undefined'){ - - autosize($('.resizable_textarea')); - - } - - }; - - /* PARSLEY */ - - function init_parsley() { - - if( typeof (parsley) === 'undefined'){ return; } - console.log('init_parsley'); - - $/*.listen*/('parsley:field:validate', function() { - validateFront(); - }); - $('#demo-form .btn').on('click', function() { - $('#demo-form').parsley().validate(); - validateFront(); - }); - var validateFront = function() { - if (true === $('#demo-form').parsley().isValid()) { - $('.bs-callout-info').removeClass('hidden'); - $('.bs-callout-warning').addClass('hidden'); - } else { - $('.bs-callout-info').addClass('hidden'); - $('.bs-callout-warning').removeClass('hidden'); - } - }; - - $/*.listen*/('parsley:field:validate', function() { - validateFront(); - }); - $('#demo-form2 .btn').on('click', function() { - $('#demo-form2').parsley().validate(); - validateFront(); - }); - var validateFront = function() { - if (true === $('#demo-form2').parsley().isValid()) { - $('.bs-callout-info').removeClass('hidden'); - $('.bs-callout-warning').addClass('hidden'); - } else { - $('.bs-callout-info').addClass('hidden'); - $('.bs-callout-warning').removeClass('hidden'); - } - }; - - try { - hljs.initHighlightingOnLoad(); - } catch (err) {} - - }; - - - /* INPUTS */ - - function onAddTag(tag) { - alert("Added a tag: " + tag); - } - - function onRemoveTag(tag) { - alert("Removed a tag: " + tag); - } - - function onChangeTag(input, tag) { - alert("Changed a tag: " + tag); - } - - //tags input - function init_TagsInput() { - - if(typeof $.fn.tagsInput !== 'undefined'){ - - $('#tags_1').tagsInput({ - width: 'auto' - }); - - } - - }; - - /* SELECT2 */ - - function init_select2() { - - if( typeof (select2) === 'undefined'){ return; } - console.log('init_toolbox'); - - $(".select2_single").select2({ - placeholder: "Select a state", - allowClear: true - }); - $(".select2_group").select2({}); - $(".select2_multiple").select2({ - maximumSelectionLength: 4, - placeholder: "With Max Selection limit 4", - allowClear: true - }); - - }; - - /* WYSIWYG EDITOR */ - - function init_wysiwyg() { - - if( typeof ($.fn.wysiwyg) === 'undefined'){ return; } - console.log('init_wysiwyg'); - - function init_ToolbarBootstrapBindings() { - var fonts = ['Serif', 'Sans', 'Arial', 'Arial Black', 'Courier', - 'Courier New', 'Comic Sans MS', 'Helvetica', 'Impact', 'Lucida Grande', 'Lucida Sans', 'Tahoma', 'Times', - 'Times New Roman', 'Verdana' - ], - fontTarget = $('[title=Font]').siblings('.dropdown-menu'); - $.each(fonts, function(idx, fontName) { - fontTarget.append($('
:message
') !!}:message
') !!} diff --git a/resources/views/client/edit.blade.php b/resources/views/client/edit.blade.php index 1a1ccda..e39a95e 100755 --- a/resources/views/client/edit.blade.php +++ b/resources/views/client/edit.blade.php @@ -5,272 +5,330 @@ @endif @endsection @section('content') -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} +:message
') !!}:message
') !!} +:message
') !!} +:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!}:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!}:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -:message
') !!} -- Live: - status == 'Live') ? "checked" : ""; ?> /> -
-- Prospective: - status == 'Prospective') ? "checked" : ""; ?> /> -
-- Inactive - status == 'Inactive') ? "checked" : ""; ?> /> -
-:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!}:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} +:message
') !!} ++ Live: + status == 'Live') ? "checked" : ""; ?> /> +
++ Prospective: + status == 'Prospective') ? "checked" : ""; ?> /> +
++ Inactive + status == 'Inactive') ? "checked" : ""; ?> /> +
+| # | --}}Invoice Number | Invoice Amount | Invoice Date | diff --git a/resources/views/client/show-readonly.blade.php b/resources/views/client/show-readonly.blade.php new file mode 100644 index 0000000..440e43e --- /dev/null +++ b/resources/views/client/show-readonly.blade.php @@ -0,0 +1,325 @@ +@extends('layouts.master') +@section('page_title') + @if(isset($page_title)) + {{ $page_title }} + @endif +@endsection +@section('content') +||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | +{{ $showclient->name }} | +
|---|---|
| Account Manager | +{{ $showclient->auth_user_info->name }} | +
| Contact Person | +{{ $showclient->contact_person }} | +
| Phone | +{{ $showclient->phone }} | +
| {{ $showclient->email }} | +|
| Skype Name | +{{ $showclient->skype_name }} | +
| {{ $showclient->linkedin_name }} | +|
| Contract Type | +{{ $showclient->contract_type }} | +
| Contract Validity | +{{ $showclient->contract_validity }} | +
| Contract Auto Renew | +{{ $showclient->contract_auto_renew }} | +
| Name | +{{ $showclient->country }} | +
|---|---|
| Company Type | +{{ $showclient->company_type }} | +
| Connections | ++ connections) ? implode(',', json_decode($showclient->connections)) : ""; + ?> + | +
| SMPP Details | ++ smpp_details) ? implode(',', json_decode($showclient->smpp_details)) : ""; + ?> + | +
| Message Types | ++ message_types) ? implode(',', json_decode($showclient->message_types)) : ""; + ?> + | +
| Support Phones | ++ support_phones) ? implode(',', json_decode($showclient->support_phones)) : ""; + ?> + | +
| Support Emails | ++ support_emails) ? implode(',', json_decode($showclient->support_emails)) : ""; + ?> + | +
| Rate Emails | ++ rate_emails) ? implode(',', json_decode($showclient->rate_emails)) : ""; + ?> + | +
| Support Skype IDs | ++ support_skype) ? implode(',', json_decode($showclient->support_skype)) : ""; + ?> + | +
| How We got this client | +{{ $showclient->how_we_got_client }} | +
| Payment Mode | ++ pay_mode ?? ""; ?> | +
|---|---|
| Finance Emails | +finance_email) ? implode(',', json_decode($showclient->finance_email)) : ""; ?> | +
| Invoice Number | +Invoice Amount | +Invoice Date | +Services | +Remarks | +Status | +||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| No Records found | +|||||||||||
| {{ $row->invoice_number }} | +{{ number_format($row->invoice_amount) }} | +{{ date('d-m-Y', strtotime($row->invoice_date)) }} | +{{ $row->services }} | +{{ $row->remarks }} | +{{ $row->invoice_status }} | +||||||
No Documents found
+ @endif +| # | --}} +Name | +Code | +Type | +Network | +Toll Free | +Status | +Launch Date | + + +||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| No Records found | +|||||||||||
| {{ $row->name }} | +{{ $row->shortcode }} | +{{ $row->code_type }} | +{{ ucfirst($row->network) }} | +{{ ucfirst($row->country) }} | +{{ strtoupper($row->toll_free) }} | +{{ $row->status }} | +{{ date('d-m-Y', strtotime($row->launch_date)) }} | +||||
+ + count(); $i++) { ?> + + highlight == 'NO'): continue; endif; ?> + {{ $i+1 . "." }} {{ $show_notes[$i]->notes_body }} + + +
+++ +Country : {{ $showclient->country or "N/A" }}
+Company Type : {{ $showclient->company_type or "N/A" }}
+ + + + +Requested Sender IDs : sender_ids) { echo implode(", ", json_decode($showclient->sender_ids, true)); } else {echo "N/A"; } ?>
+
++Connection Types : connections) { echo implode(", ", json_decode($showclient->connections, true)); } else {echo "N/A"; } ?>
+SMPP Username : + smpp_username) { echo $showclient->smpp_username; } else {echo "N/A"; } ?>
+Message Types : + message_types) { + $types_array = json_decode($showclient->message_types); + echo implode(', ', $types_array); + } + else { + echo "N/A"; + } ?> + +
+
+ support_phones, true) ?> ++ @else + N/A + @endif ++ + +
+- {{ $row }}
+ + +
+ support_emails, true) ?> ++ @else + N/A + @endif + @if(!empty($showclient->rate_emails)) ++ + +
+- {{ $row }}
+ + +
+ rate_emails, true) ?> ++ @else + N/A + @endif ++ + +
+- {{ $row }}
+ + +
+ finance_emails, true) ?> ++ @else + N/A + @endif + ++ + +
+- {{ $row }}
+ + +
+ support_skype, true) ?> ++ @else + N/A + @endif ++ + +
+- {{ $row }}
+ + +
++Connection Types : connections) { echo implode(", ", json_decode($showclient->connections, true)); } else {echo "N/A"; } ?>
+
+ +Partner SMPP Details
+
+ smpp_details) { echo $showclient->smpp_details; } else {echo "N/A"; } ?>
++Contract Type : {{ ucfirst($showclient->contract_type) ?? 'N/A'}}
+ + +
Contract Validity (Date) : {{ $showclient->contract_validity or 'N/A'}}
+Contract Auto Renewal : {{ $showclient->contract_auto_renew or 'N/A'}}
+Renewal Due : {{ $renewal_due }}
+