roleService = $roleService; $this->urlAppService = $urlAppService; } public function render() { /** @phpstan-ignore-next-line */ return $this->view()->title($this->title()); } public function save(bool $goBack = true): void { $this->authorize(AppPermissionEnum::Create->value); $this->form->validate(); $this->attempt( function () use ($goBack) { $data = StoreURLAppData::fromArray($this->form->pull()); $this->urlAppService->createApp($data); if ($goBack) { $this->goBack(); } else { $this->form->reset(); } } ); } public function goBack(): void { $this->redirectRoute("apps.index", navigate: true); } public function title(): string { return "New Redirected App Integration"; } public function searchRoles(string $q = ''): void { $this->searchChoice('roles', $q); } public function selectAllRoles(): void { $this->selectAllChoice('roles'); } public function clearRoles(): void { $this->clearChoice('roles'); } protected function choiceFields(): array { return [ 'roles' => new ChoiceField( search: fn(string $q): array => $this->roleService->searchRolesForSelect($q)->toArray(), allIds: $this->roleService->getAllRoleIds(...), formPath: 'form.roleIds', ), ]; } }; ?>
--}} {{-- Choose whether to allow all users be able to connect this app or selected ones.--}} {{--
--}} {{--