Fix: Show all groups in conditions

This commit is contained in:
philipp lang 2024-08-25 14:10:22 +02:00
parent 9d37ebefc5
commit 6e09e2ec0d
2 changed files with 8 additions and 3 deletions

View File

@ -6,6 +6,7 @@ use App\Group;
use App\Group\Resources\GroupResource; use App\Group\Resources\GroupResource;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection; use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use Lorisleiva\Actions\ActionRequest;
use Lorisleiva\Actions\Concerns\AsAction; use Lorisleiva\Actions\Concerns\AsAction;
class GroupApiIndexAction class GroupApiIndexAction
@ -20,8 +21,12 @@ class GroupApiIndexAction
return Group::get(); return Group::get();
} }
public function asController(?Group $group = null): AnonymousResourceCollection public function asController(ActionRequest $request, ?Group $group = null): AnonymousResourceCollection
{ {
return GroupResource::collection($group ? $group->children()->withCount('children')->get() : Group::where('parent_id', null)->withCount('children')->get()); return GroupResource::collection(
$request->has('all')
? Group::with('children')->get()
: ($group ? $group->children()->withCount('children')->get() : Group::where('parent_id', null)->withCount('children')->get())
);
} }
} }

View File

@ -176,6 +176,6 @@ if (props.single.links && props.single.links.is_dirty) {
const groupOptions = ref([]); const groupOptions = ref([]);
onMounted(async () => { onMounted(async () => {
groupOptions.value = (await axios.get('/api/group')).data.data; groupOptions.value = (await axios.get('/api/group?all')).data.data;
}); });
</script> </script>