/** * {@inheritdoc} */ public static function boot() { parent::boot(); static::deleted(function ($tag) { $tag->discussions()->detach(); Permission::where('permission', 'like', "tag{$tag->id}.%")->delete(); }); }
/** * {@inheritdoc} */ public function render(Request $request) { $view = BaseClientController::render($request); $settings = $this->settings->all(); $this->events->fire(new PrepareUnserializedSettings($settings)); $view->setVariable('settings', $settings); $view->setVariable('permissions', Permission::map()); $view->setVariable('extensions', $this->extensions->getInfo()); return $view; }
/** * {@inheritdoc} */ protected function getView(ServerRequestInterface $request) { $view = parent::getView($request); $settings = $this->settings->all(); $this->events->fire(new PrepareUnserializedSettings($settings)); $view->setVariable('settings', $settings); $view->setVariable('permissions', Permission::map()); $view->setVariable('extensions', $this->extensions->getExtensions()->toArray()); return $view; }
/** * {@inheritdoc} */ public function handle(ServerRequestInterface $request) { $this->assertAdminAndSudo($request); $body = $request->getParsedBody(); $permission = array_get($body, 'permission'); $groupIds = array_get($body, 'groupIds'); Permission::where('permission', $permission)->delete(); Permission::insert(array_map(function ($groupId) use($permission) { return ['permission' => $permission, 'group_id' => $groupId]; }, $groupIds)); return new EmptyResponse(204); }
public function down() { Permission::where($this->getPermissionAttributes())->delete(); }
/** * Define the relationship with the permissions of all of the groups that * the user is in. * * @return \Illuminate\Database\Eloquent\Builder */ public function permissions() { $groupIds = [Group::GUEST_ID]; // If a user's account hasn't been activated, they are essentially no // more than a guest. If they are activated, we can give them the // standard 'member' group, as well as any other groups they've been // assigned to. if ($this->is_activated) { $groupIds = array_merge($groupIds, [Group::MEMBER_ID], $this->groups->lists('id')->all()); } event(new PrepareUserGroups($this, $groupIds)); return Permission::whereIn('group_id', $groupIds); }
protected function seedPermissions() { $permissions = [[Group::GUEST_ID, 'viewDiscussions'], [Group::MEMBER_ID, 'startDiscussion'], [Group::MEMBER_ID, 'discussion.reply'], [static::MOD_GROUP_ID, 'discussion.delete'], [static::MOD_GROUP_ID, 'discussion.deletePosts'], [static::MOD_GROUP_ID, 'discussion.editPosts'], [static::MOD_GROUP_ID, 'discussion.rename']]; foreach ($permissions as &$permission) { $permission = ['group_id' => $permission[0], 'permission' => $permission[1]]; } Permission::insert($permissions); }
protected function seedPermissions() { $permissions = [[2, 'viewDiscussions'], [3, 'startDiscussion'], [3, 'discussion.reply'], [4, 'discussion.delete'], [4, 'discussion.deletePosts'], [4, 'discussion.editPosts'], [4, 'discussion.rename']]; foreach ($permissions as &$permission) { $permission = ['group_id' => $permission[0], 'permission' => $permission[1]]; } Permission::insert($permissions); }