File manager - Edit - /home/autoph/public_html/projects/tickets-autohub/app/Http/Controllers/UserController.php
Back
<?php namespace App\Http\Controllers; use App\Models\Role; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Silber\Bouncer\BouncerFacade as Bouncer; use Silber\Bouncer\Database\Role as Roles; class UserController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ private $user, $auth; public function __construct() { $this->user = new User; $this->auth = new AuthenticationController; } public function index() { // $admin = Bouncer::role()->firstOrCreate([ // 'name' => 'admin', // 'title' => 'Administrator', // ]); // $create_ticket = Bouncer::ability()->firstOrCreate([ // 'name' => 'create-ticket', // 'title' => 'Create Ticket', // ]); // Bouncer::allow($admin)->to($create_ticket); if($this->auth->checkMaintenance() == "true"){ abort(503); } return view('layouts.authentication.admin.user_management.index') ->with(['title_page'=>"User Management"]); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request) { $validate = $request->validate([ 'id' => 'required|exists:users,id', 'role' => 'required', 'company_id' => 'required', 'dealership_id' => 'required' ]); // var_dump($request->dealership_id); // $user = User::findOrFail($request->id); // $role = Role::findOrFail($request->role)->where('status',1); // $user->viber = $request->viber; // $user->anydesk = $request->anydesk; // $user->save(); // $user->roles()->detach(); // Detach existing roles // $user->roles()->attach($role); // Assign the new role to the user // return response()->json(['message' => 'Success']); // DB::enableQueryLog(); $dealership = DB::connection('autohub_connect')->table('vts_dealerships')->select('deal_code','deal_name')->where('deal_id',$request->dealership_id)->first(); $companies = DB::connection('autohub_connect')->table('vts_company')->select('comp_code','comp_name')->where('comp_id',$request->company_id)->where('comp_status',1)->first(); if(!$companies){ return response()->json(['message' => 'No company record found'], 404); } if(!$dealership){ return response()->json(['message' => 'No dealer record found'], 404); } $user = User::findOrFail($request->id); $user->comp_code = $companies->comp_code; $user->deal_code = $dealership->deal_code; $user->viber = $request->viber; $user->anydesk = $request->anydesk; $user->department_id = $request->department_id; // $user-> $user->save(); // Find the role $role = Role::findOrFail($request->role); // Ensure role has the required status if ($role->status == 1) { $user->roles()->detach(); $user->roles()->attach($role->id); } else { return response()->json(['message' => 'Role is not active.'], 400); } return response()->json(['message' => 'Success']); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } public function displayAllUsers(Request $request){ $array_data['search_keyword'] = $request->search['value']; if(empty($request->search_type)){ $array_data['search_type'] = ""; } else { $array_data['search_type'] = json_decode($request->search_type,true)[0]; } $array_data['sort'] = $request->order[0]['dir']; $array_data['order'] = $request->columns[$request->order[0]['column']]['data']; $array_data['offset'] = $request->start; $array_data['limit'] = $request->length; $array_data['offset_limit'] = " LIMIT {$array_data['offset']},{$array_data['limit']}"; $array_data['sort'] = " ORDER BY {$array_data['order']} {$array_data['sort']} "; $array_data['search'] = ""; if(!empty($array_data['search_keyword'])){ switch($array_data['search_type']){ case "ASA ID": $array_data['search'] = " AND `asa_id` = {$array_data['search_keyword']} "; break; case "Name": $searchKeyword = $array_data['search_keyword']; $array_data['search'] = " AND (`f_name` LIKE '%$searchKeyword%' OR `l_name` LIKE '%$searchKeyword%') "; break; } } $array_data['where'] = ""; $data = $request->data; $results = $this->user->getUsers($array_data); $result['data'] = array(); foreach($results as $row){ $result['data'][] = [ "id" => $row->id, "asa_id" => $row->asa_id, "f_name" => $row->f_name, "l_name" => $row->l_name, ]; } $result['draw'] = $request->draw; $result['recordsTotal'] = $this->user->getUsersCount($array_data)[0]->Count; $result['recordsFiltered'] = $this->user->getUsersFilteredCount($array_data)[0]->FilteredCount; return response()->json($result); } public function getUserAbilities($id){ $user = User::with('roles.abilities')->find($id); $roles = $user->roles; $abilities = $user->roles->flatMap(function ($role){ return $role->abilities->where('parent_id',"!=",null); }); return $user; } public function getAbilitiesByRole($id){ $role = Roles::findOrFail($id); $abilities = $role->abilities; return response()->json($abilities); } public function getNotifications(){ $dept_id = Auth::user()->department_id; $cats = $this->user->getCategoriesNotif($dept_id); $res = $this->processResults($cats); return response()->json($res); } public function processResults($cats){ $result = []; foreach($cats as $item){ $result[] = [ $item->title ]; } return $result; } // public function deleteDeptTicketIndex(){ // return view('layouts.authentication.admin.system_administration.clean_dept_ticket') // ->with(['title_page'=>"Clean Department Ticket"]); // } // public function deleteDeptTicket($id){ // $ids = DB::table('ticket')->select('ticket.id')->join('ticket_user','ticket_user.tix_id', '=', 'ticket.id') // ->where('assigned_dept',$id) // ->get(); // foreach($ids as $item){ // DB::table('message_ticket')->where('t_id',$item->id)->delete(); // DB::table('ticket_user')->where('tix_id',$item->id)->delete(); // DB::table('ticket')->where('id',$item->id)->delete(); // } // return response()->json(['message'=>"Deleted"]); // } }
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0 |
proxy
|
phpinfo
|
Settings