src/Entity/Gos/LeadFormResponse.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Gos;
  3. use App\Entity\ContactSegmentationableInterface;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. /**
  9.  * @ORM\Entity(repositoryClass="App\Repository\Gos\LeadFormResponseRepository")
  10.  */
  11. class LeadFormResponse implements ContactSegmentationableInterface
  12. {
  13.     /**
  14.      * @ORM\Id()
  15.      * @ORM\GeneratedValue()
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @ORM\Column(type="string", length=255)
  21.      */
  22.     private $name;
  23.     /**
  24.      * @ORM\Column(type="text")
  25.      */
  26.     private $newAccountBodyResponse;
  27.     /**
  28.      * @ORM\Column(type="text")
  29.      */
  30.     private $existingAccountBodyResponse;
  31.     /**
  32.      * @ORM\OneToMany(targetEntity="LeadFormResponseItem", mappedBy="leadFormResponse", orphanRemoval=true, cascade={"persist"})
  33.      */
  34.     private $leadFormResponseItems;
  35.     /**
  36.      * @var boolean
  37.      *
  38.      * @ORM\Column(name="isClickmeeting", type="boolean", nullable=true, options={"default": 0})
  39.      */
  40.     private $isClickmeeting;
  41.     /**
  42.      * @ORM\Column(type="integer", nullable=true, options={"default": null})
  43.      */
  44.     private $conferenceId;
  45.     /**
  46.      * @ORM\Column(type="boolean", options={"default": 0})
  47.      */
  48.     private $isLeadForPartner;
  49.     /**
  50.      * @ORM\Column(type="string", length=255, nullable=true)
  51.      */
  52.     private $linkToPartner;
  53.     /**
  54.      * @var boolean
  55.      *
  56.      * @ORM\Column(name="isNotTele", type="boolean", nullable=true, options={"default": 0})
  57.      */
  58.     private $isNotTele;
  59.     /**
  60.      * @ORM\Column(type="boolean", nullable=true)
  61.      */
  62.     private $requiredPhone;
  63.     /**
  64.      * @ORM\Column(type="boolean", options={"default": 0})
  65.      */
  66.     private $isPhoneHidden false;
  67.     /**
  68.      * @ORM\ManyToOne(targetEntity=ProductVariant::class, inversedBy="leadFormResponses")
  69.      */
  70.     private $productVariant;
  71.     /**
  72.      * @ORM\ManyToMany(targetEntity=Term::class, inversedBy="leadFormResponses")
  73.      * @ORM\JoinTable(name="lead_form_response_term")
  74.      */
  75.     private $terms;
  76.     /**
  77.      * @ORM\OneToOne(targetEntity=LeadFormResponseAddress::class, inversedBy="leadFormResponse")
  78.      */
  79.     private $leadFormResponseAddress;
  80.     /**
  81.      * @ORM\OneToOne(targetEntity=LeadFormResponsePosition::class, inversedBy="leadFormResponse")
  82.      */
  83.     private $leadFormResponsePosition;
  84.     /**
  85.      * @ORM\Column(type="boolean", nullable=true)
  86.      */
  87.     private $oneTimePassword;
  88.     /**
  89.      * @ORM\Column(type="text", nullable=true)
  90.      */
  91.     private $oneTimePasswordBodyResponse;
  92.     /**
  93.      * @ORM\ManyToOne(targetEntity=Events::class, inversedBy="leadFormResponses")
  94.      */
  95.     private $event;
  96.     /**
  97.      * @ORM\ManyToOne(targetEntity=EmailTemplate::class, inversedBy="leadFormResponses")
  98.      */
  99.     private $emailTemplate;
  100.     /**
  101.      * @ORM\OneToOne(targetEntity=LeadReminders::class, cascade={"persist", "remove"})
  102.      */
  103.     private $reminder;
  104.     /**
  105.      * @ORM\Column(type="string", length=255, nullable=true)
  106.      */
  107.     private $sender;
  108.     /**
  109.      * @ORM\Column(type="string", length=255, nullable=true)
  110.      * @Assert\Regex(
  111.      *     pattern="/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/",
  112.      *     message="not valid email"
  113.      * )
  114.      */
  115.     private $fromEmail;
  116.     /**
  117.      * @ORM\Column(type="boolean", nullable=true)
  118.      */
  119.     private $hideLastName;
  120.     /**
  121.      * @ORM\Column(type="integer", nullable=true)
  122.      */
  123.     private $emailValidationType;
  124.     /**
  125.      * @ORM\OneToMany(targetEntity=LeadFormWhitelist::class, mappedBy="leadFormResponse")
  126.      */
  127.     private $leadFormWhitelist;
  128.     /**
  129.      * @ORM\Column(type="string", length=255, nullable=true)
  130.      */
  131.     private $reginfoValidation;
  132.     /**
  133.      * @ORM\ManyToMany(targetEntity=ProductVariant::class, inversedBy="leadFormResponseValidations")
  134.      */
  135.     private $productVariantsValidation;
  136.     /**
  137.      * @ORM\Column(type="string", length=255, nullable=true)
  138.      */
  139.     private $emailValidationErrorMessage;
  140.     /**
  141.      * @ORM\Column(type="boolean", nullable=true)
  142.      */
  143.     private $requiredNPWZ;
  144.     /**
  145.      * @ORM\ManyToOne(targetEntity=LeadGroup::class, inversedBy="leadFormResponses")
  146.      */
  147.     private $leadGroup;
  148.     /**
  149.      * @ORM\ManyToMany(targetEntity=ProductVariant::class)
  150.      * @ORM\JoinTable(name="lead_form_response_related_product_variants")
  151.      */
  152.     private $relatedProductVariants;
  153.     /**
  154.      * @ORM\Column(type="text", nullable=true)
  155.      */
  156.     private $additionalStyle;
  157.     /**
  158.      * @ORM\Column(type="string", length=255, nullable=true)
  159.      */
  160.     private $regInfo;
  161.     /**
  162.      * @ORM\Column(type="boolean", options={"default":0})
  163.      */
  164.     private $useEventBok false;
  165.     /**
  166.      * @ORM\Column(type="string", length=255, nullable=true)
  167.      */
  168.     private $actionNumber;
  169.     /**
  170.      * @ORM\Column(type="boolean", nullable=true)
  171.      */
  172.     private $overrideActionNumber;
  173.     /**
  174.      * @ORM\Column(type="text", nullable=true)
  175.      */
  176.     private $legalRule;
  177.     /**
  178.      * @ORM\ManyToMany(targetEntity=SalesManagoTagGroup::class, mappedBy="leadFormResponse")
  179.      */
  180.     private $salesManagoTagGroups;
  181.     /**
  182.      * @ORM\Column(type="text", nullable=true)
  183.      */
  184.     private $additionalEventsDescription;
  185.     /**
  186.      * @ORM\ManyToMany(targetEntity=Events::class)
  187.      * @ORM\JoinTable(name="lead_form_response_additional_events")
  188.      */
  189.     private $additionalEvents;
  190.     /**
  191.      * @ORM\Column(type="string", length=255, nullable=true)
  192.      */
  193.     private $colorBg;
  194.     /**
  195.      * @ORM\Column(type="string", length=255, nullable=true)
  196.      */
  197.     private $colorButton;
  198.     /**
  199.      * @ORM\Column(type="string", length=255, nullable=true)
  200.      */
  201.     private $colorFont;
  202.     /**
  203.      * @ORM\Column(type="boolean", nullable=true)
  204.      */
  205.     private $useCustomColors;
  206.     /**
  207.      * @ORM\ManyToMany(targetEntity=ContactSegmentation::class)
  208.      */
  209.     private $contactSegmentations;
  210.     /**
  211.      * @ORM\Column(type="boolean", options={"default":0})
  212.      */
  213.     private $isEnglish false;
  214.     /**
  215.      * LeadFormResponse constructor.
  216.      */
  217.     public function __construct()
  218.     {
  219.         $this->leadFormResponseItems     = new ArrayCollection();
  220.         $this->leadFormWhitelist         = new ArrayCollection();
  221.         $this->terms                     = new ArrayCollection();
  222.         $this->productVariantsValidation = new ArrayCollection();
  223.         $this->relatedProductVariants    = new ArrayCollection();
  224.         $this->salesManagoTagGroups      = new ArrayCollection();
  225.         $this->additionalEvents = new ArrayCollection();
  226.         $this->contactSegmentations = new ArrayCollection();
  227.     }
  228.     public function __toString()
  229.     {
  230.         return (string)$this->name;
  231.     }
  232.     /**
  233.      * @return int|null
  234.      */
  235.     public function getId(): ?int
  236.     {
  237.         return $this->id;
  238.     }
  239.     /**
  240.      * @return null|string
  241.      */
  242.     public function getName(): ?string
  243.     {
  244.         return $this->name;
  245.     }
  246.     /**
  247.      * @param string $name
  248.      * @return LeadFormResponse
  249.      */
  250.     public function setName(string $name): self
  251.     {
  252.         $this->name $name;
  253.         return $this;
  254.     }
  255.     /**
  256.      * @return null|string
  257.      */
  258.     public function getNewAccountBodyResponse(): ?string
  259.     {
  260.         return $this->newAccountBodyResponse;
  261.     }
  262.     /**
  263.      * @param string $newAccountBodyResponse
  264.      * @return LeadFormResponse
  265.      */
  266.     public function setNewAccountBodyResponse(string $newAccountBodyResponse): self
  267.     {
  268.         $this->newAccountBodyResponse $newAccountBodyResponse;
  269.         return $this;
  270.     }
  271.     /**
  272.      * @return null|string
  273.      */
  274.     public function getExistingAccountBodyResponse(): ?string
  275.     {
  276.         return $this->existingAccountBodyResponse;
  277.     }
  278.     /**
  279.      * @param string $existingAccountBodyResponse
  280.      * @return LeadFormResponse
  281.      */
  282.     public function setExistingAccountBodyResponse(string $existingAccountBodyResponse): self
  283.     {
  284.         $this->existingAccountBodyResponse $existingAccountBodyResponse;
  285.         return $this;
  286.     }
  287.     public function getLeadFormResponseItems(): Collection
  288.     {
  289.         return $this->leadFormResponseItems;
  290.     }
  291.     public function addLeadFormResponseItem(LeadFormResponseItem $leadFormResponseItem): self
  292.     {
  293.         if (!$this->leadFormResponseItems->contains($leadFormResponseItem)) {
  294.             $this->leadFormResponseItems[] = $leadFormResponseItem;
  295.             $leadFormResponseItem->setLeadFormResponse($this);
  296.         }
  297.         return $this;
  298.     }
  299.     public function removeLeadFormResponseItem(LeadFormResponseItem $leadFormResponseItem): self
  300.     {
  301.         if ($this->leadFormResponseItems->contains($leadFormResponseItem)) {
  302.             $this->leadFormResponseItems->removeElement($leadFormResponseItem);
  303.             if ($leadFormResponseItem->getLeadFormResponse() === $this) {
  304.                 $leadFormResponseItem->setLeadFormResponse(null);
  305.             }
  306.         }
  307.         return $this;
  308.     }
  309.     /**
  310.      * Set isClickmeeting
  311.      *
  312.      * @param boolean $isClickmeeting
  313.      *
  314.      * @return LeadFormResponse
  315.      */
  316.     public function setIsClickmeeting($isClickmeeting)
  317.     {
  318.         $this->isClickmeeting $isClickmeeting;
  319.         return $this;
  320.     }
  321.     /**
  322.      * Get isClickmeeting
  323.      *
  324.      * @return boolean
  325.      */
  326.     public function getIsClickmeeting()
  327.     {
  328.         return $this->isClickmeeting;
  329.     }
  330.     /**
  331.      * Set conferenceId
  332.      *
  333.      * @param integer $conferenceId
  334.      *
  335.      * @return LeadFormResponse
  336.      */
  337.     public function setConferenceId($conferenceId)
  338.     {
  339.         $this->conferenceId $conferenceId;
  340.         return $this;
  341.     }
  342.     /**
  343.      * Get conferenceId
  344.      *
  345.      * @return integer
  346.      */
  347.     public function getConferenceId()
  348.     {
  349.         return $this->conferenceId;
  350.     }
  351.     public function getIsLeadForPartner(): ?bool
  352.     {
  353.         return $this->isLeadForPartner;
  354.     }
  355.     public function setIsLeadForPartner(bool $isLeadForPartner): self
  356.     {
  357.         $this->isLeadForPartner $isLeadForPartner;
  358.         return $this;
  359.     }
  360.     public function getLinkToPartner(): ?string
  361.     {
  362.         return $this->linkToPartner;
  363.     }
  364.     public function setLinkToPartner(?string $linkToPartner): self
  365.     {
  366.         $this->linkToPartner $linkToPartner;
  367.         return $this;
  368.     }
  369.     /**
  370.      * Set isNotTele
  371.      *
  372.      * @param boolean $isNotTele
  373.      *
  374.      * @return LeadFormResponse
  375.      */
  376.     public function setIsNotTele($isNotTele)
  377.     {
  378.         $this->isNotTele $isNotTele;
  379.         return $this;
  380.     }
  381.     /**
  382.      * Get isNotTele
  383.      *
  384.      * @return boolean
  385.      */
  386.     public function getIsNotTele()
  387.     {
  388.         return $this->isNotTele;
  389.     }
  390.     public function getRequiredPhone(): ?bool
  391.     {
  392.         return $this->requiredPhone;
  393.     }
  394.     public function setRequiredPhone(?bool $requiredPhone): self
  395.     {
  396.         $this->requiredPhone $requiredPhone;
  397.         return $this;
  398.     }
  399.     public function isPhoneHidden(): ?bool
  400.     {
  401.         return $this->isPhoneHidden;
  402.     }
  403.     public function setIsPhoneHidden(bool $isPhoneHidden): self
  404.     {
  405.         $this->isPhoneHidden $isPhoneHidden;
  406.         return $this;
  407.     }
  408.     public function getProductVariant(): ?ProductVariant
  409.     {
  410.         return $this->productVariant;
  411.     }
  412.     public function setProductVariant(?ProductVariant $productVariant): self
  413.     {
  414.         $this->productVariant $productVariant;
  415.         return $this;
  416.     }
  417.     public function addProductVariantsValidation(ProductVariant $productVariantsValidation): self
  418.     {
  419.         if (!$this->productVariantsValidation->contains($productVariantsValidation)) {
  420.             $this->productVariantsValidation[] = $productVariantsValidation;
  421.             $productVariantsValidation->getLeadFormResponseValidations()->add($this);
  422.         }
  423.         return $this;
  424.     }
  425.     public function removeProductVariantsValidation(ProductVariant $productVariantsValidation): self
  426.     {
  427.         if ($this->productVariantsValidation->contains($productVariantsValidation)) {
  428.             $this->productVariantsValidation->removeElement($productVariantsValidation);
  429.             if ($productVariantsValidation->getLeadFormResponseValidations()->contains($this)) {
  430.                 $productVariantsValidation->getLeadFormResponseValidations()->removeElement($this);
  431.             }
  432.         }
  433.         return $this;
  434.     }
  435.     public function getProductVariantsValidation(): Collection
  436.     {
  437.         return $this->productVariantsValidation;
  438.     }
  439.     public function getReginfoValidation(): ?string
  440.     {
  441.         return $this->reginfoValidation;
  442.     }
  443.     public function setReginfoValidation(?string $reginfoValidation): self
  444.     {
  445.         $this->reginfoValidation $reginfoValidation;
  446.         return $this;
  447.     }
  448.     public function getTerms()
  449.     {
  450.         return $this->terms;
  451.     }
  452.     public function addTerm(Term $term): self
  453.     {
  454.         if (!$this->terms->contains($term)) {
  455.             $this->terms[] = $term;
  456.         }
  457.         return $this;
  458.     }
  459.     public function removeTerm(Term $term): self
  460.     {
  461.         if ($this->terms->contains($term)) {
  462.             $this->terms->removeElement($term);
  463.         }
  464.         return $this;
  465.     }
  466.     public function getLeadFormResponseAddress(): ?LeadFormResponseAddress
  467.     {
  468.         return $this->leadFormResponseAddress;
  469.     }
  470.     public function setLeadFormResponseAddress(?LeadFormResponseAddress $leadFormResponseAddress): self
  471.     {
  472.         $this->leadFormResponseAddress $leadFormResponseAddress;
  473.         return $this;
  474.     }
  475.     public function getLeadFormResponsePosition(): ?LeadFormResponsePosition
  476.     {
  477.         return $this->leadFormResponsePosition;
  478.     }
  479.     public function setLeadFormResponsePosition(?LeadFormResponsePosition $leadFormResponsePosition): self
  480.     {
  481.         $this->leadFormResponsePosition $leadFormResponsePosition;
  482.         return $this;
  483.     }
  484.     public function getOneTimePassword(): ?bool
  485.     {
  486.         return $this->oneTimePassword;
  487.     }
  488.     public function setOneTimePassword(?bool $oneTimePassword): self
  489.     {
  490.         $this->oneTimePassword $oneTimePassword;
  491.         return $this;
  492.     }
  493.     public function getOneTimePasswordBodyResponse(): ?string
  494.     {
  495.         return $this->oneTimePasswordBodyResponse;
  496.     }
  497.     public function setOneTimePasswordBodyResponse(?string $oneTimePasswordBodyResponse): self
  498.     {
  499.         $this->oneTimePasswordBodyResponse $oneTimePasswordBodyResponse;
  500.         return $this;
  501.     }
  502.     public function getEvent(): ?Events
  503.     {
  504.         return $this->event;
  505.     }
  506.     public function setEvent(?Events $event): self
  507.     {
  508.         $this->event $event;
  509.         return $this;
  510.     }
  511.     public function getEmailTemplate(): ?EmailTemplate
  512.     {
  513.         return $this->emailTemplate;
  514.     }
  515.     public function setEmailTemplate(?EmailTemplate $emailTemplate): self
  516.     {
  517.         $this->emailTemplate $emailTemplate;
  518.         return $this;
  519.     }
  520.     public function getReminder(): ?LeadReminders
  521.     {
  522.         return $this->reminder;
  523.     }
  524.     public function setReminder(?LeadReminders $reminder): self
  525.     {
  526.         $this->reminder $reminder;
  527.         return $this;
  528.     }
  529.     public function getSender(): ?string
  530.     {
  531.         return $this->sender;
  532.     }
  533.     public function setSender(?string $sender): self
  534.     {
  535.         $this->sender $sender;
  536.         return $this;
  537.     }
  538.     public function getFromEmail(): ?string
  539.     {
  540.         return $this->fromEmail;
  541.     }
  542.     public function setFromEmail(?string $fromEmail): self
  543.     {
  544.         $this->fromEmail $fromEmail;
  545.         return $this;
  546.     }
  547.     public function getHideLastName(): ?bool
  548.     {
  549.         return $this->hideLastName;
  550.     }
  551.     public function setHideLastName(?bool $hideLastName): self
  552.     {
  553.         $this->hideLastName $hideLastName;
  554.         return $this;
  555.     }
  556.     public function getEmailValidationType(): ?int
  557.     {
  558.         return $this->emailValidationType;
  559.     }
  560.     public function setEmailValidationType(?int $emailValidationType): self
  561.     {
  562.         $this->emailValidationType $emailValidationType;
  563.         return $this;
  564.     }
  565.     public function isIncludingAddress(): bool
  566.     {
  567.         return $this->getLeadFormResponseAddress() && $this->getLeadFormResponseAddress()->getIncludeAddress();
  568.     }
  569.     public function isIncludingPosition(): bool
  570.     {
  571.         return $this->getLeadFormResponsePosition() && $this->getLeadFormResponsePosition()->getIncludePosition();
  572.     }
  573.     /**
  574.      * @return Collection|LeadFormWhitelist[]
  575.      */
  576.     public function getLeadFormWhitelist(): Collection
  577.     {
  578.         return $this->leadFormWhitelist;
  579.     }
  580.     public function addLeadFormWhitelist(LeadFormWhitelist $leadFormWhitelist): self
  581.     {
  582.         if (!$this->leadFormWhitelist->contains($leadFormWhitelist)) {
  583.             $this->leadFormWhitelist[] = $leadFormWhitelist;
  584.             $leadFormWhitelist->setLeadFormResponse($this);
  585.         }
  586.         return $this;
  587.     }
  588.     public function removeLeadFormWhitelist(LeadFormWhitelist $leadFormWhitelist): self
  589.     {
  590.         if ($this->leadFormWhitelist->contains($leadFormWhitelist)) {
  591.             $this->leadFormWhitelist->removeElement($leadFormWhitelist);
  592.             // set the owning side to null (unless already changed)
  593.             if ($leadFormWhitelist->getLeadFormResponse() === $this) {
  594.                 $leadFormWhitelist->setLeadFormResponse(null);
  595.             }
  596.         }
  597.         return $this;
  598.     }
  599.     public function getEmailValidationErrorMessage(): ?string
  600.     {
  601.         return $this->emailValidationErrorMessage;
  602.     }
  603.     public function setEmailValidationErrorMessage(?string $emailValidationErrorMessage): self
  604.     {
  605.         $this->emailValidationErrorMessage $emailValidationErrorMessage;
  606.         return $this;
  607.     }
  608.     public function getRequiredNPWZ(): ?bool
  609.     {
  610.         return $this->requiredNPWZ;
  611.     }
  612.     public function setRequiredNPWZ(?bool $requiredNPWZ): self
  613.     {
  614.         $this->requiredNPWZ $requiredNPWZ;
  615.         return $this;
  616.     }
  617.     public function getLeadGroup(): ?LeadGroup
  618.     {
  619.         return $this->leadGroup;
  620.     }
  621.     public function setLeadGroup(?LeadGroup $leadGroup): self
  622.     {
  623.         $this->leadGroup $leadGroup;
  624.         return $this;
  625.     }
  626.     /**
  627.      * @return Collection|ProductVariant[]
  628.      */
  629.     public function getRelatedProductVariants(): Collection
  630.     {
  631.         return $this->relatedProductVariants;
  632.     }
  633.     public function addRelatedProductVariant(ProductVariant $relatedProductVariant): self
  634.     {
  635.         if (!$this->relatedProductVariants->contains($relatedProductVariant)) {
  636.             $this->relatedProductVariants[] = $relatedProductVariant;
  637.         }
  638.         return $this;
  639.     }
  640.     public function removeRelatedProductVariant(ProductVariant $relatedProductVariant): self
  641.     {
  642.         if ($this->relatedProductVariants->contains($relatedProductVariant)) {
  643.             $this->relatedProductVariants->removeElement($relatedProductVariant);
  644.         }
  645.         return $this;
  646.     }
  647.     public function getAdditionalStyle(): ?string
  648.     {
  649.         return $this->additionalStyle;
  650.     }
  651.     public function setAdditionalStyle(?string $additionalStyle): self
  652.     {
  653.         $this->additionalStyle $additionalStyle;
  654.         return $this;
  655.     }
  656.     public function getRegInfo(): ?string
  657.     {
  658.         return $this->regInfo;
  659.     }
  660.     public function setRegInfo(?string $regInfo): self
  661.     {
  662.         $this->regInfo $regInfo;
  663.         return $this;
  664.     }
  665.     public function getUseEventBok(): ?bool
  666.     {
  667.         return $this->useEventBok;
  668.     }
  669.     public function setUseEventBok(bool $useEventBok): self
  670.     {
  671.         $this->useEventBok $useEventBok;
  672.         return $this;
  673.     }
  674.     public function getActionNumber(): ?string
  675.     {
  676.         return $this->actionNumber;
  677.     }
  678.     public function setActionNumber(?string $actionNumber): self
  679.     {
  680.         $this->actionNumber $actionNumber;
  681.         return $this;
  682.     }
  683.     public function getOverrideActionNumber(): ?bool
  684.     {
  685.         return $this->overrideActionNumber;
  686.     }
  687.     public function setOverrideActionNumber(?bool $overrideActionNumber): self
  688.     {
  689.         $this->overrideActionNumber $overrideActionNumber;
  690.         return $this;
  691.     }
  692.     public function getLegalRule(): ?string
  693.     {
  694.         return $this->legalRule;
  695.     }
  696.     public function setLegalRule(?string $legalRule): self
  697.     {
  698.         $this->legalRule $legalRule;
  699.         return $this;
  700.     }
  701.     /**
  702.      * @return Collection|SalesManagoTagGroup[]
  703.      */
  704.     public function getSalesManagoTagGroups(): Collection
  705.     {
  706.         return $this->salesManagoTagGroups;
  707.     }
  708.     public function addSalesManagoTagGroup(SalesManagoTagGroup $salesManagoTagGroup): self
  709.     {
  710.         if (!$this->salesManagoTagGroups->contains($salesManagoTagGroup)) {
  711.             $this->salesManagoTagGroups[] = $salesManagoTagGroup;
  712.             $salesManagoTagGroup->addLeadFormResponse($this);
  713.         }
  714.         return $this;
  715.     }
  716.     public function removeSalesManagoTagGroup(SalesManagoTagGroup $salesManagoTagGroup): self
  717.     {
  718.         if ($this->salesManagoTagGroups->contains($salesManagoTagGroup)) {
  719.             $this->salesManagoTagGroups->removeElement($salesManagoTagGroup);
  720.             $salesManagoTagGroup->removeLeadFormResponse($this);
  721.         }
  722.         return $this;
  723.     }
  724.     public function getAdditionalEventsDescription(): ?string
  725.     {
  726.         return $this->additionalEventsDescription;
  727.     }
  728.     public function setAdditionalEventsDescription(?string $additionalEventsDescription): self
  729.     {
  730.         $this->additionalEventsDescription $additionalEventsDescription;
  731.         return $this;
  732.     }
  733.     /**
  734.      * @return Collection|Events[]
  735.      */
  736.     public function getAdditionalEvents(): Collection
  737.     {
  738.         return $this->additionalEvents;
  739.     }
  740.     public function addAdditionalEvent(Events $additionalEvent): self
  741.     {
  742.         if (!$this->additionalEvents->contains($additionalEvent)) {
  743.             $this->additionalEvents[] = $additionalEvent;
  744.         }
  745.         return $this;
  746.     }
  747.     public function removeAdditionalEvent(Events $additionalEvent): self
  748.     {
  749.         if ($this->additionalEvents->contains($additionalEvent)) {
  750.             $this->additionalEvents->removeElement($additionalEvent);
  751.         }
  752.         return $this;
  753.     }
  754.     public function getColorBg(): ?string
  755.     {
  756.         return $this->colorBg;
  757.     }
  758.     public function setColorBg(?string $colorBg): self
  759.     {
  760.         $this->colorBg $colorBg;
  761.         return $this;
  762.     }
  763.     public function getColorButton(): ?string
  764.     {
  765.         return $this->colorButton;
  766.     }
  767.     public function setColorButton(?string $colorButton): self
  768.     {
  769.         $this->colorButton $colorButton;
  770.         return $this;
  771.     }
  772.     public function getColorFont(): ?string
  773.     {
  774.         return $this->colorFont;
  775.     }
  776.     public function setColorFont(?string $colorFont): self
  777.     {
  778.         $this->colorFont $colorFont;
  779.         return $this;
  780.     }
  781.     public function getUseCustomColors(): ?bool
  782.     {
  783.         return $this->useCustomColors;
  784.     }
  785.     public function setUseCustomColors(?bool $useCustomColors): self
  786.     {
  787.         $this->useCustomColors $useCustomColors;
  788.         return $this;
  789.     }
  790.     /**
  791.      * @return Collection|ContactSegmentation[]
  792.      */
  793.     public function getContactSegmentations(): Collection
  794.     {
  795.         return $this->contactSegmentations;
  796.     }
  797.     public function addContactSegmentation(ContactSegmentation $contactSegmentation): self
  798.     {
  799.         if (!$this->contactSegmentations->contains($contactSegmentation)) {
  800.             $this->contactSegmentations[] = $contactSegmentation;
  801.         }
  802.         return $this;
  803.     }
  804.     public function removeContactSegmentation(ContactSegmentation $contactSegmentation): self
  805.     {
  806.         if ($this->contactSegmentations->contains($contactSegmentation)) {
  807.             $this->contactSegmentations->removeElement($contactSegmentation);
  808.         }
  809.         return $this;
  810.     }
  811.     public function getSalesmanagoTags(): array
  812.     {
  813.         return array_values(
  814.             $this->contactSegmentations
  815.                 ->map(function (ContactSegmentation $seg) {
  816.                     return $seg->getSalesmanagoTag();
  817.                 })
  818.                 ->filter(function (?string $tag) {
  819.                     return $tag !== null && $tag !== '';
  820.                 })
  821.                 ->toArray()
  822.         );
  823.     }
  824.     public function getSalesManagoSourceTag(): ?string
  825.     {
  826.         return 'BASIC_FORM';
  827.     }
  828.     public function isEnglish(): bool
  829.     {
  830.         return $this->isEnglish;
  831.     }
  832.     public function setIsEnglish(bool $isEnglish): self
  833.     {
  834.         $this->isEnglish $isEnglish;
  835.         return $this;
  836.     }
  837. }