Advertisement
muza_sm183

KaryawanController.php

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