Untitled
unknown
php
2 years ago
3.2 kB
27
Indexable
<?php
namespace App\Http\Controllers;
use Spatie\Permission\Models\Permission;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate;
use App\Http\Controllers\Controller;
use App\Http\Requests\StorePermissionsRequest;
use App\Http\Requests\UpdatePermissionsRequest;
class PermissionsController extends Controller
{
function __construct()
{
$this->middleware('permission:permission.index', ['only' => ['index']]);
$this->middleware('permission:permission.create', ['only' => ['create','store']]);
$this->middleware('permission:permission.edit', ['only' => ['edit','update']]);
$this->middleware('permission:permission.show', ['only' => ['show']]);
$this->middleware('permission:permission.delete', ['only' => ['destroy']]);
}
/**
* Display a listing of Permission.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$permissions = Permission::paginate();
return view('permissions.index', compact('permissions'));
}
/**
* Show the form for creating new Permission.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('permissions.create');
}
/**
* Store a newly created Permission in storage.
*
* @param \App\Http\Requests\StorePermissionsRequest $request
* @return \Illuminate\Http\Response
*/
public function store(StorePermissionsRequest $request)
{
Permission::create($request->all());
return redirect()->route('permissions.index')->with('success', __('global.successfully_added'));
}
/**
* Show the form for editing Permission.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$permission = Permission::findOrFail($id);
return view('permissions.edit', compact('permission'));
}
/**
* Update Permission in storage.
*
* @param \App\Http\Requests\UpdatePermissionsRequest $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(UpdatePermissionsRequest $request, $id)
{
$permission = Permission::findOrFail($id);
$permission->update($request->all());
return redirect()->route('permissions.index')->with('success', __('global.successfully_updated'));
}
/**
* Remove Permission from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$permission = Permission::findOrFail($id);
$permission->delete();
return redirect()->route('permissions.index')->with('warning', __('global.successfully_destroy'));
}
/**
* Delete all selected Permission at once.
*
* @param Request $request
*/
public function massDestroy(Request $request)
{
if ($request->input('ids')) {
$entries = Permission::whereIn('id', $request->input('ids'))->get();
foreach ($entries as $entry) {
$entry->delete();
}
}
}
}Editor is loading...
Leave a Comment