Spaces:
No application file
No application file
| declare(strict_types=1); | |
| namespace Mautic\LeadBundle\Validator\Constraints; | |
| use Mautic\CoreBundle\Exception\RecordNotUnpublishedException; | |
| use Mautic\LeadBundle\Entity\LeadList; | |
| use Mautic\LeadBundle\Validator\SegmentUsedInCampaignsValidator as InternalValidator; | |
| use Symfony\Component\HttpFoundation\Response; | |
| use Symfony\Component\Validator\Constraint; | |
| use Symfony\Component\Validator\ConstraintValidator; | |
| class SegmentUsedInCampaignsValidator extends ConstraintValidator | |
| { | |
| public function __construct(private InternalValidator $internalValidator) | |
| { | |
| } | |
| public function validate($segment, Constraint $constraint): void | |
| { | |
| try { | |
| /** @var LeadList $segment */ | |
| if ($segment->getIsPublished()) { | |
| return; | |
| } | |
| $this->internalValidator->validate($segment); | |
| } catch (RecordNotUnpublishedException $exception) { | |
| $this->context->buildViolation($exception->getMessage()) | |
| ->atPath('isPublished') | |
| ->setCode((string) Response::HTTP_UNPROCESSABLE_ENTITY) | |
| ->addViolation(); | |
| } | |
| } | |
| } | |