src/Entity/Gos/EmailTemplate.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Entity\Gos;
  3. use App\Entity\Gos\RenewalOffer\RenewalOffer;
  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\Table()
  10.  * @ORM\Entity(repositoryClass="App\Repository\EmailTemplateRepository")
  11.  * @ORM\HasLifecycleCallbacks
  12.  */
  13. class EmailTemplate
  14. {
  15.     /**
  16.      * @var integer
  17.      *
  18.      * @ORM\Column(type="integer")
  19.      * @ORM\Id
  20.      * @ORM\GeneratedValue(strategy="AUTO")
  21.      */
  22.     private $id;
  23.     /**
  24.      * @ORM\Column(type="string")
  25.      */
  26.     private $name;
  27.     /**
  28.      * @ORM\Column(type="text")
  29.      */
  30.     private $header;
  31.     /**
  32.      * @ORM\Column(type="text")
  33.      */
  34.     private $footer;
  35.     /**
  36.      * @ORM\ManyToOne(targetEntity="App\Entity\Gos\PortalSettings", inversedBy="emailTemplate")
  37.      * @ORM\JoinColumn()
  38.      */
  39.     private $portalSettings;
  40.     /**
  41.      * @ORM\ManyToOne(targetEntity="App\Entity\Gos\EmailSettings", inversedBy="emailTemplate")
  42.      * @ORM\JoinColumn()
  43.      */
  44.     private $emailSettings;
  45.     /**
  46.      * @ORM\OneToMany(targetEntity="EmailBody", mappedBy="emailTemplate")
  47.      */
  48.     private $emailbody;
  49.     /**
  50.      * @ORM\ManyToOne(targetEntity="Language", inversedBy="emailTemplate")
  51.      * @ORM\JoinColumn()
  52.      */
  53.     private $language;
  54.     /**
  55.      * @ORM\Column(type="datetime")
  56.      */
  57.     private $createdAt;
  58.     /**
  59.      * @ORM\Column(type="datetime", nullable=true)
  60.      */
  61.     private $updatedAt;
  62.     /**
  63.      * @ORM\OneToMany(targetEntity=NewsletterTemplate::class, mappedBy="emailTemplate")
  64.      */
  65.     private $newsletterTemplates;
  66.     /**
  67.      * @ORM\OneToMany(targetEntity=LeadFormResponse::class, mappedBy="emailTemplate")
  68.      */
  69.     private $leadFormResponses;
  70.     /**
  71.      * @ORM\OneToMany(targetEntity="EmailBody", mappedBy="testEmailTemplate")
  72.     */
  73.     private $testEmailbody;
  74.     /**
  75.      * @ORM\OneToMany(targetEntity=RenewalOffer::class, mappedBy="emailTemplate")
  76.      */
  77.     private $renewalOffers;
  78.     /** @ORM\PrePersist() */
  79.     public function prePersist()
  80.     {
  81.         $this->createdAt = new \DateTime();
  82.     }
  83.     /** @ORM\PreUpdate() */
  84.     public function preUpdate()
  85.     {
  86.         $this->updatedAt = new \DateTime();
  87.     }
  88.     public function __toString()
  89.     {
  90.         return (string)$this->name;
  91.     }
  92.     /* ****************************** GETTERS & SETTERS ******************************  */
  93.     /**
  94.      * Constructor
  95.      */
  96.     public function __construct()
  97.     {
  98.         $this->emailType = new \Doctrine\Common\Collections\ArrayCollection();
  99.         $this->emailbody = new ArrayCollection();
  100.         $this->newsletterTemplates = new ArrayCollection();
  101.         $this->leadFormResponses = new ArrayCollection();
  102.         $this->testEmailbody = new ArrayCollection();
  103.         $this->renewalOffers = new ArrayCollection();
  104.     }
  105.     public function __clone()
  106.     {
  107.         if ($this->id) {
  108.             $this->id null;
  109.         }
  110.     }
  111.     /**
  112.      * Get id
  113.      *
  114.      * @return integer
  115.      */
  116.     public function getId()
  117.     {
  118.         return $this->id;
  119.     }
  120.     /**
  121.      * Set name
  122.      *
  123.      * @param string $name
  124.      * @return EmailTemplate
  125.      */
  126.     public function setName($name)
  127.     {
  128.         $this->name $name;
  129.         return $this;
  130.     }
  131.     /**
  132.      * Get name
  133.      *
  134.      * @return string
  135.      */
  136.     public function getName()
  137.     {
  138.         return $this->name;
  139.     }
  140.     /**
  141.      * Set header
  142.      *
  143.      * @param string $header
  144.      * @return EmailTemplate
  145.      */
  146.     public function setHeader($header)
  147.     {
  148.         $this->header $header;
  149.         return $this;
  150.     }
  151.     /**
  152.      * Get header
  153.      *
  154.      * @return string
  155.      */
  156.     public function getHeader()
  157.     {
  158.         return $this->header;
  159.     }
  160.     /**
  161.      * Set footer
  162.      *
  163.      * @param string $footer
  164.      * @return EmailTemplate
  165.      */
  166.     public function setFooter($footer)
  167.     {
  168.         $this->footer $footer;
  169.         return $this;
  170.     }
  171.     /**
  172.      * Get footer
  173.      *
  174.      * @return string
  175.      */
  176.     public function getFooter()
  177.     {
  178.         return $this->footer;
  179.     }
  180.     /**
  181.      * Set createdAt
  182.      *
  183.      * @param \DateTime $createdAt
  184.      * @return EmailTemplate
  185.      */
  186.     public function setCreatedAt($createdAt)
  187.     {
  188.         $this->createdAt $createdAt;
  189.         return $this;
  190.     }
  191.     /**
  192.      * Get createdAt
  193.      *
  194.      * @return \DateTime
  195.      */
  196.     public function getCreatedAt()
  197.     {
  198.         return $this->createdAt;
  199.     }
  200.     /**
  201.      * Set updatedAt
  202.      *
  203.      * @param \DateTime $updatedAt
  204.      * @return EmailTemplate
  205.      */
  206.     public function setUpdatedAt($updatedAt)
  207.     {
  208.         $this->updatedAt $updatedAt;
  209.         return $this;
  210.     }
  211.     /**
  212.      * Get updatedAt
  213.      *
  214.      * @return \DateTime
  215.      */
  216.     public function getUpdatedAt()
  217.     {
  218.         return $this->updatedAt;
  219.     }
  220.     /**
  221.      * Add emailbody
  222.      *
  223.      * @param EmailBody $emailbody
  224.      * @return EmailTemplate
  225.      */
  226.     public function addEmailbody(EmailBody $emailbody)
  227.     {
  228.         $this->emailbody[] = $emailbody;
  229.         return $this;
  230.     }
  231.     /**
  232.      * Remove emailbody
  233.      *
  234.      * @param EmailBody $emailbody
  235.      */
  236.     public function removeEmailbody(EmailBody $emailbody)
  237.     {
  238.         $this->emailbody->removeElement($emailbody);
  239.     }
  240.     /**
  241.      * Get emailbody
  242.      *
  243.      * @return \Doctrine\Common\Collections\Collection
  244.      */
  245.     public function getEmailbody()
  246.     {
  247.         return $this->emailbody;
  248.     }
  249.     /**
  250.      * Set portalSettings
  251.      *
  252.      * @param \App\Entity\Gos\PortalSettings $portalSettings
  253.      *
  254.      * @return EmailTemplate
  255.      */
  256.     public function setPortalSettings(\App\Entity\Gos\PortalSettings $portalSettings null)
  257.     {
  258.         $this->portalSettings $portalSettings;
  259.         return $this;
  260.     }
  261.     /**
  262.      * Get portalSettings
  263.      *
  264.      * @return \App\Entity\Gos\PortalSettings
  265.      */
  266.     public function getPortalSettings()
  267.     {
  268.         return $this->portalSettings;
  269.     }
  270.     /**
  271.      * Set emailSettings
  272.      *
  273.      * @param \App\Entity\Gos\EmailSettings $emailSettings
  274.      * @return EmailTemplate
  275.      */
  276.     public function setEmailSettings(\App\Entity\Gos\EmailSettings $emailSettings null)
  277.     {
  278.         $this->emailSettings $emailSettings;
  279.         return $this;
  280.     }
  281.     /**
  282.      * Get emailSettings
  283.      *
  284.      * @return \App\Entity\Gos\EmailSettings
  285.      */
  286.     public function getEmailSettings()
  287.     {
  288.         return $this->emailSettings;
  289.     }
  290.     public function getLanguage(): ?Language
  291.     {
  292.         return $this->language;
  293.     }
  294.     public function setLanguage(?Language $language): self
  295.     {
  296.         $this->language $language;
  297.         return $this;
  298.     }
  299.     /**
  300.      * @return Collection|NewsletterTemplate[]
  301.      */
  302.     public function getNewsletterTemplates(): Collection
  303.     {
  304.         return $this->newsletterTemplates;
  305.     }
  306.     public function addNewsletterTemplate(NewsletterTemplate $newsletterTemplate): self
  307.     {
  308.         if (!$this->newsletterTemplates->contains($newsletterTemplate)) {
  309.             $this->newsletterTemplates[] = $newsletterTemplate;
  310.             $newsletterTemplate->setEmailTemplate($this);
  311.         }
  312.         return $this;
  313.     }
  314.     public function removeNewsletterTemplate(NewsletterTemplate $newsletterTemplate): self
  315.     {
  316.         if ($this->newsletterTemplates->contains($newsletterTemplate)) {
  317.             $this->newsletterTemplates->removeElement($newsletterTemplate);
  318.             // set the owning side to null (unless already changed)
  319.             if ($newsletterTemplate->getEmailTemplate() === $this) {
  320.                 $newsletterTemplate->setEmailTemplate(null);
  321.             }
  322.         }
  323.         return $this;
  324.     }
  325.     /**
  326.      * @return Collection|LeadFormResponse[]
  327.      */
  328.     public function getLeadFormResponses(): Collection
  329.     {
  330.         return $this->leadFormResponses;
  331.     }
  332.     public function addLeadFormResponse(LeadFormResponse $leadFormResponse): self
  333.     {
  334.         if (!$this->leadFormResponses->contains($leadFormResponse)) {
  335.             $this->leadFormResponses[] = $leadFormResponse;
  336.             $leadFormResponse->setEmailTemplate($this);
  337.         }
  338.         return $this;
  339.     }
  340.     public function removeLeadFormResponse(LeadFormResponse $leadFormResponse): self
  341.     {
  342.         if ($this->leadFormResponses->contains($leadFormResponse)) {
  343.             $this->leadFormResponses->removeElement($leadFormResponse);
  344.             // set the owning side to null (unless already changed)
  345.             if ($leadFormResponse->getEmailTemplate() === $this) {
  346.                 $leadFormResponse->setEmailTemplate(null);
  347.             }
  348.         }
  349.         return $this;
  350.     }
  351.     /**
  352.      * Add testEmailbody
  353.      *
  354.      * @param EmailBody $testEmailbody
  355.      * @return EmailTemplate
  356.      */
  357.     public function addTestEmailbody(EmailBody $testEmailbody)
  358.     {
  359.         $this->testEmailbody[] = $testEmailbody;
  360.         return $this;
  361.     }
  362.     /**
  363.      * Remove testEmailbody
  364.      *
  365.      * @param EmailBody $testEmailbody
  366.      */
  367.     public function removeTestEmailbody(EmailBody $testEmailbody)
  368.     {
  369.         $this->testEmailbody->removeElement($testEmailbody);
  370.     }
  371.     /**
  372.      * Get testEmailbody
  373.      *
  374.      * @return \Doctrine\Common\Collections\Collection
  375.      */
  376.     public function getTestEmailbody()
  377.     {
  378.         return $this->testEmailbody;
  379.     }
  380.     /**
  381.      * @return Collection|RenewalOffer[]
  382.      */
  383.     public function getRenewalOffers(): Collection
  384.     {
  385.         return $this->renewalOffers;
  386.     }
  387.     public function addRenewalOffer(RenewalOffer $renewalOffer): self
  388.     {
  389.         if (!$this->renewalOffers->contains($renewalOffer)) {
  390.             $this->renewalOffers[] = $renewalOffer;
  391.             $renewalOffer->setEmailTemplate($this);
  392.         }
  393.         return $this;
  394.     }
  395.     public function removeRenewalOffer(RenewalOffer $renewalOffer): self
  396.     {
  397.         if ($this->renewalOffers->contains($renewalOffer)) {
  398.             $this->renewalOffers->removeElement($renewalOffer);
  399.             // set the owning side to null (unless already changed)
  400.             if ($renewalOffer->getEmailTemplate() === $this) {
  401.                 $renewalOffer->setEmailTemplate(null);
  402.             }
  403.         }
  404.         return $this;
  405.     }
  406. }