Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use App\Karyawan;
- use Validator;
- use Storage;
- use App\Http\Requests\KaryawanRequest;
- class KaryawanController extends Controller
- {
- /**
- * Display a listing of the resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function index()
- {
- $karyawan_list = Karyawan::orderBy('id','desc')->where('deleted','0')->paginate(3);
- $jumlah_karyawan = $karyawan_list->count();
- return view('chaps8.karyawan',compact('halaman','karyawan_list','jumlah_karyawan'));
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function create()
- {
- return view('chaps8.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('chaps8.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('chaps8.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('chaps8.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::find($input['id']);
- $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');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement