api = $api; } protected function getResponse(Template $template, ModuleModel $model, Request $request): ?Response { $strFormId = 'joblist-form-' . $model->id; $arrSearchParams = []; $arrSetFilters = []; // Prepare search parameters if (Input::get('FORM_SUBMIT') == $strFormId) { if (Input::get('filter_keywords')) { $arrSearchParams['keywords'] = Input::get('filter_keywords'); $arrSetFilters['filter_keywords'] = Input::get('filter_keywords'); } if (Input::get('filter_vertragsart')) { $arrSearchParams['vaUuids'] = Input::get('filter_vertragsart'); $arrSetFilters['filter_vertragsart'] = Input::get('filter_vertragsart'); } if (Input::get('filter_abteilung')) { $arrSearchParams['abtUuids'] = Input::get('filter_abteilung'); $arrSetFilters['filter_abteilung'] = Input::get('filter_abteilung'); } } // Get (filtered) jobs $jobs = $this->api->getStellenFiltered($arrSearchParams); // Get filter options $filterVertragsarten = $this->api->getKatalogByRelationName('StelleVertragsart','ChildEntity'); $filterAbteilung = $this->api->getKatalogByRelationName('StelleAbteilung','Abteilung'); // Populate template vars if ($jobs !== null && $jobs->TotalItems > 0) { $template->jobs = $jobs; } if ($filterVertragsarten !== null && $filterVertragsarten->TotalItems > 0) { $template->filterVertragsarten = $filterVertragsarten; } if ($filterAbteilung !== null && $filterAbteilung->TotalItems > 0) { $template->filterAbteilung = $filterAbteilung; } $template->formSubmit = $strFormId; $template->formSetFilters = $arrSetFilters; return $template->getResponse(); } }