* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\PrestaShop\Adapter\Profile\CommandHandler; use Employee; use PrestaShop\PrestaShop\Core\Domain\Profile\Exception\FailedToDeleteProfileException; use Profile; /** * @internal */ abstract class AbstractProfileHandler { /** * Checks if given profile is not assigned to any employee. * * @param Profile $profile * * @throws FailedToDeleteProfileException */ protected function assertProfileIsNotAssignedToEmployee(Profile $profile) { $profileEmployees = Employee::getEmployeesByProfile($profile->id); if (!empty($profileEmployees)) { throw new FailedToDeleteProfileException(sprintf('Failed to delete profile with id "%d", because it is assigned to employee.', $profile->id), FailedToDeleteProfileException::PROFILE_IS_ASSIGNED_TO_EMPLOYEE); } } }