id(); $user = Staff::with('StaffDetail')->find($id); $department = Department::all(); $roles = Roles::all(); $site = SiteSetting::first(); $my_jabatan = Department::where('_id', $user->StaffDetail->jbkod)->first(); if(!empty($my_jabatan)){ $my_jabatan = '['.$my_jabatan->jbkod.'] '.$my_jabatan->jnama; }else{ $my_jabatan = 'null'; } return view('main-dashboard.team.staff_index', compact('user','department','roles','my_jabatan','site')); } public function staffAdd(){ $id = Auth::guard('sadmin')->id(); $user = Staff::with('StaffDetail')->find($id); $department = Department::all(); $roles = Roles::where('kod','!=','03')->get(); $site = SiteSetting::first(); return view('main-dashboard.team.staff_add', compact('user','department','roles','site')); } public function staffEdit($cid){ $id = Auth::guard('sadmin')->id(); $user = Staff::with('StaffDetail')->find($id); $department = Department::all(); $staff = StaffDetail::where('_id',$cid)->first(); $access = array(); if($staff->roles_access == "Pegawai"){ foreach($staff->roles_ids as $r){ $role = Roles::where('_id',$r)->first(); array_push($access, array( 'kod' => $role->kod )); } // $access = json_encode($access); } if(empty($access)){ $access = 'null'; } $roles = Roles::where('kod','!=','03')->get(); $site = SiteSetting::first(); return view('main-dashboard.team.staff_edit', compact('user','department','staff','access','roles','site')); } public function requestAddStaff(Request $request) { $validator = Validator::make($request->all(), [ 'password' => 'min:8|confirmed', 'profil' => 'mimes:jpeg,jpg|max:2048', ]); if ($validator->fails()) { return redirect()->back()->withInput()->withErrors($validator); } if($request->get('jawatan') == "Pegawai"){ if(empty($request->get('modul'))){ return redirect()->back()->withInput()->with('error_msg','Tidak Berjaya! Sila pilih modul fail kulit/kompaun untuk pegawai akses'); } } $staff = Staff::where('no_badan', $request->badan)->where('roles_access',$request->jawatan)->first(); if(empty($staff)) { $encryptP = Hash::make($request->get('password')); $profile_img = '/uploads/profile.jpg'; $saveData = false; if($request->hasfile('profil')){ $destinationPath = 'uploads/profile'; $uploaded = public_path().'/'.$destinationPath; $allowedfileExtension = ['jpeg','jpg']; $a = $request->file('profil'); $extension = $a->getClientOriginalExtension(); $check=in_array($extension,$allowedfileExtension); if($check) { $filename = $request->get('badan'); $a->move($destinationPath,$filename.'.'.$extension); $profile_img = '/'.$destinationPath.'/'.$filename.'.'.$extension; $saveData = true; } }else{ $saveData = true; } if($saveData == true){ $sl = Staff::create([ 'no_badan' => $request->get('badan'), 'password' => $encryptP, 'api_token' => '', 'roles_access' => $request->get('jawatan'), 'device' => '', 'remember_token' => '', 'last_login_at' => '', 'last_login_ip'=> '', 'authorized' => false, 'token_firebase' => '', ]); $detail = new StaffDetail(); $detail->full_name = $request->get('nama'); $detail->identity = $request->get('pengenalan'); $detail->mobile = $request->get('telefon'); $detail->gred = $request->get('gred'); $detail->no_badan = $request->get('badan'); // $detail->jbkod = $request->get('jabatan'); $detail->roles_access = $request->get('jawatan'); $detail->profile_img = $profile_img; $detail->password = $encryptP; $sl->staffdetail()->save($detail); if($request->get('jawatan') == 'Pegawai'){ foreach($request->modul as $m){ $roles = Roles::where('kod',$m)->first(); $detail->roles()->attach($roles); } } foreach($request->jabatan as $j){ $department = Department::where('_id', $j)->first(); $detail->department()->attach($department); } return redirect()->back()->with('success_msg', 'Berjaya! daftar pegawai No.Badan '.$request->get('badan').', Nama '.$request->get('nama').''); } }else { return redirect()->back()->withInput()->with('error_msg','Berjaya! No.Badan '.$request->get('badan').' ini telah wujud'); } } public function requestEditStaff(Request $request) { $validator = Validator::make($request->all(), [ 'profil' => 'mimes:jpeg,jpg|max:2048', ]); if ($validator->fails()) { return redirect()->back()->withInput()->withErrors($validator); } if($request->get('jawatan') == "Pegawai"){ if(empty($request->get('modul'))){ return redirect()->back()->withInput()->with('error_msg','Tidak Berjaya! Sila pilih modul fail kulit/kompaun untuk pegawai akses'); } } $staff = Staff::with('StaffDetail')->where('_id', $request->_id)->first(); if(!empty($staff)) { $current_password = $staff->password; if($request->has('password')){ $validator = Validator::make($request->all(), [ 'password' => 'min:8|confirmed', ]); if ($validator->fails()) { return redirect()->back()->withInput()->withErrors($validator); } $current_password = Hash::make($request->get('password')); $staff->password = $current_password; $staff->save(); $staff->StaffDetail->password = $current_password; $staff->StaffDetail->save(); } if($request->hasfile('profil')){ $destinationPath = 'uploads/profile'; $uploaded = public_path().'/'.$destinationPath; $allowedfileExtension = ['jpeg','jpg']; $a = $request->file('profil'); $extension = $a->getClientOriginalExtension(); $check=in_array($extension,$allowedfileExtension); if($check) { $filename = $request->get('badan'); $a->move($destinationPath,$filename.'.'.$extension); $profile_img = '/'.$destinationPath.'/'.$filename.'.'.$extension; $staff->StaffDetail->profile_img = $profile_img; $staff->StaffDetail->save(); } } $staff->roles_access = $request->get('jawatan'); $staff->no_badan = $request->get('badan'); $staff->save(); $jabatan = "-"; if($request->get('jawatan') == 'sysadmin'){ $jabatan = "-"; }else{ foreach($request->jabatan as $j){ $department = Department::where('_id', $j)->first(); $department_array[] = $department->_id; } $staff->StaffDetail->department()->sync($department_array); } $staff->StaffDetail->full_name = $request->get('nama'); $staff->StaffDetail->identity = $request->get('pengenalan'); $staff->StaffDetail->mobile = $request->get('telefon'); $staff->StaffDetail->gred = $request->get('gred'); $staff->StaffDetail->no_badan = $request->get('badan'); $staff->StaffDetail->roles_access = $request->get('jawatan'); $staff->StaffDetail->save(); $roles_array = array(); if($staff->StaffDetail->roles_access == 'Pegawai' && $request->get('jawatan') == 'Pegawai'){ foreach($request->modul as $m){ $roles = Roles::where('kod',$m)->first(); $roles_array[] = $roles->_id; } $staff->StaffDetail->roles()->sync($roles_array); }else{ $staff->StaffDetail->roles()->detach(); $staff->StaffDetail->roles_ids = []; $staff->StaffDetail->save(); } return redirect()->back()->with('success_msg', 'Berjaya! kemaskini pegawai No.Badan '.$request->get('badan').', Nama '.$request->get('nama').''); }else { return redirect()->back()->withInput()->with('error_msg','Berjaya! Rekod No.Badan '.$request->get('badan').' tidak ditemui'); } } }