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($('
  • ' + fontName + '
  • ')); - }); - $('a[title]').tooltip({ - container: 'body' - }); - $('.dropdown-menu input').click(function() { - return false; - }) - .change(function() { - $(this).parent('.dropdown-menu').siblings('.dropdown-toggle').dropdown('toggle'); - }) - .keydown('esc', function() { - this.value = ''; - $(this).change(); - }); - - $('[data-role=magic-overlay]').each(function() { - var overlay = $(this), - target = $(overlay.data('target')); - overlay.css('opacity', 0).css('position', 'absolute').offset(target.offset()).width(target.outerWidth()).height(target.outerHeight()); - }); - - if ("onwebkitspeechchange" in document.createElement("input")) { - var editorOffset = $('#editor').offset(); - - $('.voiceBtn').css('position', 'absolute').offset({ - top: editorOffset.top, - left: editorOffset.left + $('#editor').innerWidth() - 35 - }); - } else { - $('.voiceBtn').hide(); - } - } - - function showErrorAlert(reason, detail) { - var msg = ''; - if (reason === 'unsupported-file-type') { - msg = "Unsupported format " + detail; - } else { - console.log("error uploading file", reason, detail); - } - $('
    ' + - 'File upload error ' + msg + '
    ').prependTo('#alerts'); - } - - $('.editor-wrapper').each(function(){ - var id = $(this).attr('id'); //editor-one - - $(this).wysiwyg({ - toolbarSelector: '[data-target="#' + id + '"]', - fileUploadError: showErrorAlert - }); - }); - - - window.prettyPrint; - prettyPrint(); - }; + - /* CROPPER */ - - function init_cropper() { - - - if( typeof ($.fn.cropper) === 'undefined'){ return; } - console.log('init_cropper'); - - var $image = $('#image'); - var $download = $('#download'); - var $dataX = $('#dataX'); - var $dataY = $('#dataY'); - var $dataHeight = $('#dataHeight'); - var $dataWidth = $('#dataWidth'); - var $dataRotate = $('#dataRotate'); - var $dataScaleX = $('#dataScaleX'); - var $dataScaleY = $('#dataScaleY'); - var options = { - aspectRatio: 16 / 9, - preview: '.img-preview', - crop: function (e) { - $dataX.val(Math.round(e.x)); - $dataY.val(Math.round(e.y)); - $dataHeight.val(Math.round(e.height)); - $dataWidth.val(Math.round(e.width)); - $dataRotate.val(e.rotate); - $dataScaleX.val(e.scaleX); - $dataScaleY.val(e.scaleY); - } - }; - - - // Tooltip - $('[data-toggle="tooltip"]').tooltip(); - - - // Cropper - $image.on({ - 'build.cropper': function (e) { - console.log(e.type); - }, - 'built.cropper': function (e) { - console.log(e.type); - }, - 'cropstart.cropper': function (e) { - console.log(e.type, e.action); - }, - 'cropmove.cropper': function (e) { - console.log(e.type, e.action); - }, - 'cropend.cropper': function (e) { - console.log(e.type, e.action); - }, - 'crop.cropper': function (e) { - console.log(e.type, e.x, e.y, e.width, e.height, e.rotate, e.scaleX, e.scaleY); - }, - 'zoom.cropper': function (e) { - console.log(e.type, e.ratio); - } - }).cropper(options); - - - // Buttons - if (!$.isFunction(document.createElement('canvas').getContext)) { - $('button[data-method="getCroppedCanvas"]').prop('disabled', true); - } - - if (typeof document.createElement('cropper').style.transition === 'undefined') { - $('button[data-method="rotate"]').prop('disabled', true); - $('button[data-method="scale"]').prop('disabled', true); - } - - - // Download - if (typeof $download[0].download === 'undefined') { - $download.addClass('disabled'); - } - - - // Options - $('.docs-toggles').on('change', 'input', function () { - var $this = $(this); - var name = $this.attr('name'); - var type = $this.prop('type'); - var cropBoxData; - var canvasData; - - if (!$image.data('cropper')) { - return; - } - - if (type === 'checkbox') { - options[name] = $this.prop('checked'); - cropBoxData = $image.cropper('getCropBoxData'); - canvasData = $image.cropper('getCanvasData'); - - options.built = function () { - $image.cropper('setCropBoxData', cropBoxData); - $image.cropper('setCanvasData', canvasData); - }; - } else if (type === 'radio') { - options[name] = $this.val(); - } - - $image.cropper('destroy').cropper(options); - }); - - - // Methods - $('.docs-buttons').on('click', '[data-method]', function () { - var $this = $(this); - var data = $this.data(); - var $target; - var result; - - if ($this.prop('disabled') || $this.hasClass('disabled')) { - return; - } - - if ($image.data('cropper') && data.method) { - data = $.extend({}, data); // Clone a new one - - if (typeof data.target !== 'undefined') { - $target = $(data.target); - - if (typeof data.option === 'undefined') { - try { - data.option = JSON.parse($target.val()); - } catch (e) { - console.log(e.message); - } - } - } - - result = $image.cropper(data.method, data.option, data.secondOption); - - switch (data.method) { - case 'scaleX': - case 'scaleY': - $(this).data('option', -data.option); - break; - - case 'getCroppedCanvas': - if (result) { - - // Bootstrap's Modal - $('#getCroppedCanvasModal').modal().find('.modal-body').html(result); - - if (!$download.hasClass('disabled')) { - $download.attr('href', result.toDataURL()); - } - } - - break; - } - - if ($.isPlainObject(result) && $target) { - try { - $target.val(JSON.stringify(result)); - } catch (e) { - console.log(e.message); - } - } - - } - }); - - // Keyboard - $(document.body).on('keydown', function (e) { - if (!$image.data('cropper') || this.scrollTop > 300) { - return; - } - - switch (e.which) { - case 37: - e.preventDefault(); - $image.cropper('move', -1, 0); - break; - - case 38: - e.preventDefault(); - $image.cropper('move', 0, -1); - break; - - case 39: - e.preventDefault(); - $image.cropper('move', 1, 0); - break; - - case 40: - e.preventDefault(); - $image.cropper('move', 0, 1); - break; - } - }); - - // Import image - var $inputImage = $('#inputImage'); - var URL = window.URL || window.webkitURL; - var blobURL; - - if (URL) { - $inputImage.change(function () { - var files = this.files; - var file; - - if (!$image.data('cropper')) { - return; - } - - if (files && files.length) { - file = files[0]; - - if (/^image\/\w+$/.test(file.type)) { - blobURL = URL.createObjectURL(file); - $image.one('built.cropper', function () { - - // Revoke when load complete - URL.revokeObjectURL(blobURL); - }).cropper('reset').cropper('replace', blobURL); - $inputImage.val(''); - } else { - window.alert('Please choose an image file.'); - } - } - }); - } else { - $inputImage.prop('disabled', true).parent().addClass('disabled'); - } - - - }; - - /* CROPPER --- end */ - - /* KNOB */ - - function init_knob() { - - if( typeof ($.fn.knob) === 'undefined'){ return; } - console.log('init_knob'); - - $(".knob").knob({ - change: function(value) { - //console.log("change : " + value); - }, - release: function(value) { - //console.log(this.$.attr('value')); - console.log("release : " + value); - }, - cancel: function() { - console.log("cancel : ", this); - }, - /*format : function (value) { - return value + '%'; - },*/ - draw: function() { - - // "tron" case - if (this.$.data('skin') == 'tron') { - - this.cursorExt = 0.3; - - var a = this.arc(this.cv) // Arc - , - pa // Previous arc - , r = 1; - - this.g.lineWidth = this.lineWidth; - - if (this.o.displayPrevious) { - pa = this.arc(this.v); - this.g.beginPath(); - this.g.strokeStyle = this.pColor; - this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, pa.s, pa.e, pa.d); - this.g.stroke(); - } - - this.g.beginPath(); - this.g.strokeStyle = r ? this.o.fgColor : this.fgColor; - this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, a.s, a.e, a.d); - this.g.stroke(); - - this.g.lineWidth = 2; - this.g.beginPath(); - this.g.strokeStyle = this.o.fgColor; - this.g.arc(this.xy, this.xy, this.radius - this.lineWidth + 1 + this.lineWidth * 2 / 3, 0, 2 * Math.PI, false); - this.g.stroke(); - - return false; - } - } - - }); - - // Example of infinite knob, iPod click wheel - var v, up = 0, - down = 0, - i = 0, - $idir = $("div.idir"), - $ival = $("div.ival"), - incr = function() { - i++; - $idir.show().html("+").fadeOut(); - $ival.html(i); - }, - decr = function() { - i--; - $idir.show().html("-").fadeOut(); - $ival.html(i); - }; - $("input.infinite").knob({ - min: 0, - max: 20, - stopper: false, - change: function() { - if (v > this.cv) { - if (up) { - decr(); - up = 0; - } else { - up = 1; - down = 0; - } - } else { - if (v < this.cv) { - if (down) { - incr(); - down = 0; - } else { - down = 1; - up = 0; - } - } - } - v = this.cv; - } - }); - - }; - - /* INPUT MASK */ - - function init_InputMask() { - - if( typeof ($.fn.inputmask) === 'undefined'){ return; } - console.log('init_InputMask'); - - $(":input").inputmask(); - - }; - - /* COLOR PICKER */ - - function init_ColorPicker() { - - if( typeof ($.fn.colorpicker) === 'undefined'){ return; } - console.log('init_ColorPicker'); - - $('.demo1').colorpicker(); - $('.demo2').colorpicker(); - - $('#demo_forceformat').colorpicker({ - format: 'rgba', - horizontal: true - }); - - $('#demo_forceformat3').colorpicker({ - format: 'rgba', - }); - - $('.demo-auto').colorpicker(); - - }; - - - /* ION RANGE SLIDER */ - - function init_IonRangeSlider() { - - if( typeof ($.fn.ionRangeSlider) === 'undefined'){ return; } - console.log('init_IonRangeSlider'); - - $("#range_27").ionRangeSlider({ - type: "double", - min: 1000000, - max: 2000000, - grid: true, - force_edges: true - }); - $("#range").ionRangeSlider({ - hide_min_max: true, - keyboard: true, - min: 0, - max: 5000, - from: 1000, - to: 4000, - type: 'double', - step: 1, - prefix: "$", - grid: true - }); - $("#range_25").ionRangeSlider({ - type: "double", - min: 1000000, - max: 2000000, - grid: true - }); - $("#range_26").ionRangeSlider({ - type: "double", - min: 0, - max: 10000, - step: 500, - grid: true, - grid_snap: true - }); - $("#range_31").ionRangeSlider({ - type: "double", - min: 0, - max: 100, - from: 30, - to: 70, - from_fixed: true - }); - $(".range_min_max").ionRangeSlider({ - type: "double", - min: 0, - max: 100, - from: 30, - to: 70, - max_interval: 50 - }); - $(".range_time24").ionRangeSlider({ - min: +moment().subtract(12, "hours").format("X"), - max: +moment().format("X"), - from: +moment().subtract(6, "hours").format("X"), - grid: true, - force_edges: true, - prettify: function(num) { - var m = moment(num, "X"); - return m.format("Do MMMM, HH:mm"); - } - }); - - }; - - - /* DATERANGEPICKER */ - - function init_daterangepicker() { - - if( typeof ($.fn.daterangepicker) === 'undefined'){ return; } - console.log('init_daterangepicker'); - - var cb = function(start, end, label) { - console.log(start.toISOString(), end.toISOString(), label); - $('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); - }; - - var optionSet1 = { - startDate: moment().subtract(29, 'days'), - endDate: moment(), - minDate: '01/01/2012', - maxDate: '12/31/2015', - dateLimit: { - days: 60 - }, - showDropdowns: true, - showWeekNumbers: true, - timePicker: false, - timePickerIncrement: 1, - timePicker12Hour: true, - ranges: { - 'Today': [moment(), moment()], - 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], - 'Last 7 Days': [moment().subtract(6, 'days'), moment()], - 'Last 30 Days': [moment().subtract(29, 'days'), moment()], - 'This Month': [moment().startOf('month'), moment().endOf('month')], - 'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] - }, - opens: 'left', - buttonClasses: ['btn btn-default'], - applyClass: 'btn-small btn-primary', - cancelClass: 'btn-small', - format: 'MM/DD/YYYY', - separator: ' to ', - locale: { - applyLabel: 'Submit', - cancelLabel: 'Clear', - fromLabel: 'From', - toLabel: 'To', - customRangeLabel: 'Custom', - daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], - monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - firstDay: 1 - } - }; - - $('#reportrange span').html(moment().subtract(29, 'days').format('MMMM D, YYYY') + ' - ' + moment().format('MMMM D, YYYY')); - $('#reportrange').daterangepicker(optionSet1, cb); - $('#reportrange').on('show.daterangepicker', function() { - console.log("show event fired"); - }); - $('#reportrange').on('hide.daterangepicker', function() { - console.log("hide event fired"); - }); - $('#reportrange').on('apply.daterangepicker', function(ev, picker) { - console.log("apply event fired, start/end dates are " + picker.startDate.format('MMMM D, YYYY') + " to " + picker.endDate.format('MMMM D, YYYY')); - }); - $('#reportrange').on('cancel.daterangepicker', function(ev, picker) { - console.log("cancel event fired"); - }); - $('#options1').click(function() { - $('#reportrange').data('daterangepicker').setOptions(optionSet1, cb); - }); - $('#options2').click(function() { - $('#reportrange').data('daterangepicker').setOptions(optionSet2, cb); - }); - $('#destroy').click(function() { - $('#reportrange').data('daterangepicker').remove(); - }); - - } - - function init_daterangepicker_right() { - - if( typeof ($.fn.daterangepicker) === 'undefined'){ return; } - console.log('init_daterangepicker_right'); - - var cb = function(start, end, label) { - console.log(start.toISOString(), end.toISOString(), label); - $('#reportrange_right span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); - }; - - var optionSet1 = { - startDate: moment().subtract(29, 'days'), - endDate: moment(), - minDate: '01/01/2012', - maxDate: '12/31/2020', - dateLimit: { - days: 60 - }, - showDropdowns: true, - showWeekNumbers: true, - timePicker: false, - timePickerIncrement: 1, - timePicker12Hour: true, - ranges: { - 'Today': [moment(), moment()], - 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], - 'Last 7 Days': [moment().subtract(6, 'days'), moment()], - 'Last 30 Days': [moment().subtract(29, 'days'), moment()], - 'This Month': [moment().startOf('month'), moment().endOf('month')], - 'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] - }, - opens: 'right', - buttonClasses: ['btn btn-default'], - applyClass: 'btn-small btn-primary', - cancelClass: 'btn-small', - format: 'MM/DD/YYYY', - separator: ' to ', - locale: { - applyLabel: 'Submit', - cancelLabel: 'Clear', - fromLabel: 'From', - toLabel: 'To', - customRangeLabel: 'Custom', - daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], - monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], - firstDay: 1 - } - }; - - $('#reportrange_right span').html(moment().subtract(29, 'days').format('MMMM D, YYYY') + ' - ' + moment().format('MMMM D, YYYY')); - - $('#reportrange_right').daterangepicker(optionSet1, cb); - - $('#reportrange_right').on('show.daterangepicker', function() { - console.log("show event fired"); - }); - $('#reportrange_right').on('hide.daterangepicker', function() { - console.log("hide event fired"); - }); - $('#reportrange_right').on('apply.daterangepicker', function(ev, picker) { - console.log("apply event fired, start/end dates are " + picker.startDate.format('MMMM D, YYYY') + " to " + picker.endDate.format('MMMM D, YYYY')); - }); - $('#reportrange_right').on('cancel.daterangepicker', function(ev, picker) { - console.log("cancel event fired"); - }); - - $('#options1').click(function() { - $('#reportrange_right').data('daterangepicker').setOptions(optionSet1, cb); - }); - - $('#options2').click(function() { - $('#reportrange_right').data('daterangepicker').setOptions(optionSet2, cb); - }); - - $('#destroy').click(function() { - $('#reportrange_right').data('daterangepicker').remove(); - }); - - } - - function init_daterangepicker_single_call() { - - if( typeof ($.fn.daterangepicker) === 'undefined'){ return; } - console.log('init_daterangepicker_single_call'); - - $('#single_cal1').daterangepicker({ - singleDatePicker: true, - singleClasses: "picker_1" - }, function(start, end, label) { - console.log(start.toISOString(), end.toISOString(), label); - }); - $('#single_cal2').daterangepicker({ - singleDatePicker: true, - singleClasses: "picker_2" - }, function(start, end, label) { - console.log(start.toISOString(), end.toISOString(), label); - }); - $('#single_cal3').daterangepicker({ - singleDatePicker: true, - singleClasses: "picker_3" - }, function(start, end, label) { - console.log(start.toISOString(), end.toISOString(), label); - }); - $('#single_cal4').daterangepicker({ - singleDatePicker: true, - singleClasses: "picker_4" - }, function(start, end, label) { - console.log(start.toISOString(), end.toISOString(), label); - }); - - - } - - - function init_daterangepicker_reservation() { - - if( typeof ($.fn.daterangepicker) === 'undefined'){ return; } - console.log('init_daterangepicker_reservation'); - - $('#reservation').daterangepicker(null, function(start, end, label) { - console.log(start.toISOString(), end.toISOString(), label); - }); - - $('#reservation-time').daterangepicker({ - timePicker: true, - timePickerIncrement: 30, - locale: { - format: 'MM/DD/YYYY h:mm A' - } - }); - - } - - /* SMART WIZARD */ - - function init_SmartWizard() { - - if( typeof ($.fn.smartWizard) === 'undefined'){ return; } - console.log('init_SmartWizard'); - - $('#wizard').smartWizard(); - - $('#wizard_verticle').smartWizard({ - transitionEffect: 'slide' - }); - - $('.buttonNext').addClass('btn btn-success'); - $('.buttonPrevious').addClass('btn btn-primary'); - $('.buttonFinish').addClass('btn btn-default'); - - }; - - - /* VALIDATOR */ - - function init_validator () { - - if( typeof (validator) === 'undefined'){ return; } - console.log('init_validator'); - - // initialize the validator function - validator.message.date = 'not a real date'; - - // validate a field on "blur" event, a 'select' on 'change' event & a '.reuired' classed multifield on 'keyup': - $('form') - .on('blur', 'input[required], input.optional, select.required', validator.checkField) - .on('change', 'select.required', validator.checkField) - .on('keypress', 'input[required][pattern]', validator.keypress); - - $('.multi.required').on('keyup blur', 'input', function() { - validator.checkField.apply($(this).siblings().last()[0]); - }); - - $('form').submit(function(e) { - e.preventDefault(); - var submit = true; - - // evaluate the form using generic validaing - if (!validator.checkAll($(this))) { - submit = false; - } - - if (submit) - this.submit(); - - return false; - }); - - }; - - /* PNotify */ - - function init_PNotify() { - - if( typeof (PNotify) === 'undefined'){ return; } - console.log('init_PNotify'); - }; - - - /* CUSTOM NOTIFICATION */ - - function init_CustomNotification() { - - console.log('run_customtabs'); - - if( typeof (CustomTabs) === 'undefined'){ return; } - console.log('init_CustomTabs'); - - var cnt = 10; - - TabbedNotification = function(options) { - var message = ""; - - if (!document.getElementById('custom_notifications')) { - alert('doesnt exists'); - } else { - $('#custom_notifications ul.notifications').append("
  • "); - $('#custom_notifications #notif-group').append(message); - cnt++; - CustomTabs(options); - } - }; - - CustomTabs = function(options) { - $('.tabbed_notifications > div').hide(); - $('.tabbed_notifications > div:first-of-type').show(); - $('#custom_notifications').removeClass('dsp_none'); - $('.notifications a').click(function(e) { - e.preventDefault(); - var $this = $(this), - tabbed_notifications = '#' + $this.parents('.notifications').data('tabbed_notifications'), - others = $this.closest('li').siblings().children('a'), - target = $this.attr('href'); - others.removeClass('active'); - $this.addClass('active'); - $(tabbed_notifications).children('div').hide(); - $(target).show(); - }); - }; - - CustomTabs(); - - var tabid = idname = ''; - - $(document).on('click', '.notification_close', function(e) { - idname = $(this).parent().parent().attr("id"); - tabid = idname.substr(-2); - $('#ntf' + tabid).remove(); - $('#ntlink' + tabid).parent().remove(); - $('.notifications a').first().addClass('active'); - $('#notif-group div').first().css('display', 'block'); - }); - - }; - - /* EASYPIECHART */ - - function init_EasyPieChart() { - - if( typeof ($.fn.easyPieChart) === 'undefined'){ return; } - console.log('init_EasyPieChart'); - - $('.chart').easyPieChart({ - easing: 'easeOutElastic', - delay: 3000, - barColor: '#26B99A', - trackColor: '#fff', - scaleColor: false, - lineWidth: 20, - trackWidth: 16, - lineCap: 'butt', - onStep: function(from, to, percent) { - $(this.el).find('.percent').text(Math.round(percent)); - } - }); - var chart = window.chart = $('.chart').data('easyPieChart'); - $('.js_update').on('click', function() { - chart.update(Math.random() * 200 - 100); - }); - - //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 init_charts() { - - console.log('run_charts typeof [' + typeof (Chart) + ']'); - - if( typeof (Chart) === 'undefined'){ return; } - - console.log('init_charts'); - - - Chart.defaults.global.legend = { - enabled: false - }; - - - - if ($('#canvas_line').length ){ - - var canvas_line_00 = new Chart(document.getElementById("canvas_line"), { - type: 'line', - data: { - labels: ["January", "February", "March", "April", "May", "June", "July"], - datasets: [{ - label: "My First dataset", - backgroundColor: "rgba(38, 185, 154, 0.31)", - borderColor: "rgba(38, 185, 154, 0.7)", - pointBorderColor: "rgba(38, 185, 154, 0.7)", - pointBackgroundColor: "rgba(38, 185, 154, 0.7)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(220,220,220,1)", - pointBorderWidth: 1, - data: [31, 74, 6, 39, 20, 85, 7] - }, { - label: "My Second dataset", - backgroundColor: "rgba(3, 88, 106, 0.3)", - borderColor: "rgba(3, 88, 106, 0.70)", - pointBorderColor: "rgba(3, 88, 106, 0.70)", - pointBackgroundColor: "rgba(3, 88, 106, 0.70)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(151,187,205,1)", - pointBorderWidth: 1, - data: [82, 23, 66, 9, 99, 4, 2] - }] - }, - }); - - } - - - if ($('#canvas_line1').length ){ - - var canvas_line_01 = new Chart(document.getElementById("canvas_line1"), { - type: 'line', - data: { - labels: ["January", "February", "March", "April", "May", "June", "July"], - datasets: [{ - label: "My First dataset", - backgroundColor: "rgba(38, 185, 154, 0.31)", - borderColor: "rgba(38, 185, 154, 0.7)", - pointBorderColor: "rgba(38, 185, 154, 0.7)", - pointBackgroundColor: "rgba(38, 185, 154, 0.7)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(220,220,220,1)", - pointBorderWidth: 1, - data: [31, 74, 6, 39, 20, 85, 7] - }, { - label: "My Second dataset", - backgroundColor: "rgba(3, 88, 106, 0.3)", - borderColor: "rgba(3, 88, 106, 0.70)", - pointBorderColor: "rgba(3, 88, 106, 0.70)", - pointBackgroundColor: "rgba(3, 88, 106, 0.70)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(151,187,205,1)", - pointBorderWidth: 1, - data: [82, 23, 66, 9, 99, 4, 2] - }] - }, - }); - - } - - - if ($('#canvas_line2').length ){ - - var canvas_line_02 = new Chart(document.getElementById("canvas_line2"), { - type: 'line', - data: { - labels: ["January", "February", "March", "April", "May", "June", "July"], - datasets: [{ - label: "My First dataset", - backgroundColor: "rgba(38, 185, 154, 0.31)", - borderColor: "rgba(38, 185, 154, 0.7)", - pointBorderColor: "rgba(38, 185, 154, 0.7)", - pointBackgroundColor: "rgba(38, 185, 154, 0.7)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(220,220,220,1)", - pointBorderWidth: 1, - data: [31, 74, 6, 39, 20, 85, 7] - }, { - label: "My Second dataset", - backgroundColor: "rgba(3, 88, 106, 0.3)", - borderColor: "rgba(3, 88, 106, 0.70)", - pointBorderColor: "rgba(3, 88, 106, 0.70)", - pointBackgroundColor: "rgba(3, 88, 106, 0.70)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(151,187,205,1)", - pointBorderWidth: 1, - data: [82, 23, 66, 9, 99, 4, 2] - }] - }, - }); - - } - - - if ($('#canvas_line3').length ){ - - var canvas_line_03 = new Chart(document.getElementById("canvas_line3"), { - type: 'line', - data: { - labels: ["January", "February", "March", "April", "May", "June", "July"], - datasets: [{ - label: "My First dataset", - backgroundColor: "rgba(38, 185, 154, 0.31)", - borderColor: "rgba(38, 185, 154, 0.7)", - pointBorderColor: "rgba(38, 185, 154, 0.7)", - pointBackgroundColor: "rgba(38, 185, 154, 0.7)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(220,220,220,1)", - pointBorderWidth: 1, - data: [31, 74, 6, 39, 20, 85, 7] - }, { - label: "My Second dataset", - backgroundColor: "rgba(3, 88, 106, 0.3)", - borderColor: "rgba(3, 88, 106, 0.70)", - pointBorderColor: "rgba(3, 88, 106, 0.70)", - pointBackgroundColor: "rgba(3, 88, 106, 0.70)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(151,187,205,1)", - pointBorderWidth: 1, - data: [82, 23, 66, 9, 99, 4, 2] - }] - }, - }); - - } - - - if ($('#canvas_line4').length ){ - - var canvas_line_04 = new Chart(document.getElementById("canvas_line4"), { - type: 'line', - data: { - labels: ["January", "February", "March", "April", "May", "June", "July"], - datasets: [{ - label: "My First dataset", - backgroundColor: "rgba(38, 185, 154, 0.31)", - borderColor: "rgba(38, 185, 154, 0.7)", - pointBorderColor: "rgba(38, 185, 154, 0.7)", - pointBackgroundColor: "rgba(38, 185, 154, 0.7)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(220,220,220,1)", - pointBorderWidth: 1, - data: [31, 74, 6, 39, 20, 85, 7] - }, { - label: "My Second dataset", - backgroundColor: "rgba(3, 88, 106, 0.3)", - borderColor: "rgba(3, 88, 106, 0.70)", - pointBorderColor: "rgba(3, 88, 106, 0.70)", - pointBackgroundColor: "rgba(3, 88, 106, 0.70)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(151,187,205,1)", - pointBorderWidth: 1, - data: [82, 23, 66, 9, 99, 4, 2] - }] - }, - }); - - } - - - // Line chart - - if ($('#lineChart').length ){ - - var ctx = document.getElementById("lineChart"); - var lineChart = new Chart(ctx, { - type: 'line', - data: { - labels: ["January", "February", "March", "April", "May", "June", "July"], - datasets: [{ - label: "My First dataset", - backgroundColor: "rgba(38, 185, 154, 0.31)", - borderColor: "rgba(38, 185, 154, 0.7)", - pointBorderColor: "rgba(38, 185, 154, 0.7)", - pointBackgroundColor: "rgba(38, 185, 154, 0.7)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(220,220,220,1)", - pointBorderWidth: 1, - data: [31, 74, 6, 39, 20, 85, 7] - }, { - label: "My Second dataset", - backgroundColor: "rgba(3, 88, 106, 0.3)", - borderColor: "rgba(3, 88, 106, 0.70)", - pointBorderColor: "rgba(3, 88, 106, 0.70)", - pointBackgroundColor: "rgba(3, 88, 106, 0.70)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(151,187,205,1)", - pointBorderWidth: 1, - data: [82, 23, 66, 9, 99, 4, 2] - }] - }, - }); - - } - - // Bar chart - - if ($('#mybarChart').length ){ - - var ctx = document.getElementById("mybarChart"); - var mybarChart = new Chart(ctx, { - type: 'bar', - data: { - labels: ["January", "February", "March", "April", "May", "June", "July"], - datasets: [{ - label: '# of Votes', - backgroundColor: "#26B99A", - data: [51, 30, 40, 28, 92, 50, 45] - }, { - label: '# of Votes', - backgroundColor: "#03586A", - data: [41, 56, 25, 48, 72, 34, 12] - }] - }, - - options: { - scales: { - yAxes: [{ - ticks: { - beginAtZero: true - } - }] - } - } - }); - - } - - - // Doughnut chart - - if ($('#canvasDoughnut').length ){ - - var ctx = document.getElementById("canvasDoughnut"); - var data = { - labels: [ - "Dark Grey", - "Purple Color", - "Gray Color", - "Green Color", - "Blue Color" - ], - datasets: [{ - data: [120, 50, 140, 180, 100], - backgroundColor: [ - "#455C73", - "#9B59B6", - "#BDC3C7", - "#26B99A", - "#3498DB" - ], - hoverBackgroundColor: [ - "#34495E", - "#B370CF", - "#CFD4D8", - "#36CAAB", - "#49A9EA" - ] - - }] - }; - - var canvasDoughnut = new Chart(ctx, { - type: 'doughnut', - tooltipFillColor: "rgba(51, 51, 51, 0.55)", - data: data - }); - - } - - // Radar chart - - if ($('#canvasRadar').length ){ - - var ctx = document.getElementById("canvasRadar"); - var data = { - labels: ["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"], - datasets: [{ - label: "My First dataset", - backgroundColor: "rgba(3, 88, 106, 0.2)", - borderColor: "rgba(3, 88, 106, 0.80)", - pointBorderColor: "rgba(3, 88, 106, 0.80)", - pointBackgroundColor: "rgba(3, 88, 106, 0.80)", - pointHoverBackgroundColor: "#fff", - pointHoverBorderColor: "rgba(220,220,220,1)", - data: [65, 59, 90, 81, 56, 55, 40] - }, { - label: "My Second dataset", - backgroundColor: "rgba(38, 185, 154, 0.2)", - borderColor: "rgba(38, 185, 154, 0.85)", - pointColor: "rgba(38, 185, 154, 0.85)", - pointStrokeColor: "#fff", - pointHighlightFill: "#fff", - pointHighlightStroke: "rgba(151,187,205,1)", - data: [28, 48, 40, 19, 96, 27, 100] - }] - }; - - var canvasRadar = new Chart(ctx, { - type: 'radar', - data: data, - }); - - } - - - // Pie chart - if ($('#pieChart').length ){ - - var ctx = document.getElementById("pieChart"); - var data = { - datasets: [{ - data: [120, 50, 140, 180, 100], - backgroundColor: [ - "#455C73", - "#9B59B6", - "#BDC3C7", - "#26B99A", - "#3498DB" - ], - label: 'My dataset' // for legend - }], - labels: [ - "Dark Gray", - "Purple", - "Gray", - "Green", - "Blue" - ] - }; - - var pieChart = new Chart(ctx, { - data: data, - type: 'pie', - otpions: { - legend: false - } - }); - - } - - - // PolarArea chart - - if ($('#polarArea').length ){ - - var ctx = document.getElementById("polarArea"); - var data = { - datasets: [{ - data: [120, 50, 140, 180, 100], - backgroundColor: [ - "#455C73", - "#9B59B6", - "#BDC3C7", - "#26B99A", - "#3498DB" - ], - label: 'My dataset' - }], - labels: [ - "Dark Gray", - "Purple", - "Gray", - "Green", - "Blue" - ] - }; - - var polarArea = new Chart(ctx, { - data: data, - type: 'polarArea', - options: { - scale: { - ticks: { - beginAtZero: true - } - } - } - }); - - } - } - - /* COMPOSE */ - - function init_compose() { - - if( typeof ($.fn.slideToggle) === 'undefined'){ return; } - console.log('init_compose'); - - $('#compose, .compose-close').click(function(){ - $('.compose').slideToggle(); - }); - - }; - - /* CALENDAR */ - - function init_calendar() { - - if( typeof ($.fn.fullCalendar) === 'undefined'){ return; } - console.log('init_calendar'); - - var date = new Date(), - d = date.getDate(), - m = date.getMonth(), - y = date.getFullYear(), - started, - categoryClass; - - var calendar = $('#calendar').fullCalendar({ - header: { - left: 'prev,next today', - center: 'title', - right: 'month,agendaWeek,agendaDay,listMonth' - }, - selectable: true, - selectHelper: true, - select: function(start, end, allDay) { - $('#fc_create').click(); - - started = start; - ended = end; - - $(".antosubmit").on("click", function() { - var title = $("#title").val(); - if (end) { - ended = end; - } - - categoryClass = $("#event_type").val(); - - if (title) { - calendar.fullCalendar('renderEvent', { - title: title, - start: started, - end: end, - allDay: allDay - }, - true // make the event "stick" - ); - } - - $('#title').val(''); - - calendar.fullCalendar('unselect'); - - $('.antoclose').click(); - - return false; - }); - }, - eventClick: function(calEvent, jsEvent, view) { - $('#fc_edit').click(); - $('#title2').val(calEvent.title); - - categoryClass = $("#event_type").val(); - - $(".antosubmit2").on("click", function() { - calEvent.title = $("#title2").val(); - - calendar.fullCalendar('updateEvent', calEvent); - $('.antoclose2').click(); - }); - - calendar.fullCalendar('unselect'); - }, - editable: true, - events: [{ - title: 'All Day Event', - start: new Date(y, m, 1) - }, { - title: 'Long Event', - start: new Date(y, m, d - 5), - end: new Date(y, m, d - 2) - }, { - title: 'Meeting', - start: new Date(y, m, d, 10, 30), - allDay: false - }, { - title: 'Lunch', - start: new Date(y, m, d + 14, 12, 0), - end: new Date(y, m, d, 14, 0), - allDay: false - }, { - title: 'Birthday Party', - start: new Date(y, m, d + 1, 19, 0), - end: new Date(y, m, d + 1, 22, 30), - allDay: false - }, { - title: 'Click for Google', - start: new Date(y, m, 28), - end: new Date(y, m, 29), - url: 'http://google.com/' - }] - }); - - }; - - /* DATA TABLES */ - - function init_DataTables() { - - console.log('run_datatables'); - - if( typeof ($.fn.DataTable) === 'undefined'){ return; } - console.log('init_DataTables'); - - var handleDataTableButtons = function() { - if ($("#datatable-buttons").length) { - $("#datatable-buttons").DataTable({ - dom: "Blfrtip", - buttons: [ - { - extend: "copy", - className: "btn-sm" - }, - { - extend: "csv", - className: "btn-sm" - }, - { - extend: "excel", - className: "btn-sm" - }, - { - extend: "pdfHtml5", - className: "btn-sm" - }, - { - extend: "print", - className: "btn-sm" - }, - ], - responsive: true - }); - } - }; - - TableManageButtons = function() { - "use strict"; - return { - init: function() { - handleDataTableButtons(); - } - }; - }(); - - $('#datatable').dataTable(); - - $('#datatable-keytable').DataTable({ - keys: true - }); - - $('#datatable-responsive').DataTable(); - - $('#datatable-scroller').DataTable({ - ajax: "js/datatables/json/scroller-demo.json", - deferRender: true, - scrollY: 380, - scrollCollapse: true, - scroller: true - }); - - $('#datatable-fixed-header').DataTable({ - fixedHeader: true - }); - - var $datatable = $('#datatable-checkbox'); - - $datatable.dataTable({ - 'order': [[ 1, 'asc' ]], - 'columnDefs': [ - { orderable: false, targets: [0] } - ] - }); - $datatable.on('draw.dt', function() { - $('checkbox input').iCheck({ - checkboxClass: 'icheckbox_flat-green' - }); - }); - - TableManageButtons.init(); - - }; - - /* CHART - MORRIS */ - - function init_morris_charts() { - - if( typeof (Morris) === 'undefined'){ return; } - console.log('init_morris_charts'); - - if ($('#graph_bar').length){ - - Morris.Bar({ - element: 'graph_bar', - data: [ - {device: 'iPhone 4', geekbench: 380}, - {device: 'iPhone 4S', geekbench: 655}, - {device: 'iPhone 3GS', geekbench: 275}, - {device: 'iPhone 5', geekbench: 1571}, - {device: 'iPhone 5S', geekbench: 655}, - {device: 'iPhone 6', geekbench: 2154}, - {device: 'iPhone 6 Plus', geekbench: 1144}, - {device: 'iPhone 6S', geekbench: 2371}, - {device: 'iPhone 6S Plus', geekbench: 1471}, - {device: 'Other', geekbench: 1371} - ], - xkey: 'device', - ykeys: ['geekbench'], - labels: ['Geekbench'], - barRatio: 0.4, - barColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'], - xLabelAngle: 35, - hideHover: 'auto', - resize: true - }); - - } - - if ($('#graph_bar_group').length ){ - - Morris.Bar({ - element: 'graph_bar_group', - data: [ - {"period": "2016-10-01", "licensed": 807, "sorned": 660}, - {"period": "2016-09-30", "licensed": 1251, "sorned": 729}, - {"period": "2016-09-29", "licensed": 1769, "sorned": 1018}, - {"period": "2016-09-20", "licensed": 2246, "sorned": 1461}, - {"period": "2016-09-19", "licensed": 2657, "sorned": 1967}, - {"period": "2016-09-18", "licensed": 3148, "sorned": 2627}, - {"period": "2016-09-17", "licensed": 3471, "sorned": 3740}, - {"period": "2016-09-16", "licensed": 2871, "sorned": 2216}, - {"period": "2016-09-15", "licensed": 2401, "sorned": 1656}, - {"period": "2016-09-10", "licensed": 2115, "sorned": 1022} - ], - xkey: 'period', - barColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'], - ykeys: ['licensed', 'sorned'], - labels: ['Licensed', 'SORN'], - hideHover: 'auto', - xLabelAngle: 60, - resize: true - }); - - } - - if ($('#graphx').length ){ - - Morris.Bar({ - element: 'graphx', - data: [ - {x: '2015 Q1', y: 2, z: 3, a: 4}, - {x: '2015 Q2', y: 3, z: 5, a: 6}, - {x: '2015 Q3', y: 4, z: 3, a: 2}, - {x: '2015 Q4', y: 2, z: 4, a: 5} - ], - xkey: 'x', - ykeys: ['y', 'z', 'a'], - barColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'], - hideHover: 'auto', - labels: ['Y', 'Z', 'A'], - resize: true - }).on('click', function (i, row) { - console.log(i, row); - }); - - } - - if ($('#graph_area').length ){ - - Morris.Area({ - element: 'graph_area', - data: [ - {period: '2014 Q1', iphone: 2666, ipad: null, itouch: 2647}, - {period: '2014 Q2', iphone: 2778, ipad: 2294, itouch: 2441}, - {period: '2014 Q3', iphone: 4912, ipad: 1969, itouch: 2501}, - {period: '2014 Q4', iphone: 3767, ipad: 3597, itouch: 5689}, - {period: '2015 Q1', iphone: 6810, ipad: 1914, itouch: 2293}, - {period: '2015 Q2', iphone: 5670, ipad: 4293, itouch: 1881}, - {period: '2015 Q3', iphone: 4820, ipad: 3795, itouch: 1588}, - {period: '2015 Q4', iphone: 15073, ipad: 5967, itouch: 5175}, - {period: '2016 Q1', iphone: 10687, ipad: 4460, itouch: 2028}, - {period: '2016 Q2', iphone: 8432, ipad: 5713, itouch: 1791} - ], - xkey: 'period', - ykeys: ['iphone', 'ipad', 'itouch'], - lineColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'], - labels: ['iPhone', 'iPad', 'iPod Touch'], - pointSize: 2, - hideHover: 'auto', - resize: true - }); - - } - - if ($('#graph_donut').length ){ - - Morris.Donut({ - element: 'graph_donut', - data: [ - {label: 'Jam', value: 25}, - {label: 'Frosted', value: 40}, - {label: 'Custard', value: 25}, - {label: 'Sugar', value: 10} - ], - colors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'], - formatter: function (y) { - return y + "%"; - }, - resize: true - }); - - } - - if ($('#graph_line').length ){ - - Morris.Line({ - element: 'graph_line', - xkey: 'year', - ykeys: ['value'], - labels: ['Value'], - hideHover: 'auto', - lineColors: ['#26B99A', '#34495E', '#ACADAC', '#3498DB'], - data: [ - {year: '2012', value: 20}, - {year: '2013', value: 10}, - {year: '2014', value: 5}, - {year: '2015', value: 5}, - {year: '2016', value: 20} - ], - resize: true - }); - - $MENU_TOGGLE.on('click', function() { - $(window).resize(); - }); - - } - - }; - - - - /* ECHRTS */ - - - function init_echarts() { - - if( typeof (echarts) === 'undefined'){ return; } - console.log('init_echarts'); - - - var theme = { - color: [ - '#26B99A', '#34495E', '#BDC3C7', '#3498DB', - '#9B59B6', '#8abb6f', '#759c6a', '#bfd3b7' - ], - - title: { - itemGap: 8, - textStyle: { - fontWeight: 'normal', - color: '#408829' - } - }, - - dataRange: { - color: ['#1f610a', '#97b58d'] - }, - - toolbox: { - color: ['#408829', '#408829', '#408829', '#408829'] - }, - - tooltip: { - backgroundColor: 'rgba(0,0,0,0.5)', - axisPointer: { - type: 'line', - lineStyle: { - color: '#408829', - type: 'dashed' - }, - crossStyle: { - color: '#408829' - }, - shadowStyle: { - color: 'rgba(200,200,200,0.3)' - } - } - }, - - dataZoom: { - dataBackgroundColor: '#eee', - fillerColor: 'rgba(64,136,41,0.2)', - handleColor: '#408829' - }, - grid: { - borderWidth: 0 - }, - - categoryAxis: { - axisLine: { - lineStyle: { - color: '#408829' - } - }, - splitLine: { - lineStyle: { - color: ['#eee'] - } - } - }, - - valueAxis: { - axisLine: { - lineStyle: { - color: '#408829' - } - }, - splitArea: { - show: true, - areaStyle: { - color: ['rgba(250,250,250,0.1)', 'rgba(200,200,200,0.1)'] - } - }, - splitLine: { - lineStyle: { - color: ['#eee'] - } - } - }, - timeline: { - lineStyle: { - color: '#408829' - }, - controlStyle: { - normal: {color: '#408829'}, - emphasis: {color: '#408829'} - } - }, - - k: { - itemStyle: { - normal: { - color: '#68a54a', - color0: '#a9cba2', - lineStyle: { - width: 1, - color: '#408829', - color0: '#86b379' - } - } - } - }, - map: { - itemStyle: { - normal: { - areaStyle: { - color: '#ddd' - }, - label: { - textStyle: { - color: '#c12e34' - } - } - }, - emphasis: { - areaStyle: { - color: '#99d2dd' - }, - label: { - textStyle: { - color: '#c12e34' - } - } - } - } - }, - force: { - itemStyle: { - normal: { - linkStyle: { - strokeColor: '#408829' - } - } - } - }, - chord: { - padding: 4, - itemStyle: { - normal: { - lineStyle: { - width: 1, - color: 'rgba(128, 128, 128, 0.5)' - }, - chordStyle: { - lineStyle: { - width: 1, - color: 'rgba(128, 128, 128, 0.5)' - } - } - }, - emphasis: { - lineStyle: { - width: 1, - color: 'rgba(128, 128, 128, 0.5)' - }, - chordStyle: { - lineStyle: { - width: 1, - color: 'rgba(128, 128, 128, 0.5)' - } - } - } - } - }, - gauge: { - startAngle: 225, - endAngle: -45, - axisLine: { - show: true, - lineStyle: { - color: [[0.2, '#86b379'], [0.8, '#68a54a'], [1, '#408829']], - width: 8 - } - }, - axisTick: { - splitNumber: 10, - length: 12, - lineStyle: { - color: 'auto' - } - }, - axisLabel: { - textStyle: { - color: 'auto' - } - }, - splitLine: { - length: 18, - lineStyle: { - color: 'auto' - } - }, - pointer: { - length: '90%', - color: 'auto' - }, - title: { - textStyle: { - color: '#333' - } - }, - detail: { - textStyle: { - color: 'auto' - } - } - }, - textStyle: { - fontFamily: 'Arial, Verdana, sans-serif' - } - }; - - - //echart Bar - - if ($('#mainb').length ){ - - var echartBar = echarts.init(document.getElementById('mainb'), theme); - - echartBar.setOption({ - title: { - text: 'Graph title', - subtext: 'Graph Sub-text' - }, - tooltip: { - trigger: 'axis' - }, - legend: { - data: ['sales', 'purchases'] - }, - toolbox: { - show: false - }, - calculable: false, - xAxis: [{ - type: 'category', - data: ['1?', '2?', '3?', '4?', '5?', '6?', '7?', '8?', '9?', '10?', '11?', '12?'] - }], - yAxis: [{ - type: 'value' - }], - series: [{ - name: 'sales', - type: 'bar', - data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3], - markPoint: { - data: [{ - type: 'max', - name: '???' - }, { - type: 'min', - name: '???' - }] - }, - markLine: { - data: [{ - type: 'average', - name: '???' - }] - } - }, { - name: 'purchases', - type: 'bar', - data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3], - markPoint: { - data: [{ - name: 'sales', - value: 182.2, - xAxis: 7, - yAxis: 183, - }, { - name: 'purchases', - value: 2.3, - xAxis: 11, - yAxis: 3 - }] - }, - markLine: { - data: [{ - type: 'average', - name: '???' - }] - } - }] - }); - - } - - - - - //echart Radar - - if ($('#echart_sonar').length ){ - - var echartRadar = echarts.init(document.getElementById('echart_sonar'), theme); - - echartRadar.setOption({ - title: { - text: 'Budget vs spending', - subtext: 'Subtitle' - }, - tooltip: { - trigger: 'item' - }, - legend: { - orient: 'vertical', - x: 'right', - y: 'bottom', - data: ['Allocated Budget', 'Actual Spending'] - }, - toolbox: { - show: true, - feature: { - restore: { - show: true, - title: "Restore" - }, - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - polar: [{ - indicator: [{ - text: 'Sales', - max: 6000 - }, { - text: 'Administration', - max: 16000 - }, { - text: 'Information Techology', - max: 30000 - }, { - text: 'Customer Support', - max: 38000 - }, { - text: 'Development', - max: 52000 - }, { - text: 'Marketing', - max: 25000 - }] - }], - calculable: true, - series: [{ - name: 'Budget vs spending', - type: 'radar', - data: [{ - value: [4300, 10000, 28000, 35000, 50000, 19000], - name: 'Allocated Budget' - }, { - value: [5000, 14000, 28000, 31000, 42000, 21000], - name: 'Actual Spending' - }] - }] - }); - - } - - //echart Funnel - - if ($('#echart_pyramid').length ){ - - var echartFunnel = echarts.init(document.getElementById('echart_pyramid'), theme); - - echartFunnel.setOption({ - title: { - text: 'Echart Pyramid Graph', - subtext: 'Subtitle' - }, - tooltip: { - trigger: 'item', - formatter: "{a}
    {b} : {c}%" - }, - toolbox: { - show: true, - feature: { - restore: { - show: true, - title: "Restore" - }, - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - legend: { - data: ['Something #1', 'Something #2', 'Something #3', 'Something #4', 'Something #5'], - orient: 'vertical', - x: 'left', - y: 'bottom' - }, - calculable: true, - series: [{ - name: '漏斗图', - type: 'funnel', - width: '40%', - data: [{ - value: 60, - name: 'Something #1' - }, { - value: 40, - name: 'Something #2' - }, { - value: 20, - name: 'Something #3' - }, { - value: 80, - name: 'Something #4' - }, { - value: 100, - name: 'Something #5' - }] - }] - }); - - } - - //echart Gauge - - if ($('#echart_gauge').length ){ - - var echartGauge = echarts.init(document.getElementById('echart_gauge'), theme); - - echartGauge.setOption({ - tooltip: { - formatter: "{a}
    {b} : {c}%" - }, - toolbox: { - show: true, - feature: { - restore: { - show: true, - title: "Restore" - }, - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - series: [{ - name: 'Performance', - type: 'gauge', - center: ['50%', '50%'], - startAngle: 140, - endAngle: -140, - min: 0, - max: 100, - precision: 0, - splitNumber: 10, - axisLine: { - show: true, - lineStyle: { - color: [ - [0.2, 'lightgreen'], - [0.4, 'orange'], - [0.8, 'skyblue'], - [1, '#ff4500'] - ], - width: 30 - } - }, - axisTick: { - show: true, - splitNumber: 5, - length: 8, - lineStyle: { - color: '#eee', - width: 1, - type: 'solid' - } - }, - axisLabel: { - show: true, - formatter: function(v) { - switch (v + '') { - case '10': - return 'a'; - case '30': - return 'b'; - case '60': - return 'c'; - case '90': - return 'd'; - default: - return ''; - } - }, - textStyle: { - color: '#333' - } - }, - splitLine: { - show: true, - length: 30, - lineStyle: { - color: '#eee', - width: 2, - type: 'solid' - } - }, - pointer: { - length: '80%', - width: 8, - color: 'auto' - }, - title: { - show: true, - offsetCenter: ['-65%', -10], - textStyle: { - color: '#333', - fontSize: 15 - } - }, - detail: { - show: true, - backgroundColor: 'rgba(0,0,0,0)', - borderWidth: 0, - borderColor: '#ccc', - width: 100, - height: 40, - offsetCenter: ['-60%', 10], - formatter: '{value}%', - textStyle: { - color: 'auto', - fontSize: 30 - } - }, - data: [{ - value: 50, - name: 'Performance' - }] - }] - }); - - } - - //echart Line - - if ($('#echart_line').length ){ - - var echartLine = echarts.init(document.getElementById('echart_line'), theme); - - echartLine.setOption({ - title: { - text: 'Line Graph', - subtext: 'Subtitle' - }, - tooltip: { - trigger: 'axis' - }, - legend: { - x: 220, - y: 40, - data: ['Intent', 'Pre-order', 'Deal'] - }, - toolbox: { - show: true, - feature: { - magicType: { - show: true, - title: { - line: 'Line', - bar: 'Bar', - stack: 'Stack', - tiled: 'Tiled' - }, - type: ['line', 'bar', 'stack', 'tiled'] - }, - restore: { - show: true, - title: "Restore" - }, - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - calculable: true, - xAxis: [{ - type: 'category', - boundaryGap: false, - data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] - }], - yAxis: [{ - type: 'value' - }], - series: [{ - name: 'Deal', - type: 'line', - smooth: true, - itemStyle: { - normal: { - areaStyle: { - type: 'default' - } - } - }, - data: [10, 12, 21, 54, 260, 830, 710] - }, { - name: 'Pre-order', - type: 'line', - smooth: true, - itemStyle: { - normal: { - areaStyle: { - type: 'default' - } - } - }, - data: [30, 182, 434, 791, 390, 30, 10] - }, { - name: 'Intent', - type: 'line', - smooth: true, - itemStyle: { - normal: { - areaStyle: { - type: 'default' - } - } - }, - data: [1320, 1132, 601, 234, 120, 90, 20] - }] - }); - - } - - //echart Scatter - - if ($('#echart_scatter').length ){ - - var echartScatter = echarts.init(document.getElementById('echart_scatter'), theme); - - echartScatter.setOption({ - title: { - text: 'Scatter Graph', - subtext: 'Heinz 2003' - }, - tooltip: { - trigger: 'axis', - showDelay: 0, - axisPointer: { - type: 'cross', - lineStyle: { - type: 'dashed', - width: 1 - } - } - }, - legend: { - data: ['Data2', 'Data1'] - }, - toolbox: { - show: true, - feature: { - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - xAxis: [{ - type: 'value', - scale: true, - axisLabel: { - formatter: '{value} cm' - } - }], - yAxis: [{ - type: 'value', - scale: true, - axisLabel: { - formatter: '{value} kg' - } - }], - series: [{ - name: 'Data1', - type: 'scatter', - tooltip: { - trigger: 'item', - formatter: function(params) { - if (params.value.length > 1) { - return params.seriesName + ' :
    ' + params.value[0] + 'cm ' + params.value[1] + 'kg '; - } else { - return params.seriesName + ' :
    ' + params.name + ' : ' + params.value + 'kg '; - } - } - }, - data: [ - [161.2, 51.6], - [167.5, 59.0], - [159.5, 49.2], - [157.0, 63.0], - [155.8, 53.6], - [170.0, 59.0], - [159.1, 47.6], - [166.0, 69.8], - [176.2, 66.8], - [160.2, 75.2], - [172.5, 55.2], - [170.9, 54.2], - [172.9, 62.5], - [153.4, 42.0], - [160.0, 50.0], - [147.2, 49.8], - [168.2, 49.2], - [175.0, 73.2], - [157.0, 47.8], - [167.6, 68.8], - [159.5, 50.6], - [175.0, 82.5], - [166.8, 57.2], - [176.5, 87.8], - [170.2, 72.8], - [174.0, 54.5], - [173.0, 59.8], - [179.9, 67.3], - [170.5, 67.8], - [160.0, 47.0], - [154.4, 46.2], - [162.0, 55.0], - [176.5, 83.0], - [160.0, 54.4], - [152.0, 45.8], - [162.1, 53.6], - [170.0, 73.2], - [160.2, 52.1], - [161.3, 67.9], - [166.4, 56.6], - [168.9, 62.3], - [163.8, 58.5], - [167.6, 54.5], - [160.0, 50.2], - [161.3, 60.3], - [167.6, 58.3], - [165.1, 56.2], - [160.0, 50.2], - [170.0, 72.9], - [157.5, 59.8], - [167.6, 61.0], - [160.7, 69.1], - [163.2, 55.9], - [152.4, 46.5], - [157.5, 54.3], - [168.3, 54.8], - [180.3, 60.7], - [165.5, 60.0], - [165.0, 62.0], - [164.5, 60.3], - [156.0, 52.7], - [160.0, 74.3], - [163.0, 62.0], - [165.7, 73.1], - [161.0, 80.0], - [162.0, 54.7], - [166.0, 53.2], - [174.0, 75.7], - [172.7, 61.1], - [167.6, 55.7], - [151.1, 48.7], - [164.5, 52.3], - [163.5, 50.0], - [152.0, 59.3], - [169.0, 62.5], - [164.0, 55.7], - [161.2, 54.8], - [155.0, 45.9], - [170.0, 70.6], - [176.2, 67.2], - [170.0, 69.4], - [162.5, 58.2], - [170.3, 64.8], - [164.1, 71.6], - [169.5, 52.8], - [163.2, 59.8], - [154.5, 49.0], - [159.8, 50.0], - [173.2, 69.2], - [170.0, 55.9], - [161.4, 63.4], - [169.0, 58.2], - [166.2, 58.6], - [159.4, 45.7], - [162.5, 52.2], - [159.0, 48.6], - [162.8, 57.8], - [159.0, 55.6], - [179.8, 66.8], - [162.9, 59.4], - [161.0, 53.6], - [151.1, 73.2], - [168.2, 53.4], - [168.9, 69.0], - [173.2, 58.4], - [171.8, 56.2], - [178.0, 70.6], - [164.3, 59.8], - [163.0, 72.0], - [168.5, 65.2], - [166.8, 56.6], - [172.7, 105.2], - [163.5, 51.8], - [169.4, 63.4], - [167.8, 59.0], - [159.5, 47.6], - [167.6, 63.0], - [161.2, 55.2], - [160.0, 45.0], - [163.2, 54.0], - [162.2, 50.2], - [161.3, 60.2], - [149.5, 44.8], - [157.5, 58.8], - [163.2, 56.4], - [172.7, 62.0], - [155.0, 49.2], - [156.5, 67.2], - [164.0, 53.8], - [160.9, 54.4], - [162.8, 58.0], - [167.0, 59.8], - [160.0, 54.8], - [160.0, 43.2], - [168.9, 60.5], - [158.2, 46.4], - [156.0, 64.4], - [160.0, 48.8], - [167.1, 62.2], - [158.0, 55.5], - [167.6, 57.8], - [156.0, 54.6], - [162.1, 59.2], - [173.4, 52.7], - [159.8, 53.2], - [170.5, 64.5], - [159.2, 51.8], - [157.5, 56.0], - [161.3, 63.6], - [162.6, 63.2], - [160.0, 59.5], - [168.9, 56.8], - [165.1, 64.1], - [162.6, 50.0], - [165.1, 72.3], - [166.4, 55.0], - [160.0, 55.9], - [152.4, 60.4], - [170.2, 69.1], - [162.6, 84.5], - [170.2, 55.9], - [158.8, 55.5], - [172.7, 69.5], - [167.6, 76.4], - [162.6, 61.4], - [167.6, 65.9], - [156.2, 58.6], - [175.2, 66.8], - [172.1, 56.6], - [162.6, 58.6], - [160.0, 55.9], - [165.1, 59.1], - [182.9, 81.8], - [166.4, 70.7], - [165.1, 56.8], - [177.8, 60.0], - [165.1, 58.2], - [175.3, 72.7], - [154.9, 54.1], - [158.8, 49.1], - [172.7, 75.9], - [168.9, 55.0], - [161.3, 57.3], - [167.6, 55.0], - [165.1, 65.5], - [175.3, 65.5], - [157.5, 48.6], - [163.8, 58.6], - [167.6, 63.6], - [165.1, 55.2], - [165.1, 62.7], - [168.9, 56.6], - [162.6, 53.9], - [164.5, 63.2], - [176.5, 73.6], - [168.9, 62.0], - [175.3, 63.6], - [159.4, 53.2], - [160.0, 53.4], - [170.2, 55.0], - [162.6, 70.5], - [167.6, 54.5], - [162.6, 54.5], - [160.7, 55.9], - [160.0, 59.0], - [157.5, 63.6], - [162.6, 54.5], - [152.4, 47.3], - [170.2, 67.7], - [165.1, 80.9], - [172.7, 70.5], - [165.1, 60.9], - [170.2, 63.6], - [170.2, 54.5], - [170.2, 59.1], - [161.3, 70.5], - [167.6, 52.7], - [167.6, 62.7], - [165.1, 86.3], - [162.6, 66.4], - [152.4, 67.3], - [168.9, 63.0], - [170.2, 73.6], - [175.2, 62.3], - [175.2, 57.7], - [160.0, 55.4], - [165.1, 104.1], - [174.0, 55.5], - [170.2, 77.3], - [160.0, 80.5], - [167.6, 64.5], - [167.6, 72.3], - [167.6, 61.4], - [154.9, 58.2], - [162.6, 81.8], - [175.3, 63.6], - [171.4, 53.4], - [157.5, 54.5], - [165.1, 53.6], - [160.0, 60.0], - [174.0, 73.6], - [162.6, 61.4], - [174.0, 55.5], - [162.6, 63.6], - [161.3, 60.9], - [156.2, 60.0], - [149.9, 46.8], - [169.5, 57.3], - [160.0, 64.1], - [175.3, 63.6], - [169.5, 67.3], - [160.0, 75.5], - [172.7, 68.2], - [162.6, 61.4], - [157.5, 76.8], - [176.5, 71.8], - [164.4, 55.5], - [160.7, 48.6], - [174.0, 66.4], - [163.8, 67.3] - ], - markPoint: { - data: [{ - type: 'max', - name: 'Max' - }, { - type: 'min', - name: 'Min' - }] - }, - markLine: { - data: [{ - type: 'average', - name: 'Mean' - }] - } - }, { - name: 'Data2', - type: 'scatter', - tooltip: { - trigger: 'item', - formatter: function(params) { - if (params.value.length > 1) { - return params.seriesName + ' :
    ' + params.value[0] + 'cm ' + params.value[1] + 'kg '; - } else { - return params.seriesName + ' :
    ' + params.name + ' : ' + params.value + 'kg '; - } - } - }, - data: [ - [174.0, 65.6], - [175.3, 71.8], - [193.5, 80.7], - [186.5, 72.6], - [187.2, 78.8], - [181.5, 74.8], - [184.0, 86.4], - [184.5, 78.4], - [175.0, 62.0], - [184.0, 81.6], - [180.0, 76.6], - [177.8, 83.6], - [192.0, 90.0], - [176.0, 74.6], - [174.0, 71.0], - [184.0, 79.6], - [192.7, 93.8], - [171.5, 70.0], - [173.0, 72.4], - [176.0, 85.9], - [176.0, 78.8], - [180.5, 77.8], - [172.7, 66.2], - [176.0, 86.4], - [173.5, 81.8], - [178.0, 89.6], - [180.3, 82.8], - [180.3, 76.4], - [164.5, 63.2], - [173.0, 60.9], - [183.5, 74.8], - [175.5, 70.0], - [188.0, 72.4], - [189.2, 84.1], - [172.8, 69.1], - [170.0, 59.5], - [182.0, 67.2], - [170.0, 61.3], - [177.8, 68.6], - [184.2, 80.1], - [186.7, 87.8], - [171.4, 84.7], - [172.7, 73.4], - [175.3, 72.1], - [180.3, 82.6], - [182.9, 88.7], - [188.0, 84.1], - [177.2, 94.1], - [172.1, 74.9], - [167.0, 59.1], - [169.5, 75.6], - [174.0, 86.2], - [172.7, 75.3], - [182.2, 87.1], - [164.1, 55.2], - [163.0, 57.0], - [171.5, 61.4], - [184.2, 76.8], - [174.0, 86.8], - [174.0, 72.2], - [177.0, 71.6], - [186.0, 84.8], - [167.0, 68.2], - [171.8, 66.1], - [182.0, 72.0], - [167.0, 64.6], - [177.8, 74.8], - [164.5, 70.0], - [192.0, 101.6], - [175.5, 63.2], - [171.2, 79.1], - [181.6, 78.9], - [167.4, 67.7], - [181.1, 66.0], - [177.0, 68.2], - [174.5, 63.9], - [177.5, 72.0], - [170.5, 56.8], - [182.4, 74.5], - [197.1, 90.9], - [180.1, 93.0], - [175.5, 80.9], - [180.6, 72.7], - [184.4, 68.0], - [175.5, 70.9], - [180.6, 72.5], - [177.0, 72.5], - [177.1, 83.4], - [181.6, 75.5], - [176.5, 73.0], - [175.0, 70.2], - [174.0, 73.4], - [165.1, 70.5], - [177.0, 68.9], - [192.0, 102.3], - [176.5, 68.4], - [169.4, 65.9], - [182.1, 75.7], - [179.8, 84.5], - [175.3, 87.7], - [184.9, 86.4], - [177.3, 73.2], - [167.4, 53.9], - [178.1, 72.0], - [168.9, 55.5], - [157.2, 58.4], - [180.3, 83.2], - [170.2, 72.7], - [177.8, 64.1], - [172.7, 72.3], - [165.1, 65.0], - [186.7, 86.4], - [165.1, 65.0], - [174.0, 88.6], - [175.3, 84.1], - [185.4, 66.8], - [177.8, 75.5], - [180.3, 93.2], - [180.3, 82.7], - [177.8, 58.0], - [177.8, 79.5], - [177.8, 78.6], - [177.8, 71.8], - [177.8, 116.4], - [163.8, 72.2], - [188.0, 83.6], - [198.1, 85.5], - [175.3, 90.9], - [166.4, 85.9], - [190.5, 89.1], - [166.4, 75.0], - [177.8, 77.7], - [179.7, 86.4], - [172.7, 90.9], - [190.5, 73.6], - [185.4, 76.4], - [168.9, 69.1], - [167.6, 84.5], - [175.3, 64.5], - [170.2, 69.1], - [190.5, 108.6], - [177.8, 86.4], - [190.5, 80.9], - [177.8, 87.7], - [184.2, 94.5], - [176.5, 80.2], - [177.8, 72.0], - [180.3, 71.4], - [171.4, 72.7], - [172.7, 84.1], - [172.7, 76.8], - [177.8, 63.6], - [177.8, 80.9], - [182.9, 80.9], - [170.2, 85.5], - [167.6, 68.6], - [175.3, 67.7], - [165.1, 66.4], - [185.4, 102.3], - [181.6, 70.5], - [172.7, 95.9], - [190.5, 84.1], - [179.1, 87.3], - [175.3, 71.8], - [170.2, 65.9], - [193.0, 95.9], - [171.4, 91.4], - [177.8, 81.8], - [177.8, 96.8], - [167.6, 69.1], - [167.6, 82.7], - [180.3, 75.5], - [182.9, 79.5], - [176.5, 73.6], - [186.7, 91.8], - [188.0, 84.1], - [188.0, 85.9], - [177.8, 81.8], - [174.0, 82.5], - [177.8, 80.5], - [171.4, 70.0], - [185.4, 81.8], - [185.4, 84.1], - [188.0, 90.5], - [188.0, 91.4], - [182.9, 89.1], - [176.5, 85.0], - [175.3, 69.1], - [175.3, 73.6], - [188.0, 80.5], - [188.0, 82.7], - [175.3, 86.4], - [170.5, 67.7], - [179.1, 92.7], - [177.8, 93.6], - [175.3, 70.9], - [182.9, 75.0], - [170.8, 93.2], - [188.0, 93.2], - [180.3, 77.7], - [177.8, 61.4], - [185.4, 94.1], - [168.9, 75.0], - [185.4, 83.6], - [180.3, 85.5], - [174.0, 73.9], - [167.6, 66.8], - [182.9, 87.3], - [160.0, 72.3], - [180.3, 88.6], - [167.6, 75.5], - [186.7, 101.4], - [175.3, 91.1], - [175.3, 67.3], - [175.9, 77.7], - [175.3, 81.8], - [179.1, 75.5], - [181.6, 84.5], - [177.8, 76.6], - [182.9, 85.0], - [177.8, 102.5], - [184.2, 77.3], - [179.1, 71.8], - [176.5, 87.9], - [188.0, 94.3], - [174.0, 70.9], - [167.6, 64.5], - [170.2, 77.3], - [167.6, 72.3], - [188.0, 87.3], - [174.0, 80.0], - [176.5, 82.3], - [180.3, 73.6], - [167.6, 74.1], - [188.0, 85.9], - [180.3, 73.2], - [167.6, 76.3], - [183.0, 65.9], - [183.0, 90.9], - [179.1, 89.1], - [170.2, 62.3], - [177.8, 82.7], - [179.1, 79.1], - [190.5, 98.2], - [177.8, 84.1], - [180.3, 83.2], - [180.3, 83.2] - ], - markPoint: { - data: [{ - type: 'max', - name: 'Max' - }, { - type: 'min', - name: 'Min' - }] - }, - markLine: { - data: [{ - type: 'average', - name: 'Mean' - }] - } - }] - }); - - } - - //echart Bar Horizontal - - if ($('#echart_bar_horizontal').length ){ - - var echartBar = echarts.init(document.getElementById('echart_bar_horizontal'), theme); - - echartBar.setOption({ - title: { - text: 'Bar Graph', - subtext: 'Graph subtitle' - }, - tooltip: { - trigger: 'axis' - }, - legend: { - x: 100, - data: ['2015', '2016'] - }, - toolbox: { - show: true, - feature: { - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - calculable: true, - xAxis: [{ - type: 'value', - boundaryGap: [0, 0.01] - }], - yAxis: [{ - type: 'category', - data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] - }], - series: [{ - name: '2015', - type: 'bar', - data: [18203, 23489, 29034, 104970, 131744, 630230] - }, { - name: '2016', - type: 'bar', - data: [19325, 23438, 31000, 121594, 134141, 681807] - }] - }); - - } - - //echart Pie Collapse - - if ($('#echart_pie2').length ){ - - var echartPieCollapse = echarts.init(document.getElementById('echart_pie2'), theme); - - echartPieCollapse.setOption({ - tooltip: { - trigger: 'item', - formatter: "{a}
    {b} : {c} ({d}%)" - }, - legend: { - x: 'center', - y: 'bottom', - data: ['rose1', 'rose2', 'rose3', 'rose4', 'rose5', 'rose6'] - }, - toolbox: { - show: true, - feature: { - magicType: { - show: true, - type: ['pie', 'funnel'] - }, - restore: { - show: true, - title: "Restore" - }, - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - calculable: true, - series: [{ - name: 'Area Mode', - type: 'pie', - radius: [25, 90], - center: ['50%', 170], - roseType: 'area', - x: '50%', - max: 40, - sort: 'ascending', - data: [{ - value: 10, - name: 'rose1' - }, { - value: 5, - name: 'rose2' - }, { - value: 15, - name: 'rose3' - }, { - value: 25, - name: 'rose4' - }, { - value: 20, - name: 'rose5' - }, { - value: 35, - name: 'rose6' - }] - }] - }); - - } - - //echart Donut - - if ($('#echart_donut').length ){ - - var echartDonut = echarts.init(document.getElementById('echart_donut'), theme); - - echartDonut.setOption({ - tooltip: { - trigger: 'item', - formatter: "{a}
    {b} : {c} ({d}%)" - }, - calculable: true, - legend: { - x: 'center', - y: 'bottom', - data: ['Direct Access', 'E-mail Marketing', 'Union Ad', 'Video Ads', 'Search Engine'] - }, - toolbox: { - show: true, - feature: { - magicType: { - show: true, - type: ['pie', 'funnel'], - option: { - funnel: { - x: '25%', - width: '50%', - funnelAlign: 'center', - max: 1548 - } - } - }, - restore: { - show: true, - title: "Restore" - }, - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - series: [{ - name: 'Access to the resource', - type: 'pie', - radius: ['35%', '55%'], - itemStyle: { - normal: { - label: { - show: true - }, - labelLine: { - show: true - } - }, - emphasis: { - label: { - show: true, - position: 'center', - textStyle: { - fontSize: '14', - fontWeight: 'normal' - } - } - } - }, - data: [{ - value: 335, - name: 'Direct Access' - }, { - value: 310, - name: 'E-mail Marketing' - }, { - value: 234, - name: 'Union Ad' - }, { - value: 135, - name: 'Video Ads' - }, { - value: 1548, - name: 'Search Engine' - }] - }] - }); - - } - - //echart Pie - - if ($('#echart_pie').length ){ - - var echartPie = echarts.init(document.getElementById('echart_pie'), theme); - - echartPie.setOption({ - tooltip: { - trigger: 'item', - formatter: "{a}
    {b} : {c} ({d}%)" - }, - legend: { - x: 'center', - y: 'bottom', - data: ['Direct Access', 'E-mail Marketing', 'Union Ad', 'Video Ads', 'Search Engine'] - }, - toolbox: { - show: true, - feature: { - magicType: { - show: true, - type: ['pie', 'funnel'], - option: { - funnel: { - x: '25%', - width: '50%', - funnelAlign: 'left', - max: 1548 - } - } - }, - restore: { - show: true, - title: "Restore" - }, - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - calculable: true, - series: [{ - name: '访问来源', - type: 'pie', - radius: '55%', - center: ['50%', '48%'], - data: [{ - value: 335, - name: 'Direct Access' - }, { - value: 310, - name: 'E-mail Marketing' - }, { - value: 234, - name: 'Union Ad' - }, { - value: 135, - name: 'Video Ads' - }, { - value: 1548, - name: 'Search Engine' - }] - }] - }); - - var dataStyle = { - normal: { - label: { - show: false - }, - labelLine: { - show: false - } - } - }; - - var placeHolderStyle = { - normal: { - color: 'rgba(0,0,0,0)', - label: { - show: false - }, - labelLine: { - show: false - } - }, - emphasis: { - color: 'rgba(0,0,0,0)' - } - }; - - } - - //echart Mini Pie - - if ($('#echart_mini_pie').length ){ - - var echartMiniPie = echarts.init(document.getElementById('echart_mini_pie'), theme); - - echartMiniPie .setOption({ - title: { - text: 'Chart #2', - subtext: 'From ExcelHome', - sublink: 'http://e.weibo.com/1341556070/AhQXtjbqh', - x: 'center', - y: 'center', - itemGap: 20, - textStyle: { - color: 'rgba(30,144,255,0.8)', - fontFamily: '微软雅黑', - fontSize: 35, - fontWeight: 'bolder' - } - }, - tooltip: { - show: true, - formatter: "{a}
    {b} : {c} ({d}%)" - }, - legend: { - orient: 'vertical', - x: 170, - y: 45, - itemGap: 12, - data: ['68%Something #1', '29%Something #2', '3%Something #3'], - }, - toolbox: { - show: true, - feature: { - mark: { - show: true - }, - dataView: { - show: true, - title: "Text View", - lang: [ - "Text View", - "Close", - "Refresh", - ], - readOnly: false - }, - restore: { - show: true, - title: "Restore" - }, - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - series: [{ - name: '1', - type: 'pie', - clockWise: false, - radius: [105, 130], - itemStyle: dataStyle, - data: [{ - value: 68, - name: '68%Something #1' - }, { - value: 32, - name: 'invisible', - itemStyle: placeHolderStyle - }] - }, { - name: '2', - type: 'pie', - clockWise: false, - radius: [80, 105], - itemStyle: dataStyle, - data: [{ - value: 29, - name: '29%Something #2' - }, { - value: 71, - name: 'invisible', - itemStyle: placeHolderStyle - }] - }, { - name: '3', - type: 'pie', - clockWise: false, - radius: [25, 80], - itemStyle: dataStyle, - data: [{ - value: 3, - name: '3%Something #3' - }, { - value: 97, - name: 'invisible', - itemStyle: placeHolderStyle - }] - }] - }); - - } - - //echart Map - - if ($('#echart_world_map').length ){ - - var echartMap = echarts.init(document.getElementById('echart_world_map'), theme); - - - echartMap.setOption({ - title: { - text: 'World Population (2010)', - subtext: 'from United Nations, Total population, both sexes combined, as of 1 July (thousands)', - x: 'center', - y: 'top' - }, - tooltip: { - trigger: 'item', - formatter: function(params) { - var value = (params.value + '').split('.'); - value = value[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, '$1,') + '.' + value[1]; - return params.seriesName + '
    ' + params.name + ' : ' + value; - } - }, - toolbox: { - show: true, - orient: 'vertical', - x: 'right', - y: 'center', - feature: { - mark: { - show: true - }, - dataView: { - show: true, - title: "Text View", - lang: [ - "Text View", - "Close", - "Refresh", - ], - readOnly: false - }, - restore: { - show: true, - title: "Restore" - }, - saveAsImage: { - show: true, - title: "Save Image" - } - } - }, - dataRange: { - min: 0, - max: 1000000, - text: ['High', 'Low'], - realtime: false, - calculable: true, - color: ['#087E65', '#26B99A', '#CBEAE3'] - }, - series: [{ - name: 'World Population (2010)', - type: 'map', - mapType: 'world', - roam: false, - mapLocation: { - y: 60 - }, - itemStyle: { - emphasis: { - label: { - show: true - } - } - }, - data: [{ - name: 'Afghanistan', - value: 28397.812 - }, { - name: 'Angola', - value: 19549.124 - }, { - name: 'Albania', - value: 3150.143 - }, { - name: 'United Arab Emirates', - value: 8441.537 - }, { - name: 'Argentina', - value: 40374.224 - }, { - name: 'Armenia', - value: 2963.496 - }, { - name: 'French Southern and Antarctic Lands', - value: 268.065 - }, { - name: 'Australia', - value: 22404.488 - }, { - name: 'Austria', - value: 8401.924 - }, { - name: 'Azerbaijan', - value: 9094.718 - }, { - name: 'Burundi', - value: 9232.753 - }, { - name: 'Belgium', - value: 10941.288 - }, { - name: 'Benin', - value: 9509.798 - }, { - name: 'Burkina Faso', - value: 15540.284 - }, { - name: 'Bangladesh', - value: 151125.475 - }, { - name: 'Bulgaria', - value: 7389.175 - }, { - name: 'The Bahamas', - value: 66402.316 - }, { - name: 'Bosnia and Herzegovina', - value: 3845.929 - }, { - name: 'Belarus', - value: 9491.07 - }, { - name: 'Belize', - value: 308.595 - }, { - name: 'Bermuda', - value: 64.951 - }, { - name: 'Bolivia', - value: 716.939 - }, { - name: 'Brazil', - value: 195210.154 - }, { - name: 'Brunei', - value: 27.223 - }, { - name: 'Bhutan', - value: 716.939 - }, { - name: 'Botswana', - value: 1969.341 - }, { - name: 'Central African Republic', - value: 4349.921 - }, { - name: 'Canada', - value: 34126.24 - }, { - name: 'Switzerland', - value: 7830.534 - }, { - name: 'Chile', - value: 17150.76 - }, { - name: 'China', - value: 1359821.465 - }, { - name: 'Ivory Coast', - value: 60508.978 - }, { - name: 'Cameroon', - value: 20624.343 - }, { - name: 'Democratic Republic of the Congo', - value: 62191.161 - }, { - name: 'Republic of the Congo', - value: 3573.024 - }, { - name: 'Colombia', - value: 46444.798 - }, { - name: 'Costa Rica', - value: 4669.685 - }, { - name: 'Cuba', - value: 11281.768 - }, { - name: 'Northern Cyprus', - value: 1.468 - }, { - name: 'Cyprus', - value: 1103.685 - }, { - name: 'Czech Republic', - value: 10553.701 - }, { - name: 'Germany', - value: 83017.404 - }, { - name: 'Djibouti', - value: 834.036 - }, { - name: 'Denmark', - value: 5550.959 - }, { - name: 'Dominican Republic', - value: 10016.797 - }, { - name: 'Algeria', - value: 37062.82 - }, { - name: 'Ecuador', - value: 15001.072 - }, { - name: 'Egypt', - value: 78075.705 - }, { - name: 'Eritrea', - value: 5741.159 - }, { - name: 'Spain', - value: 46182.038 - }, { - name: 'Estonia', - value: 1298.533 - }, { - name: 'Ethiopia', - value: 87095.281 - }, { - name: 'Finland', - value: 5367.693 - }, { - name: 'Fiji', - value: 860.559 - }, { - name: 'Falkland Islands', - value: 49.581 - }, { - name: 'France', - value: 63230.866 - }, { - name: 'Gabon', - value: 1556.222 - }, { - name: 'United Kingdom', - value: 62066.35 - }, { - name: 'Georgia', - value: 4388.674 - }, { - name: 'Ghana', - value: 24262.901 - }, { - name: 'Guinea', - value: 10876.033 - }, { - name: 'Gambia', - value: 1680.64 - }, { - name: 'Guinea Bissau', - value: 10876.033 - }, { - name: 'Equatorial Guinea', - value: 696.167 - }, { - name: 'Greece', - value: 11109.999 - }, { - name: 'Greenland', - value: 56.546 - }, { - name: 'Guatemala', - value: 14341.576 - }, { - name: 'French Guiana', - value: 231.169 - }, { - name: 'Guyana', - value: 786.126 - }, { - name: 'Honduras', - value: 7621.204 - }, { - name: 'Croatia', - value: 4338.027 - }, { - name: 'Haiti', - value: 9896.4 - }, { - name: 'Hungary', - value: 10014.633 - }, { - name: 'Indonesia', - value: 240676.485 - }, { - name: 'India', - value: 1205624.648 - }, { - name: 'Ireland', - value: 4467.561 - }, { - name: 'Iran', - value: 240676.485 - }, { - name: 'Iraq', - value: 30962.38 - }, { - name: 'Iceland', - value: 318.042 - }, { - name: 'Israel', - value: 7420.368 - }, { - name: 'Italy', - value: 60508.978 - }, { - name: 'Jamaica', - value: 2741.485 - }, { - name: 'Jordan', - value: 6454.554 - }, { - name: 'Japan', - value: 127352.833 - }, { - name: 'Kazakhstan', - value: 15921.127 - }, { - name: 'Kenya', - value: 40909.194 - }, { - name: 'Kyrgyzstan', - value: 5334.223 - }, { - name: 'Cambodia', - value: 14364.931 - }, { - name: 'South Korea', - value: 51452.352 - }, { - name: 'Kosovo', - value: 97.743 - }, { - name: 'Kuwait', - value: 2991.58 - }, { - name: 'Laos', - value: 6395.713 - }, { - name: 'Lebanon', - value: 4341.092 - }, { - name: 'Liberia', - value: 3957.99 - }, { - name: 'Libya', - value: 6040.612 - }, { - name: 'Sri Lanka', - value: 20758.779 - }, { - name: 'Lesotho', - value: 2008.921 - }, { - name: 'Lithuania', - value: 3068.457 - }, { - name: 'Luxembourg', - value: 507.885 - }, { - name: 'Latvia', - value: 2090.519 - }, { - name: 'Morocco', - value: 31642.36 - }, { - name: 'Moldova', - value: 103.619 - }, { - name: 'Madagascar', - value: 21079.532 - }, { - name: 'Mexico', - value: 117886.404 - }, { - name: 'Macedonia', - value: 507.885 - }, { - name: 'Mali', - value: 13985.961 - }, { - name: 'Myanmar', - value: 51931.231 - }, { - name: 'Montenegro', - value: 620.078 - }, { - name: 'Mongolia', - value: 2712.738 - }, { - name: 'Mozambique', - value: 23967.265 - }, { - name: 'Mauritania', - value: 3609.42 - }, { - name: 'Malawi', - value: 15013.694 - }, { - name: 'Malaysia', - value: 28275.835 - }, { - name: 'Namibia', - value: 2178.967 - }, { - name: 'New Caledonia', - value: 246.379 - }, { - name: 'Niger', - value: 15893.746 - }, { - name: 'Nigeria', - value: 159707.78 - }, { - name: 'Nicaragua', - value: 5822.209 - }, { - name: 'Netherlands', - value: 16615.243 - }, { - name: 'Norway', - value: 4891.251 - }, { - name: 'Nepal', - value: 26846.016 - }, { - name: 'New Zealand', - value: 4368.136 - }, { - name: 'Oman', - value: 2802.768 - }, { - name: 'Pakistan', - value: 173149.306 - }, { - name: 'Panama', - value: 3678.128 - }, { - name: 'Peru', - value: 29262.83 - }, { - name: 'Philippines', - value: 93444.322 - }, { - name: 'Papua New Guinea', - value: 6858.945 - }, { - name: 'Poland', - value: 38198.754 - }, { - name: 'Puerto Rico', - value: 3709.671 - }, { - name: 'North Korea', - value: 1.468 - }, { - name: 'Portugal', - value: 10589.792 - }, { - name: 'Paraguay', - value: 6459.721 - }, { - name: 'Qatar', - value: 1749.713 - }, { - name: 'Romania', - value: 21861.476 - }, { - name: 'Russia', - value: 21861.476 - }, { - name: 'Rwanda', - value: 10836.732 - }, { - name: 'Western Sahara', - value: 514.648 - }, { - name: 'Saudi Arabia', - value: 27258.387 - }, { - name: 'Sudan', - value: 35652.002 - }, { - name: 'South Sudan', - value: 9940.929 - }, { - name: 'Senegal', - value: 12950.564 - }, { - name: 'Solomon Islands', - value: 526.447 - }, { - name: 'Sierra Leone', - value: 5751.976 - }, { - name: 'El Salvador', - value: 6218.195 - }, { - name: 'Somaliland', - value: 9636.173 - }, { - name: 'Somalia', - value: 9636.173 - }, { - name: 'Republic of Serbia', - value: 3573.024 - }, { - name: 'Suriname', - value: 524.96 - }, { - name: 'Slovakia', - value: 5433.437 - }, { - name: 'Slovenia', - value: 2054.232 - }, { - name: 'Sweden', - value: 9382.297 - }, { - name: 'Swaziland', - value: 1193.148 - }, { - name: 'Syria', - value: 7830.534 - }, { - name: 'Chad', - value: 11720.781 - }, { - name: 'Togo', - value: 6306.014 - }, { - name: 'Thailand', - value: 66402.316 - }, { - name: 'Tajikistan', - value: 7627.326 - }, { - name: 'Turkmenistan', - value: 5041.995 - }, { - name: 'East Timor', - value: 10016.797 - }, { - name: 'Trinidad and Tobago', - value: 1328.095 - }, { - name: 'Tunisia', - value: 10631.83 - }, { - name: 'Turkey', - value: 72137.546 - }, { - name: 'United Republic of Tanzania', - value: 44973.33 - }, { - name: 'Uganda', - value: 33987.213 - }, { - name: 'Ukraine', - value: 46050.22 - }, { - name: 'Uruguay', - value: 3371.982 - }, { - name: 'United States of America', - value: 312247.116 - }, { - name: 'Uzbekistan', - value: 27769.27 - }, { - name: 'Venezuela', - value: 236.299 - }, { - name: 'Vietnam', - value: 89047.397 - }, { - name: 'Vanuatu', - value: 236.299 - }, { - name: 'West Bank', - value: 13.565 - }, { - name: 'Yemen', - value: 22763.008 - }, { - name: 'South Africa', - value: 51452.352 - }, { - name: 'Zambia', - value: 13216.985 - }, { - name: 'Zimbabwe', - value: 13076.978 - }] - }] - }); - - } - - } - $(document).ready(function() { - - // init_sparklines(); - // init_flot_chart(); init_sidebar(); - // init_wysiwyg(); - // init_InputMask(); - // init_JQVmap(); - // init_cropper(); - // init_knob(); - // init_IonRangeSlider(); - // init_ColorPicker(); - // init_TagsInput(); - // init_parsley(); - // init_daterangepicker(); - // init_daterangepicker_right(); - // init_daterangepicker_single_call(); - // init_daterangepicker_reservation(); - // init_SmartWizard(); - // init_EasyPieChart(); - // init_charts(); - // init_echarts(); - // init_morris_charts(); - // init_skycons(); - // init_select2(); - // init_validator(); - // init_DataTables(); - // init_chart_doughnut(); - // init_gauge(); - // init_PNotify(); - // init_starrr(); - // init_calendar(); - // init_compose(); - // init_CustomNotification(); - init_autosize(); + + // init_autosize();? init_autocomplete(); }); diff --git a/public/assets/js/clientshow.js b/public/assets/js/clientshow.js index 776593a..a6ae7c7 100644 --- a/public/assets/js/clientshow.js +++ b/public/assets/js/clientshow.js @@ -120,6 +120,7 @@ } }); }); + $('#financeForm').submit(function(evt){ evt.preventDefault(); var formData = new FormData($(this)[0]); @@ -154,6 +155,18 @@ }); } + }, + error: function(error){ + //console.log(error); + //console.log("AJAX error in request: " + JSON.stringify(err, null, 2)); + var output = $.parseJSON(error.responseText); + console.log(output.errors); + $('#financeNotifyArea').removeClass('hidden'); + $('#financeNotifyArea').addClass('alert alert-danger'); + $.each(output.errors, function (key, value) { + console.log(value[0]); + $('#financeNotifyArea').text(value[0]); + }); } }); }); @@ -244,6 +257,4 @@ }); }); - // - }); \ No newline at end of file diff --git a/public/assets/js/mnos.js b/public/assets/js/mnos.js new file mode 100644 index 0000000..9f7fbce --- /dev/null +++ b/public/assets/js/mnos.js @@ -0,0 +1,56 @@ +$('#addIpBtn').click(function(evt){ + + evt.preventDefault(); + console.log('heere'); + + $('#newIpModal').modal('show'); +}); + + +$('#newIpForm').submit(function(evt){ + evt.preventDefault(); + var formData = new FormData($(this)[0]); + $.ajax({ + type: "POST", + url: base_url + '/mnos/ip_store', + data : formData, + processData: false, + contentType: false, + async: false, + success: function (data){ + if (data.code === 1) { + $("#newIpForm")[0].reset(); + $.alert({ + title: 'Alert!', + content: 'IP Address added successfully', + }); + setTimeout(function(){ + location.reload(); + }, 5000); + } + else if (data.code > 5) { + $.alert({ + title: 'Alert!', + content: data.msg, + }); + } + else { + $.alert({ + title: 'Alert!', + content: 'Your request could not be handled. Try again !', + }); + + } + }, + error: function(error){ + var output = $.parseJSON(error.responseText); + console.log(output.errors); + $('#ipNotifyArea').removeClass('hidden'); + $('#ipNotifyArea').addClass('alert alert-danger'); + $.each(output.errors, function (key, value) { + console.log(value[0]); + $('#ipNotifyArea').text(value[0]); + }); + } + }); + }); \ No newline at end of file diff --git a/public/documents/client_files/erp_16834733358d9GfM.doc b/public/documents/client_files/erp_16834733358d9GfM.doc new file mode 100644 index 0000000..bdf0044 Binary files /dev/null and b/public/documents/client_files/erp_16834733358d9GfM.doc differ diff --git a/public/documents/client_files/erp_1683473395oylyvj.doc b/public/documents/client_files/erp_1683473395oylyvj.doc new file mode 100644 index 0000000..bdf0044 Binary files /dev/null and b/public/documents/client_files/erp_1683473395oylyvj.doc differ diff --git a/public/documents/client_files/erp_1683486011ECnO5s.doc b/public/documents/client_files/erp_1683486011ECnO5s.doc new file mode 100644 index 0000000..37bff07 Binary files /dev/null and b/public/documents/client_files/erp_1683486011ECnO5s.doc differ diff --git a/public/documents/client_files/erp_1683486011vUg5hp.doc b/public/documents/client_files/erp_1683486011vUg5hp.doc new file mode 100644 index 0000000..1d29271 Binary files /dev/null and b/public/documents/client_files/erp_1683486011vUg5hp.doc differ diff --git a/public/documents/client_files/erp_168348623550DN1k.pdf b/public/documents/client_files/erp_168348623550DN1k.pdf new file mode 100644 index 0000000..0279549 Binary files /dev/null and b/public/documents/client_files/erp_168348623550DN1k.pdf differ diff --git a/public/documents/client_files/erp_16834862479GpFlk.pdf b/public/documents/client_files/erp_16834862479GpFlk.pdf new file mode 100644 index 0000000..0279549 Binary files /dev/null and b/public/documents/client_files/erp_16834862479GpFlk.pdf differ diff --git a/requirements.md b/requirements.md index d4eb5dc..7456e1a 100755 --- a/requirements.md +++ b/requirements.md @@ -40,4 +40,27 @@ The Account Manager Referral Word of Mouth Marketing +# Sam +When we get a new client we fail to track various stages. + +Discussion/Business case analysis +Business case approved + i. Proceed to Document review +No business case + i. Archived +Document Review +Tech Dcoument +Contract +NDA if available +Contract signing stage +Partner signed +Click Signed +Fully Executed or +Archived +Integration +Live + + +This will mean a client will go through various stages before they can be a LIVE customer. This will no longer be categorized by input data or by process or Admin. + \ No newline at end of file diff --git a/resources/views/client/create.blade.php b/resources/views/client/create.blade.php index 40fb359..b11abed 100755 --- a/resources/views/client/create.blade.php +++ b/resources/views/client/create.blade.php @@ -52,14 +52,14 @@
    - +
    {!! Form::text('contact_person', old('contact_person'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Contact Person' , 'id' => 'contact_person']) !!} {!! $errors->first('contact_person', '

    :message

    ') !!}
    - +
    {!! Form::text('phone', old('phone'), ['class' => 'form-control', 'placeholder'=>'Enter Phone Number' , 'id' => 'phone']) !!} {!! $errors->first('phone', '

    :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') -
    -
    -
    - -
    +
    +
    +
    +
    -
    -
    -
    -
    -
    - Update Client Details - @include('commons.notifications') -
    -
    - {{-- start of content --}} -
    -
    - {!! Form::model($client, [ - 'method' => 'PATCH', - 'url' => ['clients', $client], - 'class' => 'form-horizontal form-label-left' - ]) !!} -
    -
    -
    -
    - - {!! Form::text('name', old('name'), ['class' => 'form-control ', 'placeholder'=>'Enter client name' , 'id' => 'name']) !!} - {!! $errors->first('name', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('auth_user_id', $auth_users ,old('auth_user_id'), ['class' => 'form-control ', 'placeholder'=>'Enter Account Manager ' , 'id' => 'auth_user_id']) !!} - {!! $errors->first('auth_user_id', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::text('contact_person', old('contact_person'), ['class' => 'form-control', 'placeholder'=>'Enter Contact Person' , 'id' => 'contact_person']) !!} - {!! $errors->first('contact_person', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::text('phone', old('phone'), ['class' => 'form-control', 'placeholder'=>'Enter Phone Number' , 'id' => 'phone']) !!} - {!! $errors->first('phone', '

    :message

    ') !!} -
    +
    +
    +
    +
    +
    +
    + Update Client Details + @include('commons.notifications') +
    +
    + {{-- start of content --}} +
    +
    + {!! Form::model($client, [ 'method' => 'PATCH', 'files' => 'true', 'url' => ['clients', $client], 'class' => 'form-horizontal form-label-left']) !!} +
    +
    +
    +
    + + {!! Form::text('name', old('name'), ['class' => 'form-control ', 'placeholder'=>'Enter client name' , 'id' => 'name']) !!} + {!! $errors->first('name', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('auth_user_id', $auth_users ,old('auth_user_id'), ['class' => 'form-control ', 'placeholder'=>'Enter Account Manager ' , 'id' => 'auth_user_id']) !!} + {!! $errors->first('auth_user_id', '

    :message

    ') !!}
    +
    +
    +
    + + {!! Form::text('contact_person', old('contact_person'), ['class' => 'form-control', 'placeholder'=>'Enter Contact Person' , 'id' => 'contact_person']) !!} + {!! $errors->first('contact_person', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::text('phone', old('phone'), ['class' => 'form-control', 'placeholder'=>'Enter Phone Number' , 'id' => 'phone']) !!} + {!! $errors->first('phone', '

    :message

    ') !!} +
    +
    -
    -
    - - {!! Form::text('email', old('email'), ['class' => 'form-control ', 'placeholder'=>'Enter email' , 'id' => 'email']) !!} - {!! $errors->first('email', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::text('skype_name', old('skype_name'), ['class' => 'form-control', 'placeholder'=>'Enter Skype Name' , 'id' => 'skypeName']) !!} - {!! $errors->first('skype_name', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::text('linkedin_name', old('linkedin_name'), ['class' => 'form-control ', 'placeholder'=>'Enter LinkedIn Name' , 'id' => 'linkedIn']) !!} - {!! $errors->first('linkedin_name', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('finance_email[]', $finance_emails, $old_finance_emails, ['class' => 'form-control financeEmail', 'id' => 'financeEmail', 'multiple' => 'true']) !!} - {!! $errors->first('finance_email', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('support_emails[]', $support_emails, $old_support_emails, ['class' => 'form-control supportEmail', 'id' => 'supportEmail', 'multiple' => 'true']) !!} - {!! $errors->first('support_emails', '

    :message

    ') !!} -
    -
    - -
    -
    - - {!! Form::select('support_phones[]', $support_phones, $old_support_phones, ['class' => 'form-control supportPhones', 'id' => 'supportPhones', 'multiple' => 'true']) !!} - {!! $errors->first('support_phones', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('country', $countries, old('country'), ['class' => 'form-control ', 'placeholder'=>'Enter Country ' , 'id' => 'country']) !!} - {!! $errors->first('country', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('currency', $currency ,old('currency'), ['class' => 'form-control ' , 'id' => 'currency']) !!} - {!! $errors->first('currency', '

    :message

    ') !!} -
    -
    +
    +
    + + {!! Form::text('email', old('email'), ['class' => 'form-control ', 'placeholder'=>'Enter email' , 'id' => 'email']) !!} + {!! $errors->first('email', '

    :message

    ') !!}
    -
    -
    -
    - - {!! Form::select('services[]', $service_type, $current_services, ['class' => 'form-control typeServices' , 'id' => 'services', 'multiple'=> 'true']) !!} - {!! $errors->first('services', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('company_type', $company_types, old('company_type'), ['class' => 'form-control', 'placeholder'=>'Enter Company Type' , 'id' => 'companyType']) !!} - {!! $errors->first('company_type', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('industry', $industries, old('industry'), ['class' => 'form-control', 'placeholder'=>'Enter Industry Type' , 'id' => 'industryType', 'required' => 'true']) !!} - {!! $errors->first('industry', '

    :message

    ') !!} -
    -
    -
    - -
    - {!! Form::select('contract_type', $contract_types, old('contract_type'), ['class' => 'form-control ', 'placeholder'=>'Select Contract type' , 'id' => 'contractType']) !!} - {!! $errors->first('contract_type', '

    :message

    ') !!} -
    -
    -
    - -
    - {!! Form::text('contract_validity', old('contract_validity'), ['class' => 'form-control', 'placeholder'=>'Enter Contract Date' , 'id' => 'contractValidity']) !!} - {!! $errors->first('contract_validity', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('contract_auto_renew', ['YES' => 'YES','NO' => 'NO'], old('contract_auto_renew'), ['class' => 'form-control ' , 'id' => 'contractAutoRenew' ]) !!} - {!! $errors->first('contract_auto_renew', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('connections[]', $connections_arr, json_decode($client->connections, true), ['class' => 'form-control ' , 'id' => 'connections', 'multiple' => 'true' ]) !!} - {!! $errors->first('connections', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('message_types[]', $message_types_arr, json_decode($client->message_types, true), ['class' => 'form-control ' , 'id' => 'connections', 'multiple' => 'true' ]) !!} - {!! $errors->first('connections', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::text('smpp_username', old('smpp_username'), ['class' => 'form-control' , 'id' => 'smppUsername', 'placeholder' => 'SMPP Username']) !!} - {!! $errors->first('smpp_username', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('support_skype[]', $support_skype_arr, $old_support_skype_arr, ['class' => 'form-control supportSkype', 'id' => 'supportSkype', 'multiple' => 'true']) !!} - {!! $errors->first('support_skype', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('rate_emails[]', $rate_emails, $old_rate_emails, ['class' => 'form-control rateEmail', 'id' => 'rateEmail', 'multiple' => 'true']) !!} - {!! $errors->first('rate_emails', '

    :message

    ') !!} -
    -
    - +
    +
    +
    + + {!! Form::text('skype_name', old('skype_name'), ['class' => 'form-control', 'placeholder'=>'Enter Skype Name' , 'id' => 'skypeName']) !!} + {!! $errors->first('skype_name', '

    :message

    ') !!}
    -
    -
    -
    - - {!! Form::select('payment_mode', $payment_type, old('pay_mode'), ['class' => 'form-control' , 'id' => 'payment_mode']) !!} - {!! $errors->first('payment_mode', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('sender_ids[]', $sender_ids, $old_sender_ids, ['class' => 'form-control senderIds' , 'id' => 'senderIds', 'multiple' => 'true' ]) !!} - {!! $errors->first('sender_ids', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::select('how_we_got_client', $how_we_got_clients_arr, old('how_we_got_client'), ['class' => 'form-control' , 'id' => 'howWeGotClient' ]) !!} - {!! $errors->first('how_we_got_client', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::text('how_we_got_client_other', null, ['class' => 'form-control' , 'id' => 'howWeGotClientOther', 'placeholder' => 'Specify how we got the client']) !!} - {!! $errors->first('how_we_got_client_other', '

    :message

    ') !!} -
    -
    -
    -
    - - {!! Form::textarea('notes', old('notes'), ['class' => 'form-control ', 'placeholder'=>'Enter additional information here', 'rows' => '5', 'id' => 'clientNotes']) !!} - {!! $errors->first('notes', '

    :message

    ') !!} -
    -
    -
    - -
    -

    - Live: - status == 'Live') ? "checked" : ""; ?> /> -

    -

    - Prospective: - status == 'Prospective') ? "checked" : ""; ?> /> -

    -

    - Inactive - status == 'Inactive') ? "checked" : ""; ?> /> -

    -
    -
    +
    +
    +
    + + {!! Form::text('linkedin_name', old('linkedin_name'), ['class' => 'form-control ', 'placeholder'=>'Enter LinkedIn Name' , 'id' => 'linkedIn']) !!} + {!! $errors->first('linkedin_name', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('finance_email[]', $finance_emails, $old_finance_emails, ['class' => 'form-control financeEmail', 'id' => 'financeEmail', 'multiple' => 'true']) !!} + {!! $errors->first('finance_email', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('support_emails[]', $support_emails, $old_support_emails, ['class' => 'form-control supportEmail', 'id' => 'supportEmail', 'multiple' => 'true']) !!} + {!! $errors->first('support_emails', '

    :message

    ') !!} +
    +
    + +
    +
    + + {!! Form::select('support_phones[]', $support_phones, $old_support_phones, ['class' => 'form-control supportPhones', 'id' => 'supportPhones', 'multiple' => 'true']) !!} + {!! $errors->first('support_phones', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('country', $countries, old('country'), ['class' => 'form-control ', 'placeholder'=>'Enter Country ' , 'id' => 'country']) !!} + {!! $errors->first('country', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('currency', $currency ,old('currency'), ['class' => 'form-control ' , 'id' => 'currency']) !!} + {!! $errors->first('currency', '

    :message

    ') !!}
    -
    -
    -
    -
    -
    - {!! Form::close() !!} -
    - {{-- end of x_content --}} -
    - {{-- end of x_panel --}} -
    +
    +
    +
    + + {!! Form::select('services[]', $service_type, $current_services, ['class' => 'form-control typeServices' , 'id' => 'services', 'multiple'=> 'true']) !!} + {!! $errors->first('services', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('company_type', $company_types, old('company_type'), ['class' => 'form-control', 'placeholder'=>'Enter Company Type' , 'id' => 'companyType']) !!} + {!! $errors->first('company_type', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('industry', $industries, old('industry'), ['class' => 'form-control', 'placeholder'=>'Enter Industry Type' , 'id' => 'industryType', 'required' => 'true']) !!} + {!! $errors->first('industry', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('contract_type', $contract_types, old('contract_type'), ['class' => 'form-control ', 'placeholder'=>'Select Contract type' , 'id' => 'contractType']) !!} + {!! $errors->first('contract_type', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('contract_validity', old('contract_validity'), ['class' => 'form-control', 'placeholder'=>'Enter Contract Date' , 'id' => 'contractValidity']) !!} + {!! $errors->first('contract_validity', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('contract_auto_renew', ['YES' => 'YES','NO' => 'NO'], old('contract_auto_renew'), ['class' => 'form-control ' , 'id' => 'contractAutoRenew' ]) !!} + {!! $errors->first('contract_auto_renew', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('connections[]', $connections_arr, json_decode($client->connections, true), ['class' => 'form-control ' , 'id' => 'connections', 'multiple' => 'true' ]) !!} + {!! $errors->first('connections', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('message_types[]', $message_types_arr, json_decode($client->message_types, true), ['class' => 'form-control ' , 'id' => 'connections', 'multiple' => 'true' ]) !!} + {!! $errors->first('connections', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::text('smpp_username', old('smpp_username'), ['class' => 'form-control' , 'id' => 'smppUsername', 'placeholder' => 'SMPP Username']) !!} + {!! $errors->first('smpp_username', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('support_skype[]', $support_skype_arr, $old_support_skype_arr, ['class' => 'form-control supportSkype', 'id' => 'supportSkype', 'multiple' => 'true']) !!} + {!! $errors->first('support_skype', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::select('rate_emails[]', $rate_emails, $old_rate_emails, ['class' => 'form-control rateEmail', 'id' => 'rateEmail', 'multiple' => 'true']) !!} + {!! $errors->first('rate_emails', '

    :message

    ') !!} +
    +
    + +
    +
    +
    +
    + + {!! Form::select('payment_mode', $payment_type, old('pay_mode'), ['class' => 'form-control' , 'id' => 'payment_mode']) !!} + {!! $errors->first('payment_mode', '

    :message

    ') !!} +
    +
    + +
    +
    + + {!! Form::select('how_we_got_client', $how_we_got_clients_arr, old('how_we_got_client'), ['class' => 'form-control' , 'id' => 'howWeGotClient' ]) !!} + {!! $errors->first('how_we_got_client', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::text('how_we_got_client_other', null, ['class' => 'form-control' , 'id' => 'howWeGotClientOther', 'placeholder' => 'Specify how we got the client']) !!} + {!! $errors->first('how_we_got_client_other', '

    :message

    ') !!} +
    +
    +
    +
    + + {!! Form::textarea('notes', old('notes'), ['class' => 'form-control ', 'placeholder'=>'Enter additional information here', 'rows' => '5', 'id' => 'clientNotes']) !!} + {!! $errors->first('notes', '

    :message

    ') !!} +
    +
    +
    +
    +
    +
    + + {!! Form::text('document_one_name', null, ['class' => 'form-control' , 'id' => 'documentOneName', 'placeholder' => 'Enter name of document']) !!} + {!! $errors->first('document_one_name', '

    :message

    ') !!} +
    +
    +
    +
    +
    +
    + + {!! Form::file('document_one', null, ['class' => 'form-control' , 'id' => 'documentOne', 'placeholder' => 'Select file to upload']) !!} + {!! $errors->first('document_one', '

    :message

    ') !!} +
    +
    +
    +
    +
    +
    +
    +
    + + {!! Form::text('document_two_name', null, ['class' => 'form-control' , 'id' => 'documentTwoName', 'placeholder' => 'Enter name of document']) !!} + {!! $errors->first('document_two_name', '

    :message

    ') !!} +
    +
    +
    +
    +
    +
    + + {!! Form::file('document_two', null, ['class' => 'form-control' , 'id' => 'documentTwo', 'placeholder' => 'Select file to upload']) !!} + {!! $errors->first('document_two', '

    :message

    ') !!} +
    +
    +
    +
    +
    +
    +
    +
    + + {!! Form::text('document_three_name', null, ['class' => 'form-control' , 'id' => 'documentThreeName', 'placeholder' => 'Enter name of document']) !!} + {!! $errors->first('document_three_name', '

    :message

    ') !!} +
    +
    +
    +
    +
    +
    + + {!! Form::file('document_three', null, ['class' => 'form-control' , 'id' => 'documentThree', 'placeholder' => 'Select file to upload']) !!} + {!! $errors->first('document_three', '

    :message

    ') !!} +
    +
    +
    +
    + + + +
    + +
    +

    + Live: + status == 'Live') ? "checked" : ""; ?> /> +

    +

    + Prospective: + status == 'Prospective') ? "checked" : ""; ?> /> +

    +

    + Inactive + status == 'Inactive') ? "checked" : ""; ?> /> +

    +
    +
    +
    +
    +
    +
    +
    + +
    +
    + {!! Form::close() !!}
    - -
    + {{-- end of x_content --}} +
    + {{-- end of x_panel --}} +
    +
    +
    @endsection diff --git a/resources/views/client/index-tabulator.blade.php b/resources/views/client/index-tabulator.blade.php index e3350f2..536db46 100644 --- a/resources/views/client/index-tabulator.blade.php +++ b/resources/views/client/index-tabulator.blade.php @@ -82,7 +82,7 @@ } var table = new Tabulator("#clientsTable", { ajaxURL: "clients/all", - paginationSize: 20, + paginationSize: 15, layout: "fitColumns", pagination: "remote", selectable: false, diff --git a/resources/views/client/partials/edit-finance.blade.php b/resources/views/client/partials/edit-finance.blade.php index ad3bce1..4115914 100644 --- a/resources/views/client/partials/edit-finance.blade.php +++ b/resources/views/client/partials/edit-finance.blade.php @@ -29,7 +29,7 @@
    - +
    diff --git a/resources/views/client/partials/finance.blade.php b/resources/views/client/partials/finance.blade.php index ceb2551..1687ab2 100644 --- a/resources/views/client/partials/finance.blade.php +++ b/resources/views/client/partials/finance.blade.php @@ -9,6 +9,7 @@
    @@ -49,22 +45,6 @@
    - -
    diff --git a/resources/views/client/partials/recent-payments.blade.php b/resources/views/client/partials/recent-payments.blade.php index 3298e0a..e855bd5 100644 --- a/resources/views/client/partials/recent-payments.blade.php +++ b/resources/views/client/partials/recent-payments.blade.php @@ -3,7 +3,6 @@ - {{-- --}} 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') +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + Update Client Details + @include('commons.notifications') +
    +
    + {{-- start of content --}} +
    +
    +
    +

    Primary Details

    +
    #Invoice Number Invoice Amount Invoice Date
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Name{{ $showclient->name }}
    Account Manager{{ $showclient->auth_user_info->name }}
    Contact Person{{ $showclient->contact_person }}
    Phone{{ $showclient->phone }}
    Email{{ $showclient->email }}
    Skype Name{{ $showclient->skype_name }}
    LinkedIn {{ $showclient->linkedin_name }}
    Contract Type {{ $showclient->contract_type }}
    Contract Validity {{ $showclient->contract_validity }}
    Contract Auto Renew {{ $showclient->contract_auto_renew }}
    +
    +
    +

    Company Details

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    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 }}
    +
    +
    +

    Finance Details

    + + + + + + + + + +
    Payment Mode + pay_mode ?? ""; ?>
    Finance Emailsfinance_email) ? implode(',', json_decode($showclient->finance_email)) : ""; ?>
    +
    Recent Payments
    +
    +
    + + + + + + + + + + + + + @if ($recent_payments->isEmpty()) + + + + @else + @foreach ($recent_payments as $row) + + + + + + + + + @endforeach + @endif + +
    Invoice NumberInvoice AmountInvoice DateServicesRemarksStatus
    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 }}
    +
    +
    +
    +
    +
    +
    + +

    Documents

    + @if(!$showdocuments->isEmpty() == true) +
    +
    + +
    + @foreach($showdocuments as $docs) + + @endforeach +
    +
    +
    + @else +

    No Documents found

    + @endif +
    +
    +
    +
    +

    Notes

    +
    +
      + @if($show_notes->isEmpty()) +
    • No notes found
    • + @else + + + + + + + + + + + + + @foreach($show_notes as $notes) + + + + + + + + + @endforeach + + +
      #ContentServicesAuthorDate
      {{ $count }}{{ $notes->notes_body }}{{ $notes->services }}{{ $notes->created_by_info->name }}{{ $notes->created_at }}
      + @endif +
    +
    +
    +
    +
    +

    SMS Short Codes

    +
    +
    + + + + {{-- --}} + + + + + + + + + + + + + @if ($all_shortcodes->isEmpty()) + + + + @else + @foreach ($all_shortcodes as $row) + + + + + + + + + + + @endforeach + @endif + +
    #NameCodeTypeNetworkToll FreeStatusLaunch 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)) }}
    +
    +
    + +
    +
    + +
    + {{-- end of x_content --}} +
    + {{-- end of x_panel --}} +
    +
    +
    + +@endsection + +@section('javascript') + +@endsection diff --git a/resources/views/client/show.blade.php b/resources/views/client/show.blade.php index 9b94e33..2fd7d26 100755 --- a/resources/views/client/show.blade.php +++ b/resources/views/client/show.blade.php @@ -10,6 +10,7 @@ @include('client.partials.finance') @include('client.partials.create-shortcodes') @include('client.partials.edit-finance') +
    @@ -69,10 +70,12 @@ @endif - Edit Client - -
    + @if(session('current_user.id') == $showclient->auth_user_id) + Edit Client + @endif + Full Details (Readonly) +
    + Generic Client Icon +
    +
    +

    {{ $showclient->name }}

    +
    + Click Account Manager
    + auth_user_info->name ?? 'N/A' ?> +
    +

    Status : {{ $showclient->status }}

    +
      +
    • phone ?? "N/A"; ?>
    • +
    • email ?? "N/A"; ?>
    • +
    • skype_name ?? "N/A"; ?>
    • +
    • linkedin_name ?? "N/A"; ?>
    • +
    + +
    Highlights
    + @if(!$show_notes->isEmpty()) +
      +
    • +

      + + count(); $i++) { ?> + + highlight == 'NO'): continue; endif; ?> + {{ $i+1 . "." }} {{ $show_notes[$i]->notes_body }} + + +

      +
    • +
    + @endif + Edit Client + +
    + + + + + +
    +
    +
    + +
    +
    +
    + + +

    Company Details

    + +
    +

    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 Details

    +
    +

    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 Phone(s)

    + @if(!empty($showclient->support_phones)) +
    + support_phones, true) ?> +
      + + +
    • {{ $row }}
    • + + +
    +
    + @else + N/A + @endif +

    Support Email(s)

    + @if(!empty($showclient->support_emails)) +
    + support_emails, true) ?> +
      + + +
    • {{ $row }}
    • + + +
    +
    + @else + N/A + @endif + @if(!empty($showclient->rate_emails)) +

    Rates Email(s)

    +
    + rate_emails, true) ?> +
      + + +
    • {{ $row }}
    • + + +
    +
    + @else + N/A + @endif +

    Finance Email(s)

    + @if(!empty($showclient->finance_emails)) +
    + finance_emails, true) ?> +
      + + +
    • {{ $row }}
    • + + +
    +
    + @else + N/A + @endif + +
    +
    +

    Support Skype ID(s)

    + @if(!empty($showclient->support_skype)) +
    + support_skype, true) ?> +
      + + +
    • {{ $row }}
    • + + +
    +
    + @else + N/A + @endif +
    +

    How We Got This Client

    + how_we_got_client ?? "N/A" ?> +
    +
    + + +
    +
    + +

    Connection Details

    +
    +

    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 Details

    +
    +

    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 }}

    +
    +
    +
    +

    Finance Details

    + +
    +
    + @include('client.partials.recent-payments') +
    +
    +

    Notes

    +
    + + +
    +
    +
    + +
      + @if($show_notes->isEmpty()) +
    • No notes found
    • + @else + count(); $i++) { ?> + highlight == 'YES'): continue; endif; ?> +
    • "> +
      +

      created_at)); ?>

      +

      created_at)); ?>

      +

      created_at)); ?>

      +
      +
      +

      {{ $show_notes[$i]->client_info->name }}

      +
      Content : {{ $show_notes[$i]->notes_body }}
      +
      +

      + + Account Manager : {{ $show_notes[$i]->created_by_info->name }} +

      +
      +
    • + + @endif +
    +
    +
    +
    +

    SMS Short Code

    + +
    + @include('client.partials.sms-codes') +
    +
    +

    USSD Short Codes

    + +
    + @include('client.partials.ussd-codes') +
    +
    +

    Voice Short Code

    + +
    + @include('client.partials.voice-codes') +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +@endsection +@section('javascript') + +@endsection \ No newline at end of file diff --git a/resources/views/layouts/master.blade.php b/resources/views/layouts/master.blade.php index 881c9c9..f8adce8 100755 --- a/resources/views/layouts/master.blade.php +++ b/resources/views/layouts/master.blade.php @@ -138,7 +138,7 @@ - + \ No newline at end of file diff --git a/resources/views/layouts/partials/sidebar.blade.php b/resources/views/layouts/partials/sidebar.blade.php index 9642f8f..2c6aa88 100755 --- a/resources/views/layouts/partials/sidebar.blade.php +++ b/resources/views/layouts/partials/sidebar.blade.php @@ -17,8 +17,10 @@
  • Pre-Paid
  • --> -
  • Network Operators
  • +
  • Network Operators
  • Click Apps
  • +
  • Sender IDs
  • +
  • Team Members
  • + + + + + + + + + + + diff --git a/resources/views/senderid/create.blade.php b/resources/views/senderid/create.blade.php new file mode 100644 index 0000000..26e27ad --- /dev/null +++ b/resources/views/senderid/create.blade.php @@ -0,0 +1,94 @@ +@extends('layouts.master') +@section('page_title') + @if(isset($page_title)) + {{ $page_title }} + @endif +@endsection +@section('content') +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + New Sender ID + @include('commons.notifications') +
    +
    + {{-- start of content --}} +
    +
    + {!! Form::open(['url' => 'senderids', 'class' => 'form-horizontal form-label-left']) !!} +
    + +
    + +
    + {!! Form::text('senderid', old('senderid'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter sender ID' , 'id' => 'senderIDD', 'required' => 'true']) !!} + {!! $errors->first('name', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('client_id', $clients, old('client_id'), ['class' => 'form-control', 'placeholder'=>'Select Client' , 'id' => 'clientID', 'required' => 'true']) !!} + {!! $errors->first('client_id', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('status', $status ,old('status'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select Status ' , 'id' => 'status', 'required' => 'true']) !!} + {!! $errors->first('status', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('network_id', $network_arr, old('network_id'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select Network ' , 'id' => 'network', 'required' => 'true']) !!} + {!! $errors->first('network', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('remarks', old('remarks'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter remarks here' , 'id' => 'remarks']) !!} + {!! $errors->first('remarks', '

    :message

    ') !!} +
    +
    + +
    +
    +
    + +
    +
    + {!! Form::close() !!} +
    + {{-- end of x_content --}} +
    + {{-- end of x_panel --}} +
    +
    + +
    + +@endsection + +@section('javascript') + +@endsection diff --git a/resources/views/senderid/edit.blade.php b/resources/views/senderid/edit.blade.php new file mode 100644 index 0000000..fd553c3 --- /dev/null +++ b/resources/views/senderid/edit.blade.php @@ -0,0 +1,98 @@ +@extends('layouts.master') +@section('page_title') + @if(isset($page_title)) + {{ $page_title }} + @endif +@endsection +@section('content') +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + Update Sender ID + @include('commons.notifications') +
    +
    + {{-- start of content --}} +
    +
    + {!! Form::model($senderid, [ + 'method' => 'PATCH', + 'url' => ['senderids', $senderid], + 'class' => 'form-horizontal form-label-left' + ]) !!} +
    + +
    + +
    + {!! Form::text('senderid', old('senderid'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter sender ID' , 'id' => 'senderIDD', 'required' => 'true']) !!} + {!! $errors->first('name', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('client_id', $clients, old('client_id'), ['class' => 'form-control', 'placeholder'=>'Select Client' , 'id' => 'clientID', 'required' => 'true']) !!} + {!! $errors->first('client_id', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('status', $status ,old('status'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select Status ' , 'id' => 'status', 'required' => 'true']) !!} + {!! $errors->first('status', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('network_id', $network_arr, old('network_id'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select Network ' , 'id' => 'network', 'required' => 'true']) !!} + {!! $errors->first('network', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('remarks', old('remarks'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter remarks here' , 'id' => 'remarks']) !!} + {!! $errors->first('remarks', '

    :message

    ') !!} +
    +
    + +
    +
    +
    + +
    +
    + {!! Form::close() !!} +
    + {{-- end of x_content --}} +
    + {{-- end of x_panel --}} +
    +
    + +
    + +@endsection + +@section('javascript') + +@endsection diff --git a/resources/views/senderid/index.blade.php b/resources/views/senderid/index.blade.php new file mode 100644 index 0000000..69fe307 --- /dev/null +++ b/resources/views/senderid/index.blade.php @@ -0,0 +1,143 @@ +@extends('layouts.master') + @section('page_title') + @if(isset($page_title)) + {{ $page_title }} + @endif + @endsection +@section('css') + +@endsection +@section('content') +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    + @include('commons.notifications') +
    +
    +
    +

    Sender IDs

    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    + +@endsection + +@section('javascript') + + +@endsection diff --git a/resources/views/staff_members/create.blade.php b/resources/views/staff_members/create.blade.php new file mode 100644 index 0000000..dcda006 --- /dev/null +++ b/resources/views/staff_members/create.blade.php @@ -0,0 +1,122 @@ +@extends('layouts.master') +@section('page_title') + @if(isset($page_title)) + {{ $page_title }} + @endif +@endsection +@section('content') +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + New Team Member + @include('commons.notifications') +
    +
    + {{-- start of content --}} +
    +
    + {!! Form::open(['url' => 'staffmembers', 'class' => 'form-horizontal form-label-left']) !!} +
    + +
    + +
    + {!! Form::text('name', old('name'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Full Name' , 'id' => 'staffName', 'required' => 'true']) !!} + {!! $errors->first('name', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('gender', $gender_arr, old('gender'), ['class' => 'form-control', 'placeholder'=>'Select Gender' , 'id' => 'gender', 'required' => 'true']) !!} + {!! $errors->first('gender', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('phone', old('phone'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Mobile Number' , 'id' => 'phone', 'required' => 'true']) !!} + {!! $errors->first('phone', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('email', old('email'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Email Address' , 'id' => 'email', 'required' => 'true']) !!} + {!! $errors->first('email', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('personal_email', old('personal_email'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Personal Email' , 'id' => 'personalEmail', 'required' => 'true']) !!} + {!! $errors->first('personal_email', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('department_id', $departments, old('department_id'), ['class' => 'form-control', 'placeholder'=>'Select Department' , 'id' => 'departmentID', 'required' => 'true']) !!} + {!! $errors->first('department_id', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('status', $status ,old('status'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select Status ' , 'id' => 'status', 'required' => 'true']) !!} + {!! $errors->first('status', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('location_country', $countries, old('location_country'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select Country ' , 'id' => 'locationCountry', 'required' => 'true']) !!} + {!! $errors->first('location_country', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('hire_date', old('hire_date'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Hire Date' , 'id' => 'hireDate']) !!} + {!! $errors->first('hire_date', '

    :message

    ') !!} +
    +
    + +
    +
    +
    + +
    +
    + {!! Form::close() !!} +
    + {{-- end of x_content --}} +
    + {{-- end of x_panel --}} +
    +
    + +
    + +@endsection + +@section('javascript') + +@endsection diff --git a/resources/views/staff_members/edit.blade.php b/resources/views/staff_members/edit.blade.php new file mode 100644 index 0000000..4337815 --- /dev/null +++ b/resources/views/staff_members/edit.blade.php @@ -0,0 +1,127 @@ +@extends('layouts.master') +@section('page_title') + @if(isset($page_title)) + {{ $page_title }} + @endif +@endsection +@section('content') +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + Update Team Details + @include('commons.notifications') +
    +
    + {{-- start of content --}} +
    +
    + {!! Form::model($staff_member, [ + 'method' => 'PATCH', + 'url' => ['staffmembers', $staff_member->id], + 'class' => 'form-horizontal form-label-left' + ]) !!} +
    + + +
    + +
    + {!! Form::text('name', old('name'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Full Name' , 'id' => 'staffName', 'required' => 'true']) !!} + {!! $errors->first('name', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('gender', $gender_arr, old('gender'), ['class' => 'form-control', 'placeholder'=>'Select Gender' , 'id' => 'gender', 'required' => 'true']) !!} + {!! $errors->first('gender', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('phone', old('phone'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Mobile Number' , 'id' => 'phone', 'required' => 'true']) !!} + {!! $errors->first('phone', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('email', old('email'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Email Address' , 'id' => 'email', 'required' => 'true']) !!} + {!! $errors->first('email', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('personal_email', old('personal_email'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Personal Email' , 'id' => 'personalEmail', 'required' => 'true']) !!} + {!! $errors->first('personal_email', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('department_id', $departments, old('department_id'), ['class' => 'form-control', 'placeholder'=>'Select Department' , 'id' => 'departmentID', 'required' => 'true']) !!} + {!! $errors->first('department_id', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('status', $status ,old('status'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select Status ' , 'id' => 'status', 'required' => 'true']) !!} + {!! $errors->first('status', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::select('location_country', $countries, old('location_country'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Select Country ' , 'id' => 'locationCountry', 'required' => 'true']) !!} + {!! $errors->first('location_country', '

    :message

    ') !!} +
    +
    +
    + +
    + {!! Form::text('hire_date', old('hire_date'), ['class' => 'form-control col-md-7 col-xs-12', 'placeholder'=>'Enter Hire Date' , 'id' => 'hireDate']) !!} + {!! $errors->first('hire_date', '

    :message

    ') !!} +
    +
    + +
    +
    +
    + +
    +
    + {!! Form::close() !!} +
    + {{-- end of x_content --}} +
    + {{-- end of x_panel --}} +
    +
    + +
    + +@endsection + +@section('javascript') + +@endsection diff --git a/resources/views/staff_members/index.blade.php b/resources/views/staff_members/index.blade.php new file mode 100644 index 0000000..08c1e4b --- /dev/null +++ b/resources/views/staff_members/index.blade.php @@ -0,0 +1,141 @@ +@extends('layouts.master') + @section('page_title') + @if(isset($page_title)) + {{ $page_title }} + @endif + @endsection +@section('css') + +@endsection +@section('content') +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + @include('commons.notifications') +
    +
    +
    +

    Team Members

    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + +@endsection + +@section('javascript') + + +@endsection diff --git a/routes/web.php b/routes/web.php index 8be34c2..7679725 100755 --- a/routes/web.php +++ b/routes/web.php @@ -19,6 +19,7 @@ Auth::routes(); Route::get('/home', 'HomeController@index')->name('home'); */ +//Route::post('ipstore', 'NetworkOperatorsController@ipStore'); Route::get('testemail', 'UtilityController@EmailTest'); @@ -41,10 +42,22 @@ Route::group(['middleware' => ['checklogin']], function(){ Route::get('dashboard', 'DashboardController@index'); Route::get('reportdetails/{id}', 'MeetingReportsController@showDetails'); - Route::resource('network_ops', 'NetworkOperatorsController'); + Route::get('mnos/all', 'NetworkOperatorsController@getMnosJson'); + Route::post('mnos/ip_store', 'NetworkOperatorsController@ipStore'); + + Route::resource('mnos', 'NetworkOperatorsController'); + Route::resource('services', 'ServicesController'); + + Route::get('senderids/all', 'SenderIdController@getSenderIdsJson'); + Route::resource('senderids', 'SenderIdController'); + + Route::get('staffmembers/all', 'StaffMembersController@getstaffMemberssJson'); + Route::resource('staffmembers', 'StaffMembersController'); + + Route::get('clients/downloadfile/{id}', 'ClientsController@getClientFile'); Route::post('clients/shortcode_store', 'ClientsController@shortcodeStore'); Route::post('clients/notes_store', 'ClientsController@notesStore'); Route::post('clients/finance_store', 'ClientsController@financeStore'); @@ -54,6 +67,7 @@ Route::group(['middleware' => ['checklogin']], function(){ Route::get('clients/create-notes', 'ClientsController@createNotes'); Route::get('clients/shortcodes', 'ClientsController@getShortCodes'); + Route::get('clients/readonly/{id}', 'ClientsController@showReadonly'); Route::get('clients/all', 'ClientsController@getClientJson'); Route::post('clients/raw', 'ClientsController@getClientJsonRawJs'); Route::get('clients/indexrawjs', 'ClientsController@indexRawJs'); @@ -93,9 +107,5 @@ Route::group(['middleware' => ['checklogin']], function(){ Route::resource('clickapps', 'ClickAppsController'); Route::resource('marketreport', 'MarketerReportController'); - - - - });