Inheritance: extends Illuminate\Database\Eloquent\Model
 /**
  * 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();
     }
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 /**
  * 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);
 }
Ejemplo n.º 6
0
 /**
  * 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();
 }
Ejemplo n.º 7
0
 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));
 }
Ejemplo n.º 8
0
 /**
  * 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);
 }
Ejemplo n.º 9
0
 /**
  * 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'));
 }
Ejemplo n.º 10
0
 /**
  * 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');
 }
Ejemplo n.º 11
0
 /**
  * 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');
 }
Ejemplo n.º 12
0
 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;
 }
Ejemplo n.º 15
0
 /**
  * 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]);
 }
Ejemplo n.º 16
0
 /**
  * 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]);
 }
Ejemplo n.º 17
0
 /**
  * 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();
 }
Ejemplo n.º 21
0
 /**
  * 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('/');
 }
Ejemplo n.º 24
0
 public function putAddpermission($id)
 {
     $rol = Role::find($id);
     $per = Permission::find(Request::input('permission_id'));
     $rol->attachPermission($per);
     return $per;
 }
Ejemplo n.º 25
0
 /**
  * Return all Permissions with Roles.
  * @return \Illuminate\Database\Eloquent\Collection|static[]
  */
 protected function getPermissions()
 {
     if (!$this->tablePermissionsExists()) {
         return [];
     }
     return Permission::with('roles')->get();
 }
Ejemplo n.º 26
0
 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();
 }
Ejemplo n.º 29
0
 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]);
 }