/** * Run the database seeds. * * @return void */ public function run() { DB::table('permissions')->delete(); /** * Permission Attributes * * name: Unique name for the permission, used for looking up permission information in the * application layer. For example: "create-post", "edit-user", "post-payment", "mailing-list-subscribe". * * display_name: Human readable name for the permission. Not necessarily unique, and is optional. * For example "Create Posts", "Edit Users", "Post Payments", "Subscribe to mailing list". * * description: A more detailed explanation of the Permission. This is also optional. */ $permissions = array(self::pArray(PermissionNames::CreateConference(), "Create Conference"), self::pArray(PermissionNames::ManageGlobalPermissions(), "Manage Global Permissions"), self::pArray(PermissionNames::ApproveUserRegistration(), "Approve User Registration"), self::pArray(PermissionNames::ViewSiteStatistics(), "View Site Statistics"), self::pArray(PermissionNames::ManageAccounts(), "Manage Accounts")); foreach ($permissions as $p) { $entry = new Permission(); $entry->name = $p['name']; if (array_key_exists('display_name', $p)) { $entry->display_name = $p['display_name']; } if (array_key_exists('description', $p)) { $entry->description = $p['description']; } $entry->save(); } }
public function save(Request $request) { $as = $request->input('as'); $permission = new Permission(); $validator = \Validator::make($request->all(), $permission->getRules()); $results = new \StdClass(); if ($validator->passes()) { if ($request->input('id') != "xxx") { $permission = Permission::find($request->input('id')); $permission->name = $request->input('name'); $permission->display_name = $request->input('displayname'); $permission->description = $request->input('description'); $permission->save(); $results->info = 'permission create'; } else { $permission = new Permission(); $permission->name = $request->input('name'); $permission->display_name = $request->input('displayname'); $permission->description = $request->input('description'); $permission->save(); $results->info = 'permission edit'; } $results->status = 1; $results->result = $permission; } else { $results->status = 0; $result = array(); foreach ($validator->errors() as $key => $err) { array_push($result, $err); } $results->result = $result; } return response()->json($results); }
/** * Run the database seeds. * * @return void */ public function run() { $permissions = new Permission(); $permissions->name = 'can-access'; $permissions->display_name = "Dapat Mengakses"; $permissions->description = "Fungsi Permission"; $permissions->access = "true"; $permissions->action = "access"; $permissions->save(); $permissions = new Permission(); $permissions->name = 'can-add'; $permissions->display_name = "Dapat Menambah"; $permissions->description = "Fungsi Permission"; $permissions->access = "true"; $permissions->action = "add"; $permissions->save(); $permissions = new Permission(); $permissions->name = 'can-edit'; $permissions->display_name = "Dapat Mengubah"; $permissions->description = "Fungsi Permission"; $permissions->access = "true"; $permissions->action = "edit"; $permissions->save(); $permissions = new Permission(); $permissions->name = 'can-delete'; $permissions->display_name = "Dapat Menghapus"; $permissions->description = "Fungsi Permission"; $permissions->access = "true"; $permissions->action = "delete"; $permissions->save(); }
/** * Removes the specified permission from the specified user. * * @param int|string $permissionId * @param int|string $userId * * @return int */ public function destroy($permissionId, $userId) { $this->authorize('admin.users.permissions.destroy'); $permission = $this->permission->findOrFail($permissionId); $user = $permission->users()->findOrFail($userId); return $permission->users()->detach($user); }
/** * Removes the specified permission from the specified role. * * @param int|string $permissionId * @param int|string $roleId * * @return int */ public function destroy($permissionId, $roleId) { $this->authorize('admin.roles.permissions.destroy'); $permission = $this->permission->findOrFail($permissionId); $role = $permission->roles()->findOrFail($roleId); return $permission->roles()->detach($role); }
/** * Run the database seeds. * * @return void */ public function run() { $permission = new Permission(); $permission->level = 3; $permission->permission = "posts_manage"; $permission->save(); $permission = new Permission(); $permission->level = 4; $permission->permission = "users_manage"; $permission->save(); $permission = new Permission(); $permission->level = 5; $permission->permission = "permissions_manage"; $permission->save(); $permission = new Permission(); $permission->level = 5; $permission->permission = "user_accesses_manage"; $permission->save(); User::create(['name' => "admin", 'email' => "*****@*****.**", 'password' => bcrypt("admin")]); $user = User::whereEmail("*****@*****.**")->first(); $access = new UserAccess(); $access->level = 5; $access->description = "Is automated created admin user"; $access->user_id = $user->id; $access->save(); }
public function run() { $adminEmail = Config::get('madison.seeder.admin_email'); $admin = new Role(); $admin->name = 'Admin'; $admin->save(); $independent_sponsor = new Role(); $independent_sponsor->name = 'Independent Sponsor'; $independent_sponsor->save(); $permIds = array(); foreach ($this->adminPermissions as $permClass => $data) { $perm = new Permission(); foreach ($data as $key => $val) { $perm->{$key} = $val; } $perm->save(); $permIds[] = $perm->id; } $admin->perms()->sync($permIds); $user = User::where('email', '=', $adminEmail)->first(); $user->attachRole($admin); $createDocPerm = new Permission(); $createDocPerm->name = "independent_sponsor_create_doc"; $createDocPerm->display_name = "Independent Sponsoring"; $createDocPerm->save(); $independent_sponsor->perms()->sync(array($createDocPerm->id)); }
/** * Run the database seeds. * * @return void */ public function run() { // // $u1 = \App\User::create( // ['name'=>'super_admin', 'email'=>'*****@*****.**', 'password'=>Hash::make('123456')] // ); $user = \App\User::where('email', '=', '*****@*****.**')->first(); echo $user . "\n"; // $role = new \App\Models\Role(); // $role->name = 'SuperUser'; // $role->display_name = '超级管理员'; // optional // $role->description = '网站超管'; // optional // $role->save(); $role = \App\Models\Role::where('name', '=', 'SuperUser')->first(); echo $role . "\n"; // // $user->attachRole($role); // $permission = new \App\Models\Permission(); $permission->name = 'create-post'; $permission->display_name = 'Create Posts'; // optional $permission->description = 'create new blog posts'; // optional $permission->save(); $role->attachPermission($permission); }
/** * Displays the admin welcome page. * * @return \Illuminate\View\View */ public function index() { $this->authorize('admin.welcome.index'); $users = $this->user->count(); $roles = $this->role->count(); $permissions = $this->permission->count(); return view('admin.welcome.index', compact('users', 'roles', 'permissions')); }
/** * Update a permission from form request * * @param Permission $permission * @param Request $request * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function update(Permission $permission, Request $request) { $this->authorize('edit_users'); $this->validate($request, ['name' => 'required|string|between:3,50', 'description' => 'string|between:0,100']); $permission->update($request->all()); $group_list = $request->input('group_list') ?: []; $permission->groups()->sync($group_list); flash()->success('Permission Saved', 'The permission has been updated'); return redirect('permission'); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store() { // $data = new Permission(); $data->display_name = Input::get('display_name'); $data->name = Input::get('name'); $data->desc = Input::get('desc'); $data->save(); return redirect()->route('admin.permission.index'); }
public static function addPermission($name, $label = null, $description = null) { $permission = Permission::where('name', $name)->first(); if (!$permission) { $permission = new Permission(['name' => $name]); } $permission->label = $label; $permission->description = $description; $permission->save(); return $permission; }
/** * Adds the requested permissions to the specified role. * * @param RolePermissionRequest $request * @param int|string $roleId * * @return array|false */ public function store(RolePermissionRequest $request, $roleId) { $this->authorize('admin.roles.permissions.store'); $role = $this->role->findOrFail($roleId); $permissions = $request->input('permissions', []); if (count($permissions) > 0) { $permissions = $this->permission->findMany($permissions); return $role->permissions()->saveMany($permissions); } return false; }
/** * Adds the requested permissions to the specified user. * * @param UserPermissionRequest $request * @param int|string $userId * * @return array|false */ public function store(UserPermissionRequest $request, $userId) { $this->authorize('admin.users.permissions.store'); $user = $this->user->findOrFail($userId); $permissions = $request->input('permissions', []); if (count($permissions) > 0) { $permissions = $this->permission->findMany($permissions); return $user->permissions()->saveMany($permissions); } return false; }
/** * Removes the specified permission from the specified user. * * @param int|string $permissionId * @param int|string $userId * * @return \Illuminate\Http\RedirectResponse */ public function destroy($permissionId, $userId) { $this->authorize('admin.users.permissions.destroy'); $permission = $this->permission->findOrFail($permissionId); $user = $permission->users()->findOrFail($userId); if ($permission->users()->detach($user)) { flash()->success('Success!', 'Successfully removed user.'); return redirect()->route('admin.permissions.show', [$permissionId]); } flash()->error('Error!', 'There was an issue removing this user. Please try again.'); return redirect()->route('admin.permissions.show', [$permissionId]); }
/** * Adds the requested permissions to the specified user. * * @param UserPermissionRequest $request * @param int|string $userId * * @return \Illuminate\Http\RedirectResponse */ public function store(UserPermissionRequest $request, $userId) { $this->authorize('admin.users.permissions.store'); $user = $this->user->findOrFail($userId); $permissions = $request->input('permissions', []); if (count($permissions) > 0) { $permissions = $this->permission->findMany($permissions); $user->permissions()->saveMany($permissions); flash()->success('Success!', 'Successfully added permissions.'); return redirect()->route('admin.users.show', [$userId]); } flash()->error('Error!', "You didn't select any permissions."); return redirect()->route('admin.users.show', [$userId]); }
/** * Store a newly created resource in storage. * * @return Response */ public function create(Request $request) { $validator = Validator::make($request->all(), ['name' => 'required|between:4,100|unique:permissions', 'display_name' => 'between:0,100', 'description' => 'between:0,255']); if ($validator->fails()) { return response()->json(["msg" => "alert", "validator" => $validator->messages()], 200); } $permission = new Permission(); $permission->name = $request->name; $permission->display_name = $request->display_name; // optional $permission->description = $request->description; // optional $permission->save(); }
/** * @return \Illuminate\View\View */ public function index() { // Log action by user. Audit::log(Auth::user()->id, trans('admin/menu-builder/menu-builder.audit-log.category'), trans('admin/menu-builder/menu-builder.audit-log.msg-index')); // Set page title and description. $page_title = trans('admin/menu-builder/menu-builder.page.index.title'); $page_description = trans('admin/menu-builder/menu-builder.page.index.description'); // Load all menus ordered by Parent (asc), Position (asc), Label (asc) and finally ID (asc). $menus = Menu::orderBy('parent_id', 'ASC')->orderBy('position', 'ASC')->orderBy('label', 'ASC')->orderBy('id', 'ASC')->get(); // Convert menu query result to JSON for JSTree $menusJson = $this->menusOrmToJsTreeJson($menus); // List label and id of all menus ordered by Label (asc). $parents = Menu::where('separator', '0')->orderBy('label', 'ASC')->orderBy('id', 'ASC')->get()->lists('label', 'id'); // Convert to array. $parents = $parents->toArray(); // List name and id of all routes ordered by Name (asc). $routes = Route::whereNotNull('name')->orderBy('name', 'ASC')->get()->lists('name', 'id'); // Convert to array. $routes = $routes->toArray(); // Add a blank option at the top. $routes = array('blank' => '') + $routes; // List display name and id of all permissions ordered by Name (asc). $permissions = Permission::orderBy('name', 'ASC')->get()->lists('display_name', 'id'); // Convert to array. $permissions = $permissions->toArray(); // Add a blank option at the top. $permissions = array('blank' => '') + $permissions; // Return view return view('admin.menus.index', compact('menus', 'menusJson', 'parents', 'routes', 'permissions', 'page_title', 'page_description')); }
public function all($params) { $params['order'] = isset($params['order']) ? $params['order'] : ['display_name|ASC']; $permissions = Permission::select("permissions.*"); $permissions = parent::execute($permissions, $params); return $permissions; }
/** * Reverse the migrations. * * @return void */ public function down() { Role::whereName('administrator')->delete(); // Delete Welcome Permission Permission::whereName('admin.welcome.index')->delete(); // Delete User Permissions Permission::whereName('admin.users.index')->delete(); Permission::whereName('admin.users.create')->delete(); Permission::whereName('admin.users.edit')->delete(); Permission::whereName('admin.users.show')->delete(); Permission::whereName('admin.users.destroy')->delete(); // Delete Role Permissions Permission::whereName('admin.roles.index')->delete(); Permission::whereName('admin.roles.create')->delete(); Permission::whereName('admin.roles.edit')->delete(); Permission::whereName('admin.roles.show')->delete(); Permission::whereName('admin.roles.destroy')->delete(); // Delete Permission Permissions Permission::whereName('admin.permissions.index')->delete(); Permission::whereName('admin.permissions.create')->delete(); Permission::whereName('admin.permissions.edit')->delete(); Permission::whereName('admin.permissions.show')->delete(); Permission::whereName('admin.permissions.destroy')->delete(); // Delete User Permission Permissions Permission::whereName('admin.users.permissions.store')->delete(); Permission::whereName('admin.users.permissions.destroy')->delete(); // Delete Role Permission Permissions Permission::whereName('admin.roles.permissions.store')->delete(); Permission::whereName('admin.roles.permissions.destroy')->delete(); // Delete Role User Permissions Permission::whereName('admin.roles.users.destroy')->delete(); Permission::whereName('admin.roles.users.destroy')->delete(); }
/** * Run the database seeds. * * @return void */ public function run() { $role = Role::whereName(Role::getAdministratorName())->firstOrFail(); Permission::all()->map(function ($permission) use($role) { $role->grant($permission); }); }
public function revokePermission($id, $permission_id) { $role = Role::find($id); $permission = Permission::find($permission_id); $role->revokePermission($permission); return redirect()->back(); }
public function postLearn(Request $request) { $permission = Permission::find($request->input('permission_id')); $permission->learning_user_id = $request->input('user_id'); $permission->save(); return redirect('/'); }
public function putAddpermission($id) { $rol = Role::find($id); $per = Permission::find(Request::input('permission_id')); $rol->attachPermission($per); return $per; }
/** * Return all Permissions with Roles. * @return \Illuminate\Database\Eloquent\Collection|static[] */ protected function getPermissions() { if (!$this->tablePermissionsExists()) { return []; } return Permission::with('roles')->get(); }
public function show($id) { if (Auth::user()->can('read-role')) { $data['role'] = Role::find($id); $data['title'] = "Role \"" . $data['role']->display_name . "\""; $data['menu_actions'] = [Form::editItem(route('roles.edit', $id), 'Edit This Role', Auth::user()->can('update-role'))]; $permissions = Permission::get(); $permissions_in_role = Permission::whereHas('roles', function ($q) use($id) { $q->where('roles.id', $id); })->get(); $counter = 0; foreach ($permissions as $permission) { $is_in_role = false; foreach ($permissions_in_role as $permission_in_role) { if ($permission->id == $permission_in_role->id) { $is_in_role = true; } } $data['permissions'][$counter] = $permission; $data['permissions'][$counter]['is_in_role'] = $is_in_role; $counter++; } return view('roles/show', $data); } else { return redirect()->back()->withErrors(['Access denied to roles show page']); } }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $permission = \App\Models\Permission::findOrFail($id); $this->authorize('destroy', $permission); $permission->delete(); return redirect(route('permission.index')); }
/** * Handle permissions change * * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function putAll(Request $request) { $permissions = Permission::all(); $input = array_keys($request->input('permissions')); try { DB::beginTransaction(); $permissions->each(function ($permission) use($input) { if (in_array($permission->id, $input)) { $permission->allow = true; } else { $permission->allow = false; } $permission->save(); }); DB::commit(); flash()->success(trans('permissions.save_success')); } catch (\Exception $e) { var_dump($e->getMessage()); die; flash()->error(trans('permissions.save_error')); } try { Cache::tags(['permissions'])->flush(); } catch (\Exception $e) { Cache::flush(); } return redirect()->back(); }
public function run() { DB::statement('SET FOREIGN_KEY_CHECKS = 0'); DB::table('permission_role')->truncate(); DB::table('role_user')->truncate(); DB::table('users')->truncate(); DB::table('roles')->truncate(); DB::table('permissions')->truncate(); DB::table('permission_groups')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS = 1'); $faker = Faker\Factory::create(); //User $admin = User::create(['email' => '*****@*****.**', 'name' => '管理员', 'password' => bcrypt('adminadmin')]); $test_user = User::create(['email' => '*****@*****.**', 'name' => '测试用户', 'password' => bcrypt('testtest')]); //Roles $role_admin = Role::create(['name' => 'admin', 'display_name' => '管理员']); $role_editor = Role::create(['name' => 'editor', 'display_name' => '编辑']); $role_user = Role::create(['name' => 'user', 'display_name' => '普通用户']); //Permission&PermissionGroup PermissionGroup::create(['name' => '后台']); PermissionGroup::create(['name' => 'RBAC', 'parent_id' => 1]); Permission::create(['name' => 'dashboard_view', 'display_name' => '首页', 'group_id' => 1]); $models = [['route_name' => 'users', 'menu_name' => '帐户', 'group_id' => 3, 'group_pid' => 2], ['route_name' => 'roles', 'menu_name' => '角色', 'group_id' => 4, 'group_pid' => 2], ['route_name' => 'permissions', 'menu_name' => '权限', 'group_id' => 5, 'group_pid' => 2], ['route_name' => 'permissiongroups', 'menu_name' => '权限分组', 'group_id' => 6, 'group_pid' => 2], ['route_name' => 'articles', 'menu_name' => '文章', 'group_id' => 7, 'group_pid' => 1], ['route_name' => 'settings', 'menu_name' => '配置', 'group_id' => 8, 'group_pid' => 1]]; foreach ($models as $key => $model) { PermissionGroup::create(['name' => $model['menu_name'], 'parent_id' => $model['group_pid']]); Permission::create(['group_id' => $model['group_id'], 'name' => $model['route_name'] . '_view', 'display_name' => $model['menu_name'] . '菜单']); Permission::create(['group_id' => $model['group_id'], 'name' => $model['route_name'] . '_create', 'display_name' => '新建' . $model['menu_name']]); Permission::create(['group_id' => $model['group_id'], 'name' => $model['route_name'] . '_update', 'display_name' => '修改' . $model['menu_name']]); Permission::create(['group_id' => $model['group_id'], 'name' => $model['route_name'] . '_delete', 'display_name' => '删除' . $model['menu_name']]); } //Roles Users $test_user->roles()->save($role_editor); //Roles Users // $role_admin->givePermissionTo($permission_admin_user); }
/** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $role = \App\Models\Role::findOrFail($id); $this->authorize('update', $role); $list = \App\Models\Permission::lists('title', 'id'); // dd($role->permissions()->lists('id')); return view('roles.edit', ['pList' => $list, 'role' => $role]); }