<?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]