55 parent::__construct($attributes);
56 self::creating(
function($model) {
57 if($model->user_id === null && ($user = app(UserAuthentication::class)->getUser()) !== null) {
58 $model->user_id = $user->controlId();
72 return $this->hasMany(FilterInstance::class);
83 return $this->hasMany(FilterInstance::class)->where(
'filter_instances.logic_type',
'=',
'all_true');
93 return $this->hasMany(FilterInstance::class)->where(
'filter_instances.logic_type',
'=',
'all_false');
103 return $this->hasMany(FilterInstance::class)->where(
'filter_instances.logic_type',
'=',
'any_true');
113 return $this->hasMany(FilterInstance::class)->where(
'filter_instances.logic_type',
'=',
'any_false');
128 public function getLowestResourceAttribute()
131 $filters = $this->filters;
132 if ($filters->contains(
'for',
'role')) {
134 }
else if ($filters->contains(
'for',
'group')) {
136 }
else if ($filters->contains(
'for',
'user')) {
148 public function user(): \BristolSU\ControlDB\Contracts\Models\User
150 if($this->user_id === null) {
151 throw new \Exception(sprintf(
'Logic #%u is not owned by a user.', $this->
id));
153 return app(User::class)->getById($this->user_id);
__construct(array $attributes=[])