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'); } }