baktinurwahyudin

KaryawanController.php

May 27th, 2017
667
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.78 KB | None | 0 0
  1. <?php
  2. /*
  3. nim : 14090020
  4. nama : Bakti nur wahyudin
  5. */
  6.  
  7. namespace App\Http\Controllers;
  8.  
  9. use Illuminate\Http\Request;
  10. use App\Karyawan;
  11. use DB;
  12. use Session;
  13. use Validator;
  14. use Storage;
  15. use File;
  16. use App\Http\Requests\KaryawanRequest;
  17.  
  18. class KaryawanController extends Controller
  19. {
  20.     public function index()
  21.     {
  22.       $halaman = 'karyawan';
  23.       $karyawan_list = Karyawan::orderBy('id','desc')->where('deleted','0')->paginate(3);
  24.       $jumlah_karyawan = $karyawan_list->count();
  25.       return view('chap8.karyawan', compact('karyawan_list','jumlah_karyawan','halaman'));
  26.     }
  27.  
  28.     public function create()
  29.     {
  30.       return View('chap8.create');
  31.     }
  32.  
  33.     public function store(KaryawanRequest $request)
  34.     {
  35.       $input = $request->all();
  36.       // uploads foto
  37.       if($request->hasFile('foto')){
  38.       $input['foto']= $this->uploadFoto($request);
  39.       }
  40.       Karyawan::create($input);
  41.       Session::flash('pesan','s_simpan');
  42.       return redirect('karyawan');
  43.     }
  44.  
  45.     private function uploadFoto(KaryawanRequest $request)
  46.     {
  47.       $foto = $request->file('foto') ;
  48.       $ext = $foto->getClientOriginalExtension();
  49.  
  50.       if($request->file('foto')->isValid()){
  51.         $namaFoto = md5(date('YmdHis')).".$ext";
  52.         $upload_path = 'assets/uploads';
  53.         $request->file('foto')->move($upload_path, $namaFoto);
  54.         return $namaFoto;
  55.       }
  56.       return false;
  57.     }
  58.  
  59.     public function show(Karyawan $karyawan)
  60.     {
  61.       return view ('chap8.show', compact('halaman','karyawan'));
  62.     }
  63.  
  64.     public function edit($id){
  65.       $karyawan = Karyawan::findOrFail($id);
  66.       return view('chap8.edit', compact('karyawan'));
  67.     }
  68.  
  69.     public function update(Karyawan $karyawan, KaryawanRequest $request){
  70.       $input = $request->all();
  71.       // cek apakah ada foto baru  ?
  72.       if($request->hasFile('foto')){
  73.         // hapus foto lama
  74.         File::delete('assets/uploads/'.$karyawan->foto);
  75.         // upload foto baru
  76.         $input['foto'] = $this->uploadFoto($request);
  77.       }
  78.       // Update karyawan
  79.       $karyawan->update($input);
  80.       Session::flash('pesan','s_edit');
  81.       return redirect('karyawan');
  82.     }
  83.  
  84.     public function destroy(Karyawan $karyawan)
  85.     {
  86.       File::delete('assets/uploads/'.$karyawan->foto);
  87.       $karyawan->delete();
  88.       Session::flash('pesan','s_hapus');
  89.       return redirect('karyawan');
  90.     }
  91.  
  92.     public function cari(Request $request)
  93.     {
  94.        $halaman = 'karyawan';
  95.        $queri = $request->kueri;
  96.        $karyawan_list = DB::table('employees')->where('nama','like',$queri)->orWhere('nip', 'like',$queri)->paginate(3);
  97.        $jumlah_karyawan = $karyawan_list->count();
  98.        return view('chap8.karyawan', compact('karyawan_list','jumlah_karyawan','halaman'));
  99.     }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment