mKategoriController.php 4.44 KB
<?php

namespace App\Http\Controllers\Backend;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Kategori;
use Illuminate\Support\Facades\Validator;
use Yajra\DataTables\Facades\DataTables;

class mKategoriController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view ('backend.kategori.index');
    }

    public function data(Request $request)
    {
    if ($request->ajax()) {

        $kategori  = Kategori::all();

        return Datatables::of($kategori)
        ->addIndexColumn()
        ->addColumn(
            'action',
                        '<center>
                          <a class="edit ubah" data-toggle="tooltip" data-placement="top" title="Edit" kategori-id="{{ $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" kategori-id="{{ $id }}">
                              <i class="fa fa-trash text-danger"></i>
                          </a>
                        </center>'
        )

        ->rawColumns(['action'])->make(true);

    } else {
        exit("Not an AJAX request -_-");
    }
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view ('backend.kategori.tambah');
    }

    /**
     * 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(), [

            'nama'         => 'required',
            'keterangan'   => 'required',

       ]);

       if (Kategori::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.kategori.index');
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $kategori = Kategori::find($id);

        return view ('backend.kategori.ubah', compact('kategori'));
    }

    /**
     * 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(), [
                'nama'              => 'required|string|max:255',
                'keterangan'        => 'required',
           ]);
            if ($validator->fails()) {
                $respon = array('status'=>false, 'pesan' => $validator->messages());
            } else {
                $query = Kategori::find($id);
                    $update = $query->update($request->all());
                if ($update) {
                    $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)
    {
        $kategori = Kategori::find($id);
//        return view('backend.kategori.hapus', ['data' => $kategori]);
        return view('backend.kategori.hapus', compact('kategori'));

    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */

    public function destroy($id)
    {
        $kategori = Kategori::find($id);
        if ($kategori->delete()) {
            $respon = array('status'=>true, 'pesan' => ['msg' => 'Data berhasil dihapus']);
        } else {
            $respon = array('status'=>false, 'pesan' => ['msg' => 'Data gagal dihapus']);
        }
        return response()->json($respon);
    }

    }