where('deleted','0')->paginate(3); $jumlah_karyawan = $karyawan_list->count(); return view('chap8.karyawan',compact('halaman','karyawan_list','jumlah_karyawan')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('chap8.create',compact('halaman')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ private function uploadFoto(KaryawanRequest $request){ $foto = $request->file('foto'); $ext = $foto->getClientOriginalExtension(); if($request->file('foto')->isValid()){ $namaFoto = date('YmdHis').".$ext"; $upload_path = 'fotoupload'; $request->file('foto')->move($upload_path,$namaFoto); return $namaFoto; } return false; } public function store(KaryawanRequest $request) { $input = $request->all(); //upload foto if ($request->hasFile('foto')) { $input['foto'] = $this->uploadFoto($request); } //insert data $input['deleted'] = 0; Karyawan::create($input); return redirect('karyawan'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $karyawan = Karyawan::findOrFail($id); return view('chap8.show',compact('halaman','karyawan')); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $karyawan = Karyawan::findOrFail($id); return view('chap8.edit',compact('karyawan')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function cari(Request $request) { $cari = $request['cari']; $hasil_nama = Karyawan::where('nama', 'like','%'.$cari.'%')->orWhere('nip', 'like','%'.$cari.'%')->paginate(3); $t_nama = $hasil_nama->count(); $jumlah_karyawan = $t_nama; $karyawan_list = $hasil_nama; return view('chap8.karyawan',compact('halaman','karyawan_list','jumlah_karyawan')); } public function HapusFoto(Karyawan $karyawan) { $exist=Storage::disk('foto')->exists($karyawan->foto); if(isset($karyawan->foto)&&$exist){ $deleted = Storage::disk('foto')->delete($karyawan->foto); if($deleted){ return true; } return false; } } public function DeleteFoto($request) { $file = 'fotoupload/'.$request->foto; if (is_file($file)) { unlink($file); } } public function update(Karyawan $karyawan,Request $request) { $input=$request->all(); $validation = Validator::make($input,[ 'nip'=>'required|string|size:5', 'nama'=>'required|string|max:35|min:5', 'tgl_lahir'=>'required|date', 'gender'=>'required|in:L,P', 'foto'=>'sometimes|image|max:500|mimes:jpg,jpeg,bmp,png,JPG,JPEG,PNG', ]); if($validation->passes()) { //cek ada foto apa ga? if($request->hasFile('foto')){ $this->DeleteFoto($karyawan); $ext = $request['foto']->getClientOriginalExtension(); $namaFoto = date('YmdHis').".".$ext; $upload_path = 'fotoupload'; $request->file('foto')->move($upload_path,$namaFoto); $input['foto'] = $namaFoto; } $update = Karyawan::where('id',$karyawan['id'])->first(); $update->update($input); return redirect('karyawan'); } return back()->withInput()->withErrors($validation); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Karyawan $karyawan) { $this->DeleteFoto($karyawan); $user = Karyawan::find($karyawan->id); $user->delete(); return redirect('karyawan'); } }