id();
$user = Staff::with('StaffDetail')->find($id);
$department = Department::all();
$roles = Roles::all();
$site = SiteSetting::first();
return view('officer.team.staff_index', compact('user','department','roles','site'));
}
public function staffAdd(){
$id = Auth::guard('ofr')->id();
$user = Staff::with('StaffDetail')->find($id);
$department = Department::whereHas('StaffDetail', function($q) use ($id) {
$q->where('_id', $id);
})->get();
$roles = Roles::all();
$site = SiteSetting::first();
return view('officer.team.staff_add', compact('user','department','roles','site'));
}
public function staffEdit($cid){
$id = Auth::guard('ofr')->id();
$user = Staff::with(['StaffDetail' => function($q){
$q->with('Department');
}])->find($id);
$department = Department::all();
$staff = StaffDetail::with('Department')->where('_id',$cid)->first();
$site = SiteSetting::first();
return view('officer.team.staff_edit', compact('user','department','staff','site'));
}
public function requestAddStaff(Request $request)
{
$id = Auth::guard('ofr')->id();
$user = Staff::with('StaffDetail')->find($id);
$validator = Validator::make($request->all(), [
'password' => 'min:8|confirmed',
'profil' => 'mimes:jpeg,jpg|max:2048',
]);
if ($validator->fails()) {
return redirect()->back()->withInput()->withErrors($validator);
}
$staff = Staff::where('no_badan', $request->badan)->where('roles_access','PenguatKuasa')->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' => 'PenguatKuasa',
'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 = $user->StaffDetail->jbkod;
$detail->roles_access = 'PenguatKuasa';
$detail->profile_img = $profile_img;
$detail->password = $encryptP;
$sl->staffdetail()->save($detail);
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);
}
$staff = Staff::with('StaffDetail')->where('_id', $request->_id)->first();
if(!empty($staff)) {
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->no_badan = $request->get('badan');
$staff->save();
$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->save();
foreach($request->jabatan as $j){
$department = Department::where('_id', $j)->first();
$department_array[] = $department->_id;
}
$staff->StaffDetail->department()->sync($department_array);
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');
}
}
}