siteTitle = "Data Pengguna"; parent::__construct(); } public function index() { $data = null; // $data = User::where('role_name', "<>", "superadmin")->latest()->paginate(10); return view('admin.mst_pengguna.index',compact('data')) ->with('i', (request()->input('page', 1) - 1) * 10); } public function create() { $this->setSubtitle("Tambah Data"); return view('admin.mst_pengguna.create'); } public function store(Request $request) { $request->validate([ 'name' => 'required', 'nrk' => 'required', 'password' => 'required', 'opt_role' => 'required' ]); $requestAll = $request->all(); $requestAll["password"] = \Hash::make($requestAll["password"]); $requestAll["role_name"] = $requestAll["opt_role"]; $user=User::create($requestAll); $user->roles()->detach(); //$user->removeRole($requestAll["opt_role"]); $user->assignRole($requestAll["opt_role"]); return redirect()->route('users.index') ->with('success','User berhasil dibuat.'); } public function show(User $user) { $user = User::with("roleUser.role")->where("id",$user->id)->first(); $this->setSubtitle("Detail Data"); return view('admin.mst_pengguna.show',compact('user')); } public function edit(User $user) { $this->setSubtitle("Ubah Data"); return view('admin.mst_pengguna.edit',compact('user')); } public function update(Request $request, User $user) { $request->validate([ 'name' => 'required', 'opt_role' => 'required' ]); $requestAll = $request->all(); $requestAll["role_name"] = $requestAll["opt_role"]; $user->update($requestAll); $user->roles()->detach(); // $user->removeRole($requestAll["opt_role"]); $user->assignRole($requestAll["opt_role"]); return redirect()->route('users.index') ->with('success','User berhasil diubah!'); } public function destroy(User $user) { $user->delete(); return redirect()->route('users.index') ->with('success','User berhasil dihapus!'); } public function roleList() { $mstRole = Roless::where("name","<>","superadmin")->select(["name","name"])->get(); return response()->json($mstRole); } public function changePass() { return view('admin.mst_pengguna.change_password'); } public function changePassSubmit(Request $request, $userId) { $request->validate([ 'old_password' => 'required', 'new_password' => 'required', ]); $requestAll = $request->all(); $cekUser = User::find($userId); if (\Hash::check($requestAll["old_password"], $cekUser->password)){ User::where("id",$userId)->update(["password"=>\Hash::make($requestAll["new_password"])]); return redirect()->route('home') ->with('success','Kata sandi pengguna berhasil diubah!'); }else{ return redirect()->route('home') ->with('error','Kata sandi gagal diubah!, Kata sandi lama salah!'); } } public function datatable(Request $request) { $post = $request->all(); $offset = $post["start"]; $limit = $post["length"]; $src = isset($post["src"]) ? $post["src"]:""; $sqlstr = User::where('role_name', "<>", "superadmin"); $dataTotal = $sqlstr->count(); $data = $sqlstr->orderBy("role_name"); if (!empty($src)){ $data->where("name","like","%$src%"); $data->orWhere("role_name","like","%$src%"); } $dataFilter = $data->count(); return response()->json([ "recordsTotal" => $dataTotal, "recordsFiltered" => $dataFilter, "data"=> $data->skip($offset)->take($limit)->get() ]); } public function lockUploadData(Request $req) { $user = User::query()->update([ "is_lock_upload"=>1, "lock_upload_time"=>date("Y-m-d H:i"), "lock_upload_by"=>Auth::user()->id ]); return redirect()->route('users.index') ->with('success','User berhasil dibuat.'); } }