<?php
namespace App\Entity\Gos;
use App\Repository\Gos\LeadFormResponsePositionRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=LeadFormResponsePositionRepository::class)
*/
class LeadFormResponsePosition
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="boolean")
*/
private $includePosition;
/**
* @ORM\Column(type="boolean")
*/
private $required;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $displayedName;
/**
* @ORM\OneToOne(targetEntity=LeadFormResponse::class, mappedBy="leadFormResponsePosition", cascade={"persist", "remove"})
*/
private $leadFormResponse;
/**
* @ORM\OneToMany(targetEntity=LeadFormResponsePositionValue::class, mappedBy="leadFormResponsePosition", cascade={"persist", "remove"}, orphanRemoval=true)
*/
private $leadFormResponsePositionValues;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $otherOption;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $hidePortalPositions;
/**
* @ORM\OneToOne(targetEntity=NewsletterTemplate::class, mappedBy="leadFormResponsePosition", cascade={"persist", "remove"})
*/
private $newsletterTemplate;
public function __construct()
{
$this->leadFormResponsePositionValues = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getIncludePosition(): ?bool
{
return $this->includePosition;
}
public function setIncludePosition(bool $includePosition): self
{
$this->includePosition = $includePosition;
return $this;
}
public function getRequired(): ?bool
{
return $this->required;
}
public function setRequired(bool $required): self
{
$this->required = $required;
return $this;
}
public function getDisplayedName(): ?string
{
return $this->displayedName;
}
public function setDisplayedName(?string $displayedName): self
{
$this->displayedName = $displayedName;
return $this;
}
public function getLeadFormResponse(): ?LeadFormResponse
{
return $this->leadFormResponse;
}
public function setLeadFormResponse(LeadFormResponse $leadFormResponse): self
{
$this->leadFormResponse = $leadFormResponse;
// set the owning side of the relation if necessary
if ($leadFormResponse->getLeadFormResponsePosition() !== $this) {
$leadFormResponse->setLeadFormResponsePosition($this);
}
return $this;
}
/**
* @return Collection|LeadFormResponsePositionValue[]
*/
public function getLeadFormResponsePositionValues(): Collection
{
return $this->leadFormResponsePositionValues;
}
public function addLeadFormResponsePositionValue(LeadFormResponsePositionValue $leadFormResponsePositionValue): self
{
if (!$this->leadFormResponsePositionValues->contains($leadFormResponsePositionValue)) {
$this->leadFormResponsePositionValues[] = $leadFormResponsePositionValue;
$leadFormResponsePositionValue->setLeadFormResponsePosition($this);
}
return $this;
}
public function removeLeadFormResponsePositionValue(LeadFormResponsePositionValue $leadFormResponsePositionValue): self
{
if ($this->leadFormResponsePositionValues->contains($leadFormResponsePositionValue)) {
$this->leadFormResponsePositionValues->removeElement($leadFormResponsePositionValue);
// set the owning side to null (unless already changed)
if ($leadFormResponsePositionValue->getLeadFormResponsePosition() === $this) {
$leadFormResponsePositionValue->setLeadFormResponsePosition(null);
}
}
return $this;
}
public function getOtherOption(): ?bool
{
return $this->otherOption;
}
public function setOtherOption(?bool $otherOption): self
{
$this->otherOption = $otherOption;
return $this;
}
public function getHidePortalPositions(): ?bool
{
return $this->hidePortalPositions;
}
public function setHidePortalPositions(?bool $hidePortalPositions): self
{
$this->hidePortalPositions = $hidePortalPositions;
return $this;
}
public function getNewsletterTemplate(): ?NewsletterTemplate
{
return $this->newsletterTemplate;
}
public function setNewsletterTemplate(?NewsletterTemplate $newsletterTemplate): self
{
$this->newsletterTemplate = $newsletterTemplate;
// set (or unset) the owning side of the relation if necessary
$newLeadFormResponsePosition = null === $newsletterTemplate ? null : $this;
if ($newsletterTemplate->getLeadFormResponsePosition() !== $newLeadFormResponsePosition) {
$newsletterTemplate->setLeadFormResponsePosition($newLeadFormResponsePosition);
}
return $this;
}
}