1002 lines
34 KiB
PHP
1002 lines
34 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\User;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Brand;
|
|
use App\Models\Permission;
|
|
use App\Models\Role;
|
|
use App\Models\User;
|
|
use Illuminate\Auth\Access\Response;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class RoleController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of the resource.
|
|
*
|
|
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
|
|
*/
|
|
public function index(Request $request)
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_viewAny'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
$search_types = [];
|
|
array_push($search_types,array("value" => "name", "name" => "name"));
|
|
|
|
$PerPagination = $request->input('p') ?? 10;
|
|
$search_term = $request->input('search_term');
|
|
$search_type = $request->input('search_type');
|
|
$search_compare = $request->input('search_compare');
|
|
|
|
if($search_term != ""){
|
|
switch ($search_type){
|
|
case "name":
|
|
switch($search_compare){
|
|
case("="):
|
|
$roles = Role::where(function ($query) use ($search_term){
|
|
$query->where('name','=',$search_term);
|
|
})->paginate($PerPagination);
|
|
break;
|
|
default:
|
|
$roles = Role::where(function ($query) use ($search_term){
|
|
$query->where('name','like','%' . $search_term . '%');
|
|
})->paginate($PerPagination);
|
|
break;
|
|
}
|
|
|
|
break;
|
|
}
|
|
}
|
|
else{
|
|
$roles = Role::paginate($PerPagination);
|
|
}
|
|
|
|
return view('roles.index')
|
|
->with('search_types',$search_types)
|
|
->with('data',$roles)
|
|
->with('data_name','role')
|
|
->with('data_names','roles')
|
|
;
|
|
}
|
|
|
|
/**
|
|
* Display a listing of the resource.
|
|
*
|
|
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
|
|
*/
|
|
public function deleted(Request $request)
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_viewAny_deleted'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
$search_types = [];
|
|
array_push($search_types,array("value" => "name", "name" => "name"));
|
|
|
|
|
|
$PerPagination = $request->input('p');
|
|
$search_term = $request->input('search_term');
|
|
$search_type = $request->input('search_type');
|
|
$search_compare = $request->input('search_compare');
|
|
|
|
if($search_term != ""){
|
|
switch ($search_type){
|
|
case "name":
|
|
switch($search_compare){
|
|
case("="):
|
|
$roles = Role::onlyTrashed()->where(function ($query) use ($search_term){
|
|
$query->where('name','=',$search_term);
|
|
})->paginate($PerPagination);
|
|
break;
|
|
default:
|
|
$roles = Role::onlyTrashed()->where(function ($query) use ($search_term){
|
|
$query->where('name','like','%' . $search_term . '%');
|
|
})->paginate($PerPagination);
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
else{
|
|
$roles = Role::onlyTrashed()->paginate($PerPagination);
|
|
}
|
|
|
|
return view('roles.deleted')
|
|
->with('search_types',$search_types)
|
|
->with('data',$roles)
|
|
->with('data_name','role')
|
|
->with('data_names','roles')
|
|
;
|
|
}
|
|
|
|
|
|
/**
|
|
* Show the form for creating a new resource.
|
|
*
|
|
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
|
|
*/
|
|
public function create()
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_create'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
return view('roles.create')
|
|
;
|
|
}
|
|
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @return \Illuminate\Http\RedirectResponse
|
|
*/
|
|
public function store(Request $request)
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_create'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
$role = new Role();
|
|
$role->name = $request->name;
|
|
$role->save();
|
|
|
|
return redirect()->route('roles.index');
|
|
}
|
|
|
|
/**
|
|
* Display the specified resource.
|
|
*
|
|
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
|
|
*/
|
|
public function show($role)
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_view'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
$object = Role::withTrashed()->where('id','=',$role)->first();
|
|
|
|
return view('roles.show')
|
|
->with('data',$object)
|
|
->with('data_name','role')
|
|
;
|
|
}
|
|
|
|
/**
|
|
* Show the form for editing the specified resource.
|
|
*
|
|
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
|
|
*/
|
|
public function edit($role)
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_edit'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
$object = Role::withTrashed()->where('id','=',$role)->first();
|
|
|
|
$permissions = $object->permissions()->get()->pluck('name')->toArray();
|
|
|
|
return view('roles.edit')
|
|
->with('data',$object)
|
|
->with('permissions',$permissions)
|
|
->with('data_name','role')
|
|
;
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @param \App\Models\Role $role
|
|
* @return \Illuminate\Http\RedirectResponse
|
|
*/
|
|
public function update(Request $request, $role)
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_edit'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
$object = Role::withTrashed()->where('id','=',$role)->first();
|
|
|
|
$object->name = $request->name;
|
|
$object->save();
|
|
|
|
if(Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_edit')))
|
|
{
|
|
$permissionIds = [];
|
|
if (!empty($request['home_page'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','home_page')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['brands_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','brands_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['brands_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','brands_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['brands_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','brands_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['brands_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','brands_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['brands_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','brands_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['brands_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','brands_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['brands_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','brands_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['brands_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','brands_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['models_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','models_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['models_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','models_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['models_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','models_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['models_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','models_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['models_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','models_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['models_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','models_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['models_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','models_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['models_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','models_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_amount_add'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_amount_add')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['products_amount_remove'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','products_amount_remove')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['categories_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','categories_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['categories_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','categories_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['categories_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','categories_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['categories_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','categories_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['categories_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','categories_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['categories_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','categories_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['categories_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','categories_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['categories_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','categories_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['subcategories_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','subcategories_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['subcategories_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','subcategories_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['subcategories_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','subcategories_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['subcategories_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','subcategories_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['subcategories_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','subcategories_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['subcategories_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','subcategories_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['subcategories_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','subcategories_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['subcategories_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','subcategories_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_edit_username'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_edit_username')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_edit_role'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_edit_role')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['users_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','users_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['buildings_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','buildings_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['buildings_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','buildings_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['buildings_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','buildings_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['buildings_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','buildings_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['buildings_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','buildings_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['buildings_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','buildings_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['buildings_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','buildings_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['buildings_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','buildings_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['rooms_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','rooms_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['rooms_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','rooms_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['rooms_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','rooms_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['rooms_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','rooms_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['rooms_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','rooms_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['rooms_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','rooms_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['rooms_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','rooms_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['rooms_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','rooms_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_amount_add'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_amount_add')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabels_amount_remove'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabels_amount_remove')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabelCategories_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabelCategories_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabelCategories_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabelCategories_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabelCategories_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabelCategories_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabelCategories_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabelCategories_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabelCategories_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabelCategories_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabelCategories_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabelCategories_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabelCategories_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabelCategories_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['cabelCategories_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','cabelCategories_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['roles_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','roles_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['roles_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','roles_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['roles_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','roles_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['roles_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','roles_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['roles_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','roles_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['roles_edit_permissions'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','roles_edit_permissions')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['roles_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','roles_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['roles_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','roles_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['roles_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','roles_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['loans_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','loans_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['loans_create_user'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','loans_create_user')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['loans_create_laptop'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','loans_create_laptop')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['loans_adjust'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','loans_adjust')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['loans_return'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','loans_return')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['reservations_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','reservations_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['reservations_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','reservations_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['reservations_validate'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','reservations_validate')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['reservations_cancel'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','reservations_cancel')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['reservations_setup'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','reservations_setup')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['reservations_pickup'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','reservations_pickup')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['reservations_return'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','reservations_return')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['reservations_adjust'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','reservations_adjust')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['notes_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','notes_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['notes_viewAny_deleted'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','notes_viewAny_deleted')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['notes_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','notes_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['notes_create'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','notes_create')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['notes_edit'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','notes_edit')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['notes_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','notes_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['notes_delete_force'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','notes_delete_force')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['notes_restore'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','notes_restore')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['pdf_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','pdf_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['pdf_view'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','pdf_view')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['pdf_delete'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','pdf_delete')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['logs_viewAny'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','logs_viewAny')->id
|
|
);
|
|
}
|
|
|
|
if (!empty($request['statistics'])){
|
|
array_push($permissionIds,
|
|
Permission::firstWhere('name','=','statistics')->id
|
|
);
|
|
}
|
|
|
|
$object->permissions()->sync($permissionIds);
|
|
}
|
|
|
|
return redirect()->route('roles.index');
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
*
|
|
* @return \Illuminate\Http\RedirectResponse
|
|
*/
|
|
public function destroy($role)
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_delete'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
$object = Role::withTrashed()->where('id','=',$role)->first();
|
|
$object->delete();
|
|
|
|
return redirect()->route('roles.index');
|
|
}
|
|
|
|
/**
|
|
* Permanently Remove the specified resource from storage.
|
|
*
|
|
* @return \Illuminate\Http\RedirectResponse
|
|
*/
|
|
public function delete_force($role)
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_delete_force'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
$object = Role::withTrashed()->where('id','=',$role)->first();
|
|
$object->forceDelete();
|
|
|
|
return redirect()->route('roles.index');
|
|
}
|
|
|
|
/**
|
|
* Restore the specified resource from storage.
|
|
*
|
|
* @return \Illuminate\Http\RedirectResponse
|
|
*/
|
|
public function restore($role)
|
|
{
|
|
Auth::user()->role->permissions->contains(Permission::firstWhere('name', '=', 'roles_restore'))
|
|
? Response::allow()
|
|
: Response::deny('you are not the chosen one');
|
|
|
|
$object = Role::withTrashed()->where('id','=',$role)->first();
|
|
$object->restore();
|
|
|
|
return redirect()->route('roles.index');
|
|
}
|
|
}
|