Add: Exclude members
continuous-integration/drone/push Build is passing Details

This commit is contained in:
philipp lang 2023-07-10 11:36:58 +02:00
parent 139c7623ab
commit 7bffa6c5ae
2 changed files with 22 additions and 7 deletions

View File

@ -20,7 +20,8 @@ class FilterScope extends Filter
* @param array<int, int> $activityIds
* @param array<int, int> $subactivityIds
* @param array<int, int> $groupIds
* @param array<int, int> $additional
* @param array<int, int> $include
* @param array<int, int> $exclude
*/
public function __construct(
public bool $ausstand = false,
@ -29,7 +30,8 @@ class FilterScope extends Filter
public array $subactivityIds = [],
public ?string $search = '',
public array $groupIds = [],
public array $additional = [],
public array $include = [],
public array $exclude = [],
) {
}
@ -73,9 +75,13 @@ class FilterScope extends Filter
}
});
}
if (count($this->exclude)) {
$query->whereNotIn('id', $this->exclude);
}
})->orWhere(function ($query) {
if (count($this->additional)) {
$query->whereIn('id', $this->additional);
if (count($this->include)) {
$query->whereIn('id', $this->include);
}
});
});

View File

@ -34,14 +34,23 @@
size="sm"
></f-multipleselect>
<f-multipleselect
id="additional"
name="additional"
id="include"
name="include"
:options="members.meta.members"
v-model="model.filter.additional"
v-model="model.filter.include"
@update:modelValue="reload(1)"
label="Zusätzliche Mitglieder"
size="sm"
></f-multipleselect>
<f-multipleselect
id="exclude"
name="exclude"
:options="members.meta.members"
v-model="model.filter.exclude"
@update:modelValue="reload(1)"
label="Mitglieder ausschließen"
size="sm"
></f-multipleselect>
<f-multipleselect
id="groupIds"
name="groupIds"