metaYurisprudensiController.php 7.36 KB
<?php

namespace App\Http\Controllers\Backend;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Yajra\DataTables\Facades\DataTables;
use App\Models\MetaYurisprudensi;
use App\Models\Yuriprudensi;
use App\Models\Dih;
use Illuminate\Support\Facades\Storage;

class MetaYurisprudensiController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    public function data(Request $request, $id = NULL)
    {
        // dd($id);
        if ($request->ajax()) {
            // $metayurisprudensi = metayurisprudensi::where('metayurisprudensi_id',$id)->latest();
            $metayurisprudensi = MetaYurisprudensi::all();
            return Datatables::of($metayurisprudensi)
            ->addIndexColumn()

            ->addColumn('lampiran', function($metayurisprudensi){
                return '<a href="'. $metayurisprudensi->file_url . '">Download</a>';
            })

            ->addColumn(
                 'action',
                           '<center>
                               <a class="edit ubah" data-toggle="tooltip" data-placement="top" title="Edit" metayurisprudensi-id="{{ $id }}" href="#edit-{{ $id }}">
                                   <i class="fa fa-pencil text-warning"></i>
                               </a>&nbsp; &nbsp;
                               <a class="delete hidden-xs hidden-sm hapus" data-toggle="tooltip" data-placement="top" title="Delete" metayurisprudensi-id="{{ $id }}" href="#hapus-{{ $id }}" >
                                   <i class="fa fa-trash text-danger"></i>
                               </a>
                           </center>'
                        )
              ->rawColumns(['action', 'lampiran'])->make(true);
        } else {
            exit("Not an AJAX request -_-");
        }
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        $yuriprudensi_id = Yuriprudensi::pluck('judul', 'id');
        $dih_id = Dih::pluck('nama','id');

        return view ('backend.metayurisprudensi.tambah', compact('yuriprudensi_id', 'dih_id'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'judul'             => 'required',

        ]);

        // if (MetaYurisprudensi::create($request->all())) {
        //     $respon = array('status'=>true, 'pesan' => ['msg' => 'Data berhasil disimpan']);
        // } else {
        //     $respon = array('status'=>false, 'pesan' => ['msg' => 'Data gagal disimpan']);
        // }

        // return response()->json($respon);


        if ($validator->fails()) {
            $respon = array('status'=>false, 'pesan' => $validator->messages());
                } else {
            $path       = NULL;
            $namafile   = NULL;

            if($request->hasFile('lampiran')){
                $file = Storage::putFile('metayurisprudensi/'.date('Y').'/'.date('m').'/'.date('d'),$request->file('lampiran'));

          $request->request->add([
               'file'  =>  [
                                'disk'      => config('filesystems.default'),
                                'target'    => $file,
                            ],
         ]);
        }
            if (MetaYurisprudensi::create($request->all())) {
                $respon = array('status'=>true, 'pesan' => ['msg' => 'Data berhasil disimpan']);
                        } else {
                $respon = array('status'=>false, 'pesan' => ['msg' => 'Data gagal disimpan']);
          }
    }
    return response()->json($respon);
}

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        return view ('backend.metayurisprudensi.index', compact('id'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $dih_id = Dih::pluck('nama','id');
        $yurisprudensi_id =  Yuriprudensi::pluck('judul','id');
        $metayurisprudensi = MetaYurisprudensi::find($id);

        return view ('backend.metayurisprudensi.ubah', compact('dih_id','yurisprudensi_id','metayurisprudensi'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $validator = Validator::make($request->all(), [
            'judul'		=> 'required',

        ]);

        // if ($validator->fails()) {
        //     $respon = array('status'=>false, 'pesan' => $validator->messages());
        // } else {
        //     if (MetaYurisprudensi::find($id)->update($request->all())) {
        //         $respon = array('status'=>true, 'pesan' => ['msg' => 'Data berhasil diubah']);
        //     } else {
        //         $respon = array('status'=>false, 'pesan' => ['msg' => 'Data gagal diubah']);
        //     }
        // }
        // return response()->json($respon);

        if ($validator->fails()) {
            $respon = array('status'=>false, 'pesan' => $validator->messages());
        } else {
            $metayurisprudensi = MetaYurisprudensi::find($id);
            if($request->hasFile('lampiran')){
                $metayurisprudensi->hapus_lampiran();
                $file = Storage::putFile('metayurisprudensi/'.date('Y').'/'.date('m').'/'.date('d'),$request->file('lampiran'));
                $request->request->add([
                            'file'  =>  [
                                            'disk'      => config('filesystems.default'),
                                            'target'    => $file,
                                        ],
                ]);
            }
            if (MetaYurisprudensi::find($id)->update($request->all())) {
                $respon = array('status'=>true, 'pesan' => ['msg' => 'Data berhasil diubah']);
            } else {
                $respon = array('status'=>false, 'pesan' => ['msg' => 'Data gagal diubah']);
            }
        }
        return response()->json($respon);
    }

    public function hapus($id)

    {
        $metayurisprudensi = MetaYurisprudensi::find($id);

        return view('backend.metayurisprudensi.hapus', compact($metayurisprudensi));
    }


    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        $metayurisprudensi = MetaYurisprudensi::find($id);
        if ($metayurisprudensi->delete()) {
            $respon = array('status'=>true, 'pesan' => ['msg' => 'Data berhasil dihapus']);
        } else {
            $respon = array('status'=>false, 'pesan' => ['msg' => 'Data gagal dihapus']);
        }
        return response()->json($respon);
    }

    public function download($id, $gbr)
    {
        $metayurisprudensi = MetaYurisprudensi::find($id);
        // dd($peraturan);
         return $metayurisprudensi->file_download;
    }

}