Inheritance: extends Flarum\Database\AbstractModel
示例#1
0
文件: Tag.php 项目: cmaas/tags
 /**
  * {@inheritdoc}
  */
 public static function boot()
 {
     parent::boot();
     static::deleted(function ($tag) {
         $tag->discussions()->detach();
         Permission::where('permission', 'like', "tag{$tag->id}.%")->delete();
     });
 }
示例#2
0
 /**
  * {@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;
 }
示例#3
0
 /**
  * {@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();
 }
示例#6
0
 /**
  * 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);
 }
示例#7
0
 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);
 }
示例#8
0
 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);
 }