middleware('auth'); } /** * Show the application dashboard. * * @return \Illuminate\Contracts\Support\Renderable */ public function index() { // $alluser = User::all(); $alluser = User::with('roles', 'cawangan')->whereHas('roles', function ($q) { $q->where('id', '!=', 8); }) ->orderBy('name', 'ASC') ->get(); // dd($alluser); $allroles = Role::all(); $allRolesPluck = $allroles->pluck('name'); $caw = Cawangan::all(); // $user = User::with('roles')->first(); // // dd($user); // $userroles = $user->getRoleNames()->toArray(); // $user = Auth::user(); // $user->assignRole('admin'); return view('pengurusanpengguna.index', compact('alluser', 'allroles', 'caw', 'allRolesPluck')); } public function show(Request $request, $userid) { // dd($userid); $user = User::where('id', '=', $userid)->with('roles', 'cawangan')->first(); $userroles = $user->getRoleNames()->toArray(); $caw = Cawangan::all(); $allroles = Role::all()->pluck('name'); // $active = User::where('id','=',$userid)->update('status', 1); return view('pengurusanpengguna.show', compact('user', 'allroles', 'userroles', 'caw')); } public function storepengguna(Request $request) { $currentdate = Carbon::now(); $currentdate = $currentdate->toDateTimeString(); // dd($request->all()); $validator = Validator::make($request->all(), [ 'email' => 'required|string|unique:users|email', 'username' => 'required|string|unique:users', ]); // if ($validator->fails()) { // $errors = [ // 'success' => "error", // 'message' => $validator->errors() // ]; // return redirect()->route('pengguna.index') // ->with('message', 'Sila Masukkan Email Yang Sah'); } // check if user already existed $check = User::where('username', $request->username) ->orWhere('email', $request->email) ->first(); if ($check) { return redirect()->route('pengguna.index')->with('failed', 'Maaf, Nama Pengguna / Emel Berikut Telah Wujud !'); } else { $allroles = Role::all()->pluck('name'); $arraytaraf = []; $counttaraf = 0; foreach ($allroles as $index => $taraf) { $req = 'taraf'.$taraf; if ($request->$req) { $counttaraf++; array_push($arraytaraf, $taraf); } } if ($counttaraf < 1) { return redirect()->route('pengguna.index')->with('failed', 'Maaf, Taraf Tidak Dipilih'); } $user = new User; $user->name = $request->name; $user->username = $request->username; $user->kodcaw = $request->caw; $user->notelbimbit = $request->notelbimbit; $user->status = 'active'; $user->t_daftar = $currentdate; $user->email = $request->email; $user->email_verified_at = $currentdate; $user->password = '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'; // password if ($arraytaraf[0] == 'ajk') { $user->user_type = 3; } else { $user->user_type = 1; } $user->save(); $user->syncRoles($arraytaraf); return redirect()->route('pengguna.index') ->with('success', 'Pengguna Berjaya Disimpan'); } } public function store(Request $request) { // dd($request->all()); $currentdate = Carbon::now(); $currentdate = $currentdate->toDateTimeString(); $user = User::where('id', '=', $request->userid)->first(); $allroles = Role::all()->pluck('name'); // dd($user); $arraytaraf = []; foreach ($allroles as $index => $taraf) { $req = 'taraf'.$taraf; // dd($req); if ($request->$req) { array_push($arraytaraf, $taraf); } } // dd($arraytaraf); $user->syncRoles($arraytaraf); if ($request->status == true) { $status = 'active'; } elseif ($request->statusban == true) { $status = 'banned'; } // else if(!($request->has('status'))){ // $status = 'active'; // } else { $status = 'inactive'; } $user = User::where('id', '=', $request->userid)->first(); // dd($request->caw); $user->name = $request->name; $user->email = $request->emel; $user->kodcaw = $request->caw; $user->username = $request->username; $user->notelbimbit = $request->notelbimbit; // $user->nokp = $request->nokp; $user->updated_at = $currentdate; $user->status = $status; $user->save(); return redirect()->route('pengguna.index') ->with('success', 'Kemaskini Berjaya'); } public function delete($userid) { $user = User::where('id', '=', $userid)->first(); $allrolesuser = $user->getRoleNames(); foreach ($allrolesuser as $index => $role) { $user->removeRole($role); } $user->delete(); return redirect()->route('pengguna.index') ->with('success', 'Padam Pengguna Berjaya'); } public function taraf() // taraf = roles in db { $arrayrole = []; $arraypermision = []; $roles = Role::all(); $permission = Permission::all(); return view('pengurusanpengguna.taraf', compact('roles', 'permission')); } public function showtaraf($tarafid) { // dd($tarafname->permissions); $roles = Role::where('id', '=', $tarafid)->first(); $selectedroles = $roles->name; $allpermission = Permission::all()->pluck('name'); $userpermission = $roles->permissions->pluck('name')->toArray(); // dd($roles->permissions->pluck('name')); return view('pengurusanpengguna.showtaraf', compact('selectedroles', 'allpermission', 'userpermission')); } public function storetaraf(Request $request) // taraf = roles in db { $role = Role::where('name', '=', $request->namataraf)->first(); $allpermission = Permission::all()->pluck('name'); $arraypermission = []; foreach ($allpermission as $index => $roles) { $req = 'role'.$roles; // dd($req); if ($request->$req) { array_push($arraypermission, $roles); } } // dd($arraypermission); $role->syncPermissions($arraypermission); // $user = Auth::user(); // $user->assignRole('admin'); return redirect()->route('pengguna.taraf') ->with('success', 'Kemaskini Berjaya'); } public function deletetaraf($tarafid) { $taraf = Role::where('id', '=', $tarafid)->first(); $taraf->delete(); return redirect()->route('pengguna.taraf') ->with('success', 'Padam Taraf Berjaya'); } public function roles() // roles = permissions in db { $allpermission = Permission::all(); // $user = Auth::user(); // $user->assignRole('admin'); return view('pengurusanpengguna.roles', compact('allpermission')); } public function newrole(Request $request) { // dd($request->all()); Permission::create([ 'name' => $request->name, 'description' => $request->keterangan, ]); return redirect()->route('pengguna.roles') ->with('success', 'Role berjaya disimpan'); } public function showrole($roleid) // roles = permissions in db { $permission = Permission::where('id', '=', $roleid)->first(); // $user = Auth::user(); // $user->assignRole('admin'); return view('pengurusanpengguna.showrole', compact('permission')); } public function storerole(Request $request) { $role = Permission::where('id', '=', $request->idrole)->first(); return redirect()->route('pengguna.roles') ->with('success', 'Kemaskini Berjaya'); } public function updateroles(Request $request) { $user = User::where('id', '=', $request->id); $user->syncPermissions($request->arrayroles); // $user = Auth::user(); // $user->assignRole('admin'); return redirect()->route('pengguna.roles') ->with('success', 'Tukar Roles Berjaya'); } public function deleterole($roleid) { $role = Permission::where('id', '=', $roleid)->first(); $role->delete(); return redirect()->route('pengguna.roles') ->with('success', 'Padam Roles Berjaya'); } public function export(Request $request) { if ($request->type == 'Role' || $request->type == 'Permission') { $model_name = '\\Spatie\\Permission\\Models\\'.$request->type; } else { $model_name = '\\App\\Models\\'.$request->type; } // dd($request->checkboxdata); if ($request->checkboxdata) { if ($request->type == 'User') { $data = $model_name::whereIn('id', $request->checkboxdata)->with('roles')->get(); } else { $data = $model_name::whereIn('id', $request->checkboxdata)->get(); } } else { if ($request->type == 'User') { // $data = $model_name::with('roles')->get(); $data = User::with('roles', 'cawangan')->whereHas('roles', function ($q) { $q->where('id', '!=', 8); }) ->get(); } else { $data = $model_name::all(); } } // return view('pdf.edit',compact('data')); //page for editing // dd($data); if ($request->type == 'Role') { $pdf = PDF::loadView('pdf.tarafpdf', compact('data')); return $pdf->download('Taraf.pdf'); } elseif ($request->type == 'User') { // return view('pdf.edit',compact('data')); //page for editing $pdf = PDF::loadView('pdf.penggunapdf', compact('data')); return $pdf->download('Pengguna.pdf'); } elseif ($request->type == 'Permission') { return view('pdf.edit', compact('data')); // page for editing // $pdf = PDF::loadView('pdf.rolespdf',compact('data')); // return $pdf->download('Roles.pdf'); } } public function listajk() { $alluser = User::with('roles', 'cawangan')->whereHas('roles', function ($q) { $q->where('name', '=', 'ajk'); }) ->orderBy('name', 'ASC') ->get(); $allroles = Role::all(); $allRolesPluck = $allroles->pluck('name'); $caw = Cawangan::all(); return view('parameter.listajk', compact('alluser', 'allroles', 'caw', 'allRolesPluck')); } }