Anons79 Mini Shell

Directory : /home/aplikasiposinfo/.trash/app.2/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/.trash/app.2/Http/Controllers/PenetapanController.php

<?php

namespace App\Http\Controllers;

use App\Models\Penetapan;
use Illuminate\Http\Request;
use Yajra\DataTables\DataTables;
use App\Models\UptDaerah;

class PenetapanController extends Controller
{
    protected $routeName = 'penetapan';
    protected $title = 'Penetapan';
    protected $viewName = 'Penetapan';
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
        try {
            //code...
            $title = $this->title;
        $route = $this->routeName;
        return view($this->viewName.'.index', compact('title', 'route'));
        } catch (\Throwable $th) {
            //throw $th;
            dd($th->getMessage());
        }
    }

    public function datatable(){
        $data = Penetapan::all();
        $datatable = DataTables::of($data)
        ->editColumn('nama_daerah', function($data){
            return $data->daerah->nama_daerah;
        })->editColumn('urutan', function($data){
            return $data->urutan;
        })->editColumn("kode_wilayah", function($data){
            return $data->kode_wilayah;
        })->editColumn("tahun", function($data){
            return $data->tahun;
        })->editColumn('action', function($data){
            $route = $this->routeName;
            return view('layouts.includes.table-action',compact('data','route'));
        });
        return $datatable->make('true');
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        $data = UptDaerah::pluck('nama_daerah', 'id');
        $title = $this->title;
        $route = $this->routeName;
        return view($this->viewName.".create", compact("data", 'title', 'route'));

    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
        $request->validate([
            'awalan_surat' => 'required',
            'daerah_id' => 'required',
        ]);
        
        $lunas = UptDaerah::findOrFail($request->daerah_id)->penetapan;
        
        if(!$lunas){
            $surat = Penetapan::create($request->all());
            return redirect(route('penetapan.index'))->with(['success'=>'Berhasil Menambah Data Surat : '.$surat->id]);
            //throw $th;
        } else {
            return redirect()->back()->with(['error'=>'Awalan surat untuk wilayah ini sudah ada']);
        //
        }
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
        $title = $this->title;
        $route = $this->routeName;
        $data = UptDaerah::pluck('nama_daerah', 'id')->toArray();
        $surat = Penetapan::where("id", '=', $id)->first();
        return view($this->viewName.'.edit', compact('data', 'title', 'route', 'surat'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
        $request->validate([
            'awalan_surat' => 'required',
            'daerah_id' => 'required',
        ]);
        $lunas2 = Penetapan::findOrFail($id);
        $lunas = UptDaerah::findOrFail($request->daerah_id)->penetapan;
        if(isset($lunas)){
            if($lunas->daerah_id == $lunas2->daerah_id){
                $lunas2->update($request->all());
                 return redirect(route($this->routeName.'.index'))->with(['success'=>'Berhasil Edit Data Surat : '.$lunas2->id]);
           }
        }
            if(!$lunas){
            $lunas2->update($request->all());
            return redirect(route($this->routeName.'.index'))->with(['success'=>'Berhasil Edit Data Surat : '.$lunas2->id]);
            } else {
                    //throw $th;
            return redirect()->back()->with(['error'=>"Awalan Surat untuk wilayah ini sudah ada"]);
            }
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
        try {
            $penetapan = Penetapan::find($id);

            $penetapan->delete();

            return redirect(route($this->routeName.'.index'))->with(['success'=>'Berhasil Hapus Data Surat : '.$penetapan->id]);            
        } catch (\Throwable $th) {
            //throw $th;
            dd($th->getMessage());
        }
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]