first commit, after modifying client section
This commit is contained in:
215
app/Http/Controllers/NetworkOperatorsController.php
Executable file
215
app/Http/Controllers/NetworkOperatorsController.php
Executable file
@@ -0,0 +1,215 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models;
|
||||
use Session;
|
||||
use Illuminate\Support\Arr;
|
||||
|
||||
|
||||
class NetworkOperatorsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$network_operators = new Models\NetworkOps;
|
||||
$table_columns = \DB::select(\DB::raw("show full columns from network_operators"));
|
||||
$exclude_arr = [
|
||||
'updated_at', 'id', 'account_manager_id', 'created_at'
|
||||
];
|
||||
$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'];
|
||||
if (in_array($col, $table_arr)) {
|
||||
$key = $this->get_filter_ids($filter, $keyword);
|
||||
if (!empty($key)) {
|
||||
$keyword = $key;
|
||||
}
|
||||
}
|
||||
$network_operators = $network_operators->where($col, 'like', '%'.$keyword.'%');
|
||||
$queries[$col] = request('keyword');
|
||||
}
|
||||
}
|
||||
|
||||
$network_operators = $network_operators->with('account_manager_info', 'country_info')->orderBy('created_at', 'DESC')->paginate(40)->appends($queries);
|
||||
$data = [
|
||||
'page_title' => 'Network Operators',
|
||||
'columns' => Arr::except($columns, $exclude_arr),
|
||||
'network_operators' => $network_operators
|
||||
];
|
||||
|
||||
return view('network_ops.index', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$countries = Models\Country::pluck('en_short_name','alpha_2_code');
|
||||
$account_manager = Models\SystemUser::pluck('name', 'id');
|
||||
$data = [
|
||||
'page_title' => 'Create Network Operator',
|
||||
'countries'=> $countries,
|
||||
'account_manager' => $account_manager
|
||||
];
|
||||
|
||||
return view('network_ops.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',
|
||||
'country' => 'required',
|
||||
'account_manager_id' => 'required',
|
||||
]);
|
||||
|
||||
$operator_arr = [
|
||||
'name' => $request->name,
|
||||
'country' => $request->country,
|
||||
'account_manager_id' => $request->account_manager_id
|
||||
];
|
||||
$saved = Models\NetworkOps::create($operator_arr);
|
||||
Session::flash('success_message', 'Network Operator successfully added');
|
||||
return redirect(url('network_ops'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$operator_arr = Models\NetworkOps::find($id);
|
||||
$data = [
|
||||
'page_title' => 'Network Operator Show',
|
||||
'operator_arr' => $operator_arr
|
||||
];
|
||||
|
||||
return view('network_ops.show', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$network_arr = Models\NetworkOps::findOrFail($id);
|
||||
$countries = Models\Country::pluck('en_short_name','alpha_2_code');
|
||||
$account_manager = Models\SystemUser::pluck('name', 'id');
|
||||
|
||||
$data = [
|
||||
'page_title' => 'Edit Network Operator',
|
||||
'network_arr' => $network_arr,
|
||||
'countries'=> $countries,
|
||||
'account_manager' => $account_manager
|
||||
];
|
||||
|
||||
return view('network_ops.edit', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$request->validate([
|
||||
'name' => 'required',
|
||||
'country' => 'required',
|
||||
'account_manager_id' => 'required',
|
||||
]);
|
||||
|
||||
$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;
|
||||
$result = $operator_update->save();
|
||||
|
||||
Session::flash('success_message', 'Network Operator successfully Updated');
|
||||
return redirect(url('network_ops'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$result = Models\NetworkOps::destroy($id);
|
||||
if (request()->ajax()) {
|
||||
$result_arr = ['code' => 1];
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user