Anons79 Mini Shell

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

<?php

namespace App\Http\Controllers;

use Helper\Helper;
use App\Models\Log;
use App\Models\Role;
use App\Models\User;
use App\Models\Antrian;
use App\Models\KategoriNPA;
use App\Models\Pelanggan;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Yajra\DataTables\Facades\DataTables;

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

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function datatable()
    {

        if(Auth::user()->name == "Admin"){
            $datas = Antrian::join('upt_daerahs', "upt_daerahs.id", "=", "antrians.id_wilayah")->select("antrians.id", "antrians.nama_perusahaan", 'antrians.no_telp', "antrians.email", "upt_daerahs.nama_daerah");
        } else {
            $datas = Antrian::join('upt_daerahs', "upt_daerahs.id", "=", "antrians.id_wilayah")->where('antrians.id_wilayah', Auth::user()->daerah_id)->select("antrians.id", "antrians.nama_perusahaan", 'antrians.no_telp', "antrians.email", "upt_daerahs.nama_daerah");
        }
        $datatables = DataTables::of($datas)
            ->addIndexColumn()
            ->addColumn('action', function ($data) {
                $route = 'antrian';
                return view('layouts.includes.table-action-nota',compact('data','route'));
            });

        return $datatables->make(true);
    }


    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * 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)
    {
        //
        $data = Antrian::findOrFail($id);
        $daerah = $data->daerah()->first();
        $kategori = KategoriNPA::where('aktif', 1)->get();
        return view("antrian.edit", compact("data", "daerah", "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)
    {
        //
        // dd($request->all());
        $datas = Antrian::findOrFail($id);
        $role = Role::findOrFail("2");
        try{
            $txt = date("Ymdhis");
            // $number = rand(0,1000);
            // $id = $txt.$number;
            $query2 = User::create([
                'name' => $datas->nama_perusahaan,
                'email' => $datas->email,
                'password' => $datas->password,
                'no_telepon' => $datas->no_telp,
                'nik' => "-",
                'alamat'=>$datas->alamat,
                'daerah_id'=>$datas->id_wilayah,
            ]);
            foreach($request->kategori as $key => $kategori){
                $query = Pelanggan::create([
                    'no_pelanggan' => $txt.$key,
                    'name' => $datas->nama_perusahaan,
                    'no_telepon'=>$datas->no_telp,
                    'alamat'=>$datas->alamat,
                    'nik'=>"-",
                    'kategori_industri_id'=>$kategori,
                    'lokasi'=>$request->lokasi[$key],
                    'user_id'=>$query2->id,
                    'daerah_id'=>$datas->id_wilayah,
                ]);
            }
            $query2->assignRole($role->name);
            Helper::sendWa($datas->no_telp, "akun anda telah di verifikasi dan sekarang sudah bisa digunakan untuk login ke Aplikasi PAP, Silahkan login ke link ini https://pap.kaltimprov.go.id/");
            $datas->delete();
            Log::create([
                'pengguna' => Auth::user()->name,
                'kegiatan' => "Menyetujui User Baru"
            ]);
            if(Auth::user()->roles->first()->name =='Admin'){
                return redirect(route('user.index'))->with(['success'=>'Berhasil Verifikasi Data User : '.$query->name]);
            } else {
                return redirect(route('pelanggan.index'))->with(['success'=>'Berhasil Verifikasi Data User : '.$query->name]);
            }
        } catch (\Exception $e){
            return redirect()->back()->with(['error'=>'Gagal Menambah Data Pelanggan : '.$e->getMessage()])->withErrors($request->all());
        }
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
        $antrian = Antrian::findOrFail($id);
        try {
            $antrian->delete();
            Log::create([
                'pengguna' => Auth::user()->name,
                'kegiatan' => "Menghapus Data Pendaftar"
            ]);
            return redirect()->back()->with("success", "berhasil menghapus data antrian");
        } catch (\Throwable $th) {
            //throw $th;
            return redirect()->back()->with("error", "gagal menghapus data antrian");
        }
    }
}

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