|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/erp.theinteractive.co.in/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use Auth;
use Illuminate\Http\Request;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class PermissionController extends Controller
{
public function index()
{
$permissions = Permission::all();
return view('permission.index')->with('permissions', $permissions);
}
public function create()
{
$roles = Role::get();
return view('permission.create')->with('roles', $roles);
}
public function store(Request $request)
{
$this->validate(
$request, [
'name' => 'required|max:40',
]
);
$name = $request['name'];
$permission = new Permission();
$permission->name = $name;
$roles = $request['roles'];
$permission->save();
if(!empty($request['roles']))
{
foreach($roles as $role)
{
$r = Role::where('id', '=', $role)->firstOrFail();
$permission = Permission::where('name', '=', $name)->first();
$r->givePermissionTo($permission);
}
}
return redirect()->route('permissions.index')->with(
'success', 'Permission ' . $permission->name . ' added!'
);
}
public function edit(Permission $permission)
{
$roles = Role::where('created_by', '=', \Auth::user()->creatorId())->get();
return view('permission.edit', compact('roles', 'permission'));
}
public function update(Request $request, Permission $permission)
{
$permission = Permission::findOrFail($permission['id']);
$this->validate(
$request, [
'name' => 'required|max:40',
]
);
$input = $request->all();
$permission->fill($input)->save();
return redirect()->route('permissions.index')->with(
'success', 'Permission ' . $permission->name . ' updated!'
);
}
public function destroy($id)
{
$permission = Permission::findOrFail($id);
$permission->delete();
return redirect()->route('permissions.index')->with( 'success', 'Permission successfully deleted.' );
}
}