Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/reswara.samarinda.app/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/reswara.samarinda.app/app/Http/Controllers/RankController.php

<?php

namespace App\Http\Controllers;

use App\Models\Rank;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;

class RankController extends Controller
{
    /**
     * Display a listing of the resource.
     */

    public $breadcrumbs;
    public $menu = "rank";

    public function index()
    {
        //
        if(!Auth()->user()->can('view '.$this->menu)){            
            return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }
        $breadcrumbs = $this->breadcrumbs;
        
        $title = "Rank";
        $url = "rank";
        $menu = $this->menu;
        
        // $datas = ApiTools::all();
        $datas = Rank::get();
        // dd($datas);
        return view('pages.rank.index', compact('title', 'url', 'menu', 'datas', 'breadcrumbs'));
    }

    public function RankList() {
        // $datas = ApiTools::all();
        $datas = Rank::get();
        // dd($datas);
        return view('pages.rank.rank_list', compact('datas'));
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        if(!Auth()->user()->can('create '.$this->menu)){            
            return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }
        $breadcrumbs = $this->breadcrumbs;
        
        $title = "Rank";
        $url = "rank";
        $menu = $this->menu;

        return view('pages.rank.create', compact('title', 'url', 'menu', 'breadcrumbs'));

    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
            // $table->text('headers')->nullable();
            // $table->text('body')->nullable();
            // $table->text('response')->nullable();

            if(!Auth()->user()->can('create '.$this->menu)){            
                return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
            }
    
            $validatedData = $request->validate([
                'nama' => 'required',
                'deskripsi' => 'required',
                'maximal_target' => 'required',
                'foto' => 'required',
                
            ], [
                'nama.required' => 'Nama Rank wajib diisi!',
                'deskripsi.required' => 'Deksripsi Fungsi wajib diisi!',
                'maximal_target.required' => 'Maximal Target Wajib diisi!',
                'foto.required' => 'Foto Rank wajib diisi!',
            ]);
    
    // dd($request->file('foto'));
            DB::beginTransaction();

            try {
                $data = Rank::create([
                    'nama' => $request->nama,
                    'deskripsi' => $request->deskripsi,
                    'maximal_target' => $request->maximal_target,
                    'foto' => 'storage/'.$request->foto->store('rank', 'public'),
                ]);
                DB::commit();
                return redirect()->route('rank.index')->with('success','Berhasil menambah Data Rank.');
            } catch (\Throwable $th) {
                //throw $th;
                DB::rollback();
                Log::error($th);
                return back()->with('error','Gagal menambah Rank : ' . $th->getMessage())->withInput();
            }
    }

    /**
     * Display the specified resource.
     */
    public function show(string $id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(string $id)
    {
        if(!Auth()->user()->can('edit '.$this->menu)){            
            return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }
        $breadcrumbs = $this->breadcrumbs;

        $title = "Rank";
        $url = "rank";
        $menu = $this->menu;

        $data = Rank::find($id);
        return view('pages.rank.edit', compact('title', 'url', 'menu', 'data', 'breadcrumbs'));
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, string $id)
    {
        if(!Auth()->user()->can('create '.$this->menu)){            
            return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }

        $validatedData = $request->validate([
            'nama' => 'required',
            'deskripsi' => 'required',
            'maximal_target' => 'required',
            
        ], [
            'nama.required' => 'Nama Rank wajib diisi!',
            'deskripsi.required' => 'Deksripsi Fungsi wajib diisi!',
            'maximal_target.required' => 'Maximal Target Wajib diisi!',
        ]);

// dd($request->file('foto'));
        DB::beginTransaction();
        try {
            $data = Rank::find($id);
            $data->nama = $request->nama;
            $data->deskripsi = $request->deskripsi;
            $data->maximal_target = $request->maximal_target;
            if(isset($request->foto)) {
                $data->foto = 'storage/'.$request->foto->store('rank', 'public');
            }
            $data->save(); 

            DB::commit();
            return redirect()->route('rank.index')->with('success','Berhasil merubah Data Rank.');
        } catch (\Throwable $th) {
            //throw $th;
            DB::rollback();
            Log::error($th);
            return back()->with('error','Gagal merubah Rank : ' . $th->getMessage())->withInput();
        }
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        if(!Auth()->user()->can('delete '.$this->menu)){
            return back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }

        $title = "Rank";


        DB::beginTransaction();
        try {
            $api = Rank::find($id);
            $api->delete();
            DB::commit();
            return redirect()->route('rank.index')->with('success','Berhasil menghapus '.$title);
        } catch (\Throwable $th) {
            //throw $th;
            DB::rollback();
            Log::error($th);
            return redirect()->route('rank.index')->with('error','Gagal menghapus '.$title.' : ' . $th->getMessage());
        }
    }
}

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