⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.142
Server IP:
217.76.53.76
Server:
Linux vmi1397931.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64
Server Software:
Apache
PHP Version:
8.2.27
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
wwwroot
/
onlinestore.ng
/
app
/
Http
/
Controllers
/
View File Name :
RoleController.php
can('Manage Role')) { $roles = Role::where('store_id', '=', \Auth::user()->current_store)->where('created_by', '=', \Auth::user()->creatorId())->get(); return view('roles.index')->with('roles', $roles); } else { return redirect()->back()->with('error', 'Permission denied.'); } } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $permissions = Permission::get(); if(\Auth::user()->can('Create Role')) { $user = \Auth::user(); if($user->type == 'super admin') { $permissions = Permission::all()->pluck('name', 'id')->toArray(); } else { $permissions = new Collection(); foreach($user->roles as $role) { $permissions = $permissions->merge($role->permissions); } $permissions = $permissions->pluck('name', 'id')->toArray(); } return view('roles.create', ['permissions' => $permissions]); } else { return redirect()->back()->with('error', 'Permission denied.'); } } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { if(\Auth::user()->can('Create Role')) { // $role = Role::where('name', '=', $request->name)->where('created_by',\Auth::user()->creatorId())->first(); // if(isset($role)) // { // return redirect()->back()->with('error', __('The Role has Already Been Taken.')); // } // else // { // $this->validate( // $request, [ // 'name' => 'required|max:100|unique:roles,name,NULL,id,created_by,' . \Auth::user()->creatorId(), // 'permissions' => 'required', // ] // ); $validator = \Validator::make( $request->all(), [ 'name' => [ 'required', Rule::unique('roles')->where(function ($query) { return $query->where('created_by', \Auth::user()->id)->where('store_id',\Auth::user()->current_store); }) ], 'permissions' => 'required', ] ); if($validator->fails()) { $messages = $validator->getMessageBag(); return redirect()->back()->with('error', $messages->first()); } $name = $request['name']; $role = new Role(); $role->name = $name; $role->store_id = \Auth::user()->current_store; $role->created_by = \Auth::user()->creatorId(); $permissions = $request['permissions']; $role->save(); foreach($permissions as $permission) { $p = Permission::where('id', '=', $permission)->firstOrFail(); // $role = Role::where('name', '=', $name)->where('created_by',\Auth::user()->creatorId())->first(); $role->givePermissionTo($p); } return redirect()->route('roles.index')->with('success', 'Role successfully created.'); // } } else { return redirect()->back()->with('error', 'Permission denied.'); } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit(Role $role) { if(\Auth::user()->can('Edit Role')) { $user = \Auth::user(); if($user->type == 'super admin') { $permissions = Permission::all()->pluck('name', 'id')->toArray(); } else { $permissions = new Collection(); foreach($user->roles as $role1) { $permissions = $permissions->merge($role1->permissions); } $permissions = $permissions->pluck('name', 'id')->toArray(); } return view('roles.edit', compact('role', 'permissions')); } else { return redirect()->back()->with('error', 'Permission denied.'); } } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, Role $role) { if(\Auth::user()->can('Edit Role')) { $this->validate( $request, [ 'name' => 'required|max:100|unique:roles,name,' . $role['id'] . ',id,created_by,' . \Auth::user()->creatorId(), 'permissions' => 'required', ] ); $input = $request->except(['permissions']); $permissions = $request['permissions']; $role->fill($input)->save(); $p_all = Permission::all(); foreach($p_all as $p) { $role->revokePermissionTo($p); } foreach($permissions as $permission) { $p = Permission::where('id', '=', $permission)->firstOrFail(); $role->givePermissionTo($p); } return redirect()->route('roles.index')->with('success', 'Role successfully updated.'); } else { return redirect()->back()->with('error', 'Permission denied.'); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Role $role) { if(\Auth::user()->can('Delete Role')) { $role->delete(); return redirect()->route('roles.index')->with( 'success', 'Role successfully deleted.' ); } else { return redirect()->back()->with('error', 'Permission denied.'); } } }