Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/bendahara2.aplikasipos.info/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/bendahara2.aplikasipos.info/app/Http/Controllers/GroupUserController.php

<?php

namespace App\Http\Controllers;

use App\Models\Menu;
use App\Models\Role;
use App\Models\RoleMenu;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Schema;

class GroupUserController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index(Request $request)
    {
        if(Auth::user()->role_id != 1){
            return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }
        $post = new Role;
        $tableName = $post->getTable();
        $column = Schema::getColumnListing($tableName);
        if($request->get('cari')) {
            $data['role'] = Role::orderBy('created_at','ASC');
            foreach($column as $a => $value) {
                // echo $value;
                if($a == 0) {
                    $data['role'] = $data['role']->where($value,'like',"%".$request->get('cari')."%");
                } else {
                    $data['role'] = $data['role']->orWhere($value,'like',"%".$request->get('cari')."%");
                }
            }
            $data['role'] = $data['role']->paginate();
        } else {
            $data['role'] = Role::orderBy('created_at','ASC')->paginate();
        }
        $data['title'] = "Group User";
        return view('data_dasar.group_user.index', $data);
    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
        if(Auth::user()->role_id != 1){
            return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }
        $data['role'] = Role::all();
        $data['menu'] = Menu::all();
        $data['title'] = "Tambah Group User";
        return view('data_dasar.group_user.tambah', $data);
    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
        //
        $rules = [
            // 'username' => 'required|unique:users|unique:korcams|unique:korlabs|unique:kortps',
            'role' => 'required',
        ];

        $validate = $request->validate($rules, [
            'role.required' => 'Role Wajib Di Isi.',
        ]);

        try {
            if(Auth::user()->role_id != 1){
                return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
            }

            $data_role = Role::create([
                'role' => $request->role,
                'title' => null,
                'parent' => null
            ]);
            if($request->aksi) {
                foreach($request->aksi as $index => $val) {

                    $data = RoleMenu::create([
                        'role_id' => $data_role->id,
                        'menu_id' => $request->aksi[$index],
                    ]);
                }
            }
            return redirect('/group-user')->with('success', "Berhasil menambah Data Group User ");
        } catch (\Throwable $th) {
            return redirect()->back()->with('error', 'Terjadi kesalahan!');
        }
    }

    /**
     * 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()->role_id != 1){
            return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
        }
        $data['RoleMenu'] = RoleMenu::where('role_id', $id)->get();
        $data['role'] = Role::find($id);
        $data['menu'] = Menu::all();
        $data['title'] = "Edit Group User";
        return view('data_dasar.group_user.edit', $data);
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, string $id)
    {

        try {
            if(Auth::user()->role_id != 1){
                return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
            }
            // dd($request->aksi);
            $role_update = Role::where('id', $id)->update([
                'role' => $request->role,
                'limit_nominal' => str_replace(',','',$request->limit)
            ]);
            $data = RoleMenu::where('role_id', $id)->delete();
            if($request->aksi) {
                $data = RoleMenu::where('role_id', $id)->whereNotIn('menu_id', $request->aksi)->delete();
                foreach($request->aksi as $index => $val) {
                    $Role = RoleMenu::where('role_id', $id)->where('menu_id', $request->aksi[$index])->first();
                    $check = ($request->aksi[$index]) ? $request->aksi[$index] : 0 ;
                    if($check == $val && !$Role) {
                        $data = RoleMenu::create([
                            'role_id' => $id,
                            'menu_id' => $request->aksi[$index],
                        ]);
                    }
                    // else if($check != $val && !$Role){
                    //     $data = RoleMenu::where('role_id', $id)->where('menu_id', $request->aksi[$index])->delete();
                    // }
                }
            }
            return redirect('/group-user')->with('success', "Berhasil merubah Data Group User ");
        } catch (\Throwable $th) {
            return redirect()->back()->with('error', 'Terjadi kesalahan!');
        }
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        try {
            if(Auth::user()->role_id != 1){
                return redirect()->back()->with('error', 'Anda Tidak Memiliki Hak Akses Untuk Membuka Halaman Ini');
            }
            $data = RoleMenu::where('role_id', $id)->delete();
            $datas = Role::where('id', $id)->delete();
            return redirect('/group-user')->with('success', "Berhasil menghapus Data Group User ");
        } catch (\Throwable $th) {
            return redirect()->back()->with('error', 'Terjadi kesalahan!');
        }
    }
}

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