rizal245754733

KaryawanController.php

May 28th, 2017
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.96 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Illuminate\Http\Request;
  6. use App\Karyawan;
  7. use Validator;
  8. use storage;
  9. use File;
  10. use App\Http\Requests\KaryawanRequest;
  11.  
  12. class KaryawanController extends Controller
  13. {
  14.     /**
  15.      * Display a listing of the resource.
  16.      *
  17.      * @return \Illuminate\Http\Response
  18.      */
  19.     public function index()
  20.     {
  21.         //$karyawan_list = Karyawan::all()->sortByDesc('id'); //sortir data
  22.         $karyawan_list= Karyawan::orderBy('id','desc')
  23.         ->where('deleted','0')
  24.         ->paginate(3);
  25.         $jumlah_karyawan = $karyawan_list->count();//tampil jumlah data
  26.        
  27.         return view('chap8.karyawan', compact('halaman', 'karyawan_list', 'jumlah_karyawan'));
  28.     }
  29.  
  30.     public function cari(Request $request){
  31.         $cari = $request->get('search');
  32.         $karyawan_list = Karyawan::where('nama','LIKE','%'.$cari.'%')->orwhere('nip','LIKE','%'.$cari.'%')->paginate(1);
  33.         $jumlah_karyawan = $karyawan_list->count();
  34.         return view('chap8.karyawan', compact('halaman', 'karyawan_list', 'jumlah_karyawan'));
  35.     }
  36.  
  37.     /**
  38.      * Show the form for creating a new resource.
  39.      *
  40.      * @return \Illuminate\Http\Response
  41.      */
  42.     public function create()
  43.     {
  44.         return view('chap8.create', compact('halaman'));
  45.     }
  46.  
  47.     private function uploadFoto(KaryawanRequest $request)
  48.     {
  49.         $foto = $request->file('foto');
  50.         $ext = $foto->getClientOriginalExtension();
  51.  
  52.         if($request->file('foto')->isValid()){
  53.             $namaFoto = date('YmdHis')."$ext";
  54.             $upload_path = "fotoupload";
  55.             $request->file('foto')->move($upload_path,$namaFoto);
  56.             return $namaFoto;
  57.         }
  58.         return false;
  59.     }
  60.  
  61.     /**
  62.      * Store a newly created resource in storage.
  63.      *
  64.      * @param  \Illuminate\Http\Request  $request
  65.      * @return \Illuminate\Http\Response
  66.      */
  67.     public function store(KaryawanRequest $request)
  68.     {
  69.         /*$karyawan=new \App\Karyawan;
  70.         $karyawan->nip = $request->nip;
  71.         $karyawan->nama = $request->nama;
  72.         $karyawan->tgl_lahir = $request->tgl_lahir;
  73.         $karyawan->gender = $request->gender;
  74.         $karyawan->save();
  75.         return redirect('karyawan');*/
  76.  
  77.         $input=$request->all();
  78.  
  79.         if($request->hasFile('foto')){
  80.             $input['foto']=$this->uploadFoto($request);
  81.         }
  82.        
  83.         $input['deleted'] = 0;
  84.         Karyawan::create($input);
  85.         return redirect('karyawan');
  86.     }
  87.  
  88.     private function HapusFoto(Karyawan $karyawan){
  89.         $exist=Storage::disk('foto')->exists($karyawan->foto);
  90.  
  91.         if(isset($karyawan->foto)&&$exist){
  92.             $deleted = Storage::disk('foto')->delete($karyawan->foto);
  93.             if($deleted){
  94.                 return true;
  95.             }
  96.             return false;
  97.         }
  98.     }
  99.  
  100.     /**
  101.      * Display the specified resource.
  102.      *
  103.      * @param  int  $id
  104.      * @return \Illuminate\Http\Response
  105.      */
  106.     public function show($id)
  107.     {
  108.         $karyawan=Karyawan::findOrFail($id);
  109.         return view('chap8.show', compact('halaman','karyawan'));
  110.     }
  111.  
  112.     /**
  113.      * Show the form for editing the specified resource.
  114.      *
  115.      * @param  int  $id
  116.      * @return \Illuminate\Http\Response
  117.      */
  118.     public function edit($id)
  119.     {
  120.         $karyawan=Karyawan::findOrFail($id);
  121.         return view('chap8.edit',compact('karyawan'));
  122.     }
  123.  
  124.     /**
  125.      * Update the specified resource in storage.
  126.      *
  127.      * @param  \Illuminate\Http\Request  $request
  128.      * @param  int  $id
  129.      * @return \Illuminate\Http\Response
  130.      */
  131.     public function update(Karyawan $karyawan,KaryawanRequest $request)
  132.     {
  133.     $input=$request->all();
  134.       $validation = Validator::make($input,[
  135.         'nip'=>'required|string|size:5',
  136.         'nama'=>'required|string|max:35|min:5',
  137.         'tgl_lahir'=>'required|date',
  138.         'gender'=>'required|in:L,P',
  139.         'foto'=>'sometimes|image|max:500|mimes:jpg,jpeg,bmp,png,JPG,JPEG,PNG',
  140.       ]);
  141.       if($validation->passes())
  142.       {
  143.         //cek ada foto apa ga?
  144.         if($request->hasFile('foto')){
  145.           $this->DeleteFoto($karyawan);
  146.           $ext = $request['foto']->getClientOriginalExtension();
  147.           $namaFoto = date('YmdHis').".".$ext;
  148.           $upload_path = 'fotoupload';
  149.           $request->file('foto')->move($upload_path,$namaFoto);
  150.           $input['foto'] = $namaFoto;
  151.         }
  152.  
  153.         $update = Karyawan::find($input['id']);
  154.         $update->update($input);
  155.         return redirect('karyawan');
  156.       }
  157.       return back()->withInput()->withErrors($validation);
  158.     }
  159.  
  160.     /**
  161.      * Remove the specified resource from storage.
  162.      *
  163.      * @param  int  $id
  164.      * @return \Illuminate\Http\Response
  165.      */
  166.     public function destroy(Karyawan $karyawan)
  167.     {
  168.       File::delete('fotoupload/'.$karyawan->foto);
  169.       $karyawan->delete();
  170.       return redirect('karyawan');
  171.     }
  172. }
Advertisement
Add Comment
Please, Sign In to add comment