<?phpnamespace App\Entity\Gos;use App\Entity\Gos\RenewalOffer\RenewalOffer;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;use Doctrine\ORM\Mapping as ORM;use Symfony\Component\Validator\Constraints as Assert;/** * @ORM\Table() * @ORM\Entity(repositoryClass="App\Repository\EmailTemplateRepository") * @ORM\HasLifecycleCallbacks */class EmailTemplate{ /** * @var integer * * @ORM\Column(type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @ORM\Column(type="string") */ private $name; /** * @ORM\Column(type="text") */ private $header; /** * @ORM\Column(type="text") */ private $footer; /** * @ORM\ManyToOne(targetEntity="App\Entity\Gos\PortalSettings", inversedBy="emailTemplate") * @ORM\JoinColumn() */ private $portalSettings; /** * @ORM\ManyToOne(targetEntity="App\Entity\Gos\EmailSettings", inversedBy="emailTemplate") * @ORM\JoinColumn() */ private $emailSettings; /** * @ORM\OneToMany(targetEntity="EmailBody", mappedBy="emailTemplate") */ private $emailbody; /** * @ORM\ManyToOne(targetEntity="Language", inversedBy="emailTemplate") * @ORM\JoinColumn() */ private $language; /** * @ORM\Column(type="datetime") */ private $createdAt; /** * @ORM\Column(type="datetime", nullable=true) */ private $updatedAt; /** * @ORM\OneToMany(targetEntity=NewsletterTemplate::class, mappedBy="emailTemplate") */ private $newsletterTemplates; /** * @ORM\OneToMany(targetEntity=LeadFormResponse::class, mappedBy="emailTemplate") */ private $leadFormResponses; /** * @ORM\OneToMany(targetEntity="EmailBody", mappedBy="testEmailTemplate") */ private $testEmailbody; /** * @ORM\OneToMany(targetEntity=RenewalOffer::class, mappedBy="emailTemplate") */ private $renewalOffers; /** @ORM\PrePersist() */ public function prePersist() { $this->createdAt = new \DateTime(); } /** @ORM\PreUpdate() */ public function preUpdate() { $this->updatedAt = new \DateTime(); } public function __toString() { return (string)$this->name; } /* ****************************** GETTERS & SETTERS ****************************** */ /** * Constructor */ public function __construct() { $this->emailType = new \Doctrine\Common\Collections\ArrayCollection(); $this->emailbody = new ArrayCollection(); $this->newsletterTemplates = new ArrayCollection(); $this->leadFormResponses = new ArrayCollection(); $this->testEmailbody = new ArrayCollection(); $this->renewalOffers = new ArrayCollection(); } public function __clone() { if ($this->id) { $this->id = null; } } /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * Set name * * @param string $name * @return EmailTemplate */ public function setName($name) { $this->name = $name; return $this; } /** * Get name * * @return string */ public function getName() { return $this->name; } /** * Set header * * @param string $header * @return EmailTemplate */ public function setHeader($header) { $this->header = $header; return $this; } /** * Get header * * @return string */ public function getHeader() { return $this->header; } /** * Set footer * * @param string $footer * @return EmailTemplate */ public function setFooter($footer) { $this->footer = $footer; return $this; } /** * Get footer * * @return string */ public function getFooter() { return $this->footer; } /** * Set createdAt * * @param \DateTime $createdAt * @return EmailTemplate */ public function setCreatedAt($createdAt) { $this->createdAt = $createdAt; return $this; } /** * Get createdAt * * @return \DateTime */ public function getCreatedAt() { return $this->createdAt; } /** * Set updatedAt * * @param \DateTime $updatedAt * @return EmailTemplate */ public function setUpdatedAt($updatedAt) { $this->updatedAt = $updatedAt; return $this; } /** * Get updatedAt * * @return \DateTime */ public function getUpdatedAt() { return $this->updatedAt; } /** * Add emailbody * * @param EmailBody $emailbody * @return EmailTemplate */ public function addEmailbody(EmailBody $emailbody) { $this->emailbody[] = $emailbody; return $this; } /** * Remove emailbody * * @param EmailBody $emailbody */ public function removeEmailbody(EmailBody $emailbody) { $this->emailbody->removeElement($emailbody); } /** * Get emailbody * * @return \Doctrine\Common\Collections\Collection */ public function getEmailbody() { return $this->emailbody; } /** * Set portalSettings * * @param \App\Entity\Gos\PortalSettings $portalSettings * * @return EmailTemplate */ public function setPortalSettings(\App\Entity\Gos\PortalSettings $portalSettings = null) { $this->portalSettings = $portalSettings; return $this; } /** * Get portalSettings * * @return \App\Entity\Gos\PortalSettings */ public function getPortalSettings() { return $this->portalSettings; } /** * Set emailSettings * * @param \App\Entity\Gos\EmailSettings $emailSettings * @return EmailTemplate */ public function setEmailSettings(\App\Entity\Gos\EmailSettings $emailSettings = null) { $this->emailSettings = $emailSettings; return $this; } /** * Get emailSettings * * @return \App\Entity\Gos\EmailSettings */ public function getEmailSettings() { return $this->emailSettings; } public function getLanguage(): ?Language { return $this->language; } public function setLanguage(?Language $language): self { $this->language = $language; return $this; } /** * @return Collection|NewsletterTemplate[] */ public function getNewsletterTemplates(): Collection { return $this->newsletterTemplates; } public function addNewsletterTemplate(NewsletterTemplate $newsletterTemplate): self { if (!$this->newsletterTemplates->contains($newsletterTemplate)) { $this->newsletterTemplates[] = $newsletterTemplate; $newsletterTemplate->setEmailTemplate($this); } return $this; } public function removeNewsletterTemplate(NewsletterTemplate $newsletterTemplate): self { if ($this->newsletterTemplates->contains($newsletterTemplate)) { $this->newsletterTemplates->removeElement($newsletterTemplate); // set the owning side to null (unless already changed) if ($newsletterTemplate->getEmailTemplate() === $this) { $newsletterTemplate->setEmailTemplate(null); } } return $this; } /** * @return Collection|LeadFormResponse[] */ public function getLeadFormResponses(): Collection { return $this->leadFormResponses; } public function addLeadFormResponse(LeadFormResponse $leadFormResponse): self { if (!$this->leadFormResponses->contains($leadFormResponse)) { $this->leadFormResponses[] = $leadFormResponse; $leadFormResponse->setEmailTemplate($this); } return $this; } public function removeLeadFormResponse(LeadFormResponse $leadFormResponse): self { if ($this->leadFormResponses->contains($leadFormResponse)) { $this->leadFormResponses->removeElement($leadFormResponse); // set the owning side to null (unless already changed) if ($leadFormResponse->getEmailTemplate() === $this) { $leadFormResponse->setEmailTemplate(null); } } return $this; } /** * Add testEmailbody * * @param EmailBody $testEmailbody * @return EmailTemplate */ public function addTestEmailbody(EmailBody $testEmailbody) { $this->testEmailbody[] = $testEmailbody; return $this; } /** * Remove testEmailbody * * @param EmailBody $testEmailbody */ public function removeTestEmailbody(EmailBody $testEmailbody) { $this->testEmailbody->removeElement($testEmailbody); } /** * Get testEmailbody * * @return \Doctrine\Common\Collections\Collection */ public function getTestEmailbody() { return $this->testEmailbody; } /** * @return Collection|RenewalOffer[] */ public function getRenewalOffers(): Collection { return $this->renewalOffers; } public function addRenewalOffer(RenewalOffer $renewalOffer): self { if (!$this->renewalOffers->contains($renewalOffer)) { $this->renewalOffers[] = $renewalOffer; $renewalOffer->setEmailTemplate($this); } return $this; } public function removeRenewalOffer(RenewalOffer $renewalOffer): self { if ($this->renewalOffers->contains($renewalOffer)) { $this->renewalOffers->removeElement($renewalOffer); // set the owning side to null (unless already changed) if ($renewalOffer->getEmailTemplate() === $this) { $renewalOffer->setEmailTemplate(null); } } return $this; }}