From 46f39888b5f355056d8cc4c15ff94a9f31778225 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Thu, 12 Oct 2023 14:29:54 +0200 Subject: [PATCH] Fix: Properly determine if job profiles requirements are met by teamer --- .../Teamer/Profile/SkillsController.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/Controller/Teamer/Profile/SkillsController.php b/src/Controller/Teamer/Profile/SkillsController.php index fe5366d..6267fc6 100644 --- a/src/Controller/Teamer/Profile/SkillsController.php +++ b/src/Controller/Teamer/Profile/SkillsController.php @@ -36,20 +36,27 @@ class SkillsController extends AbstractController foreach ($jobProfiles as $profile) { /** @var JobProfile $profile */ - $jobProfileIsSelectable = false; + $requiredTrainingsSatisfied = false; + if (0 === $profile->getRequiredTrainings()->count()) { + $requiredTrainingsSatisfied = true; + } foreach ($profile->getRequiredTrainings() as $training) { if (null !== $teamer->getTrainingAttendance($training)) { - $jobProfileIsSelectable = true; + $requiredTrainingsSatisfied = true; break; } } + $requiredLicensesSatisfied = false; + if (0 === count($profile->getRequiredLicenses())) { + $requiredLicensesSatisfied = true; + } foreach ($profile->getRequiredLicenses() as $license) { if (null !== $teamer->getLicenseOfType($license)) { - $jobProfileIsSelectable = true; + $requiredLicensesSatisfied = true; break; } } - $selectableJobProfiles[$profile->getId()] = $jobProfileIsSelectable; + $selectableJobProfiles[$profile->getId()] = $requiredTrainingsSatisfied && $requiredLicensesSatisfied; } $form = $this->createForm(TeamerJobProfileType::class, $teamer, ['job_profiles' => $jobProfiles, 'selectable_job_profiles' => $selectableJobProfiles]);