security->getUser(); if (!$user instanceof User) { throw new AccessDeniedHttpException('Authentication required.'); } if (in_array('ROLE_ADMIN', $user->getRoles(), true) || in_array('ROLE_SELF', $user->getRoles(), true)) { throw new AccessDeniedHttpException('Only site managers can bulk update site validation.'); } return $this->executor->execute( user: $user, workDateValue: $data->workDate, employeeIds: $data->employeeIds, shouldSkip: static fn (WorkHour $workHour): bool => $workHour->isValid() || $workHour->isSiteValid() === $data->isSiteValid, applyUpdate: static function (WorkHour $workHour) use ($data): void { $workHour->setIsSiteValid($data->isSiteValid); } ); } }