src/Entity/CompanyContribution.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use Doctrine\Common\Collections\Collection;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Gedmo\Timestampable\Traits\TimestampableEntity;
  7. /**
  8.  * @ORM\Entity(repositoryClass="App\Repository\CompanyContributionRepository")
  9.  */
  10. class CompanyContribution
  11. {
  12.     use TimestampableEntity;
  13.     /**
  14.      * @ORM\Id()
  15.      * @ORM\GeneratedValue()
  16.      * @ORM\Column(type="integer")
  17.      */
  18.     private $id;
  19.     /**
  20.      * @var User
  21.      *
  22.      * @ORM\ManyToOne(targetEntity="App\Entity\User")
  23.      * @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
  24.      */
  25.     private $user;
  26.     /**
  27.      * @var CompanyFormQuestion
  28.      *
  29.      * @ORM\ManyToOne(targetEntity="App\Entity\CompanyFormQuestion")
  30.      * @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
  31.      */
  32.     private $formQuestion;
  33.     /**
  34.      * @var Company
  35.      *
  36.      * @ORM\ManyToOne(targetEntity="App\Entity\Company", inversedBy="formContributions")
  37.      * @ORM\JoinColumn(nullable=false, onDelete="CASCADE")
  38.      */
  39.     private $company;
  40.     /**
  41.      * @var string
  42.      *
  43.      * @ORM\Column(type="text", nullable=true)
  44.      */
  45.     private $valueOld;
  46.     /**
  47.      * @var string
  48.      *
  49.      * @ORM\Column(type="text", nullable=true)
  50.      */
  51.     private $valueNew;
  52.     /**
  53.      * @var CompanyFormAnswer
  54.      *
  55.      * @ORM\ManyToOne(targetEntity="App\Entity\CompanyFormAnswer")
  56.      * @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
  57.      */
  58.     private $formAnswerOld;
  59.     /**
  60.      * @var CompanyFormAnswer
  61.      *
  62.      * @ORM\ManyToOne(targetEntity="App\Entity\CompanyFormAnswer")
  63.      * @ORM\JoinColumn(nullable=true, onDelete="CASCADE")
  64.      */
  65.     private $formAnswerNew;
  66.     /**
  67.      * @var ArrayCollection
  68.      *
  69.      * @ORM\ManyToMany(targetEntity="App\Entity\CompanyFormAnswer")
  70.      * @ORM\JoinTable(name="company_contribution_company_form_answer_old")
  71.      * @ORM\JoinColumn(onDelete="CASCADE")
  72.      */
  73.     private $formAnswersOld;
  74.     /**
  75.      * @var ArrayCollection
  76.      *
  77.      * @ORM\ManyToMany(targetEntity="App\Entity\CompanyFormAnswer")
  78.      * @ORM\JoinTable(name="company_contribution_company_form_answer_new")
  79.      * @ORM\JoinColumn(onDelete="CASCADE")
  80.      */
  81.     private $formAnswersNew;
  82.     /**
  83.      * @var string
  84.      *
  85.      * @ORM\Column(type="string", length=64, nullable=true)
  86.      */
  87.     private $daysOffTypeOld;
  88.     /**
  89.      * @var string
  90.      *
  91.      * @ORM\Column(type="string", length=64, nullable=true)
  92.      */
  93.     private $daysOffTypeNew;
  94.     /**
  95.      * @var bool
  96.      *
  97.      * @ORM\Column(type="boolean", nullable=true)
  98.      */
  99.     private $affinityGroupsOld;
  100.     /**
  101.      * @var bool
  102.      *
  103.      * @ORM\Column(type="boolean", nullable=true)
  104.      */
  105.     private $affinityGroupsNew;
  106.     /**
  107.      * @var bool
  108.      *
  109.      * @ORM\Column(type="boolean", nullable=true)
  110.      */
  111.     private $affinityGroupsChampionOld;
  112.     /**
  113.      * @var bool
  114.      *
  115.      * @ORM\Column(type="boolean", nullable=true)
  116.      */
  117.     private $affinityGroupsChampionNew;
  118.     /**
  119.      * @var bool
  120.      *
  121.      * @ORM\Column(type="boolean")
  122.      */
  123.     private $published;
  124.     /**
  125.      * Virtual.
  126.      */
  127.     private $value;
  128.     public function __construct()
  129.     {
  130.         $this->published false;
  131.         $this->formAnswersOld = new ArrayCollection();
  132.         $this->formAnswersNew = new ArrayCollection();
  133.     }
  134.     public function getId(): ?int
  135.     {
  136.         return $this->id;
  137.     }
  138.     public function getValueOld(): ?string
  139.     {
  140.         return $this->valueOld;
  141.     }
  142.     public function setValueOld(?string $valueOld): self
  143.     {
  144.         $this->valueOld $valueOld;
  145.         return $this;
  146.     }
  147.     public function getValueNew(): ?string
  148.     {
  149.         return $this->valueNew;
  150.     }
  151.     public function setValueNew(?string $valueNew): self
  152.     {
  153.         $this->valueNew $valueNew;
  154.         return $this;
  155.     }
  156.     public function getValue(): ?string
  157.     {
  158.         if (null !== $this->getFormAnswerNew()) {
  159.             return $this->getFormAnswerNew()->getValue().((null !== $this->getValueNew()) ? ' ('.$this->getValueNew().')' '');
  160.         } elseif (null !== $this->getValueNew()) {
  161.             $value strip_tags($this->getValueNew());
  162.             if (null !== $this->getDaysOffTypeNew()) {
  163.                 $value .= ' ('.$this->getDaysOffTypeNew().')';
  164.             }
  165.             return $value;
  166.         } elseif ($this->formAnswersNew->count() > 0) {
  167.             $value '';
  168.             foreach ($this->formAnswersNew as $companyFormAnswer) {
  169.                 /** @var CompanyFormAnswer $companyFormAnswer */
  170.                 $value $companyFormAnswer->getValue()."\n";
  171.             }
  172.             return $value;
  173.         } else {
  174.             $value '';
  175.             if (null !== $this->getAffinityGroupsNew()) {
  176.                 $value .= (($this->getAffinityGroupsNew()) ? 'Yes' 'No');
  177.             }
  178.             if (null !== $this->getAffinityGroupsChampionNew()) {
  179.                 $value .= ' (Executive Champion: '.(($this->getAffinityGroupsChampionNew()) ? 'yes' 'no').')';
  180.             }
  181.             return $value;
  182.         }
  183.     }
  184.     public function getUser(): ?User
  185.     {
  186.         return $this->user;
  187.     }
  188.     public function setUser(?User $user): self
  189.     {
  190.         $this->user $user;
  191.         return $this;
  192.     }
  193.     public function getFormQuestion(): ?CompanyFormQuestion
  194.     {
  195.         return $this->formQuestion;
  196.     }
  197.     public function setFormQuestion(?CompanyFormQuestion $formQuestion): self
  198.     {
  199.         $this->formQuestion $formQuestion;
  200.         return $this;
  201.     }
  202.     public function getCompany(): ?Company
  203.     {
  204.         return $this->company;
  205.     }
  206.     public function setCompany(?Company $company): self
  207.     {
  208.         $this->company $company;
  209.         return $this;
  210.     }
  211.     public function getFormAnswerOld(): ?CompanyFormAnswer
  212.     {
  213.         return $this->formAnswerOld;
  214.     }
  215.     public function setFormAnswerOld(?CompanyFormAnswer $formAnswerOld): self
  216.     {
  217.         $this->formAnswerOld $formAnswerOld;
  218.         return $this;
  219.     }
  220.     public function getFormAnswerNew(): ?CompanyFormAnswer
  221.     {
  222.         return $this->formAnswerNew;
  223.     }
  224.     public function setFormAnswerNew(?CompanyFormAnswer $formAnswerNew): self
  225.     {
  226.         $this->formAnswerNew $formAnswerNew;
  227.         return $this;
  228.     }
  229.     /**
  230.      * @return Collection|CompanyFormAnswer[]
  231.      */
  232.     public function getFormAnswersOld(): Collection
  233.     {
  234.         return $this->formAnswersOld;
  235.     }
  236.     public function addFormAnswersOld(CompanyFormAnswer $formAnswersOld): self
  237.     {
  238.         if (!$this->formAnswersOld->contains($formAnswersOld)) {
  239.             $this->formAnswersOld[] = $formAnswersOld;
  240.         }
  241.         return $this;
  242.     }
  243.     public function removeFormAnswersOld(CompanyFormAnswer $formAnswersOld): self
  244.     {
  245.         if ($this->formAnswersOld->contains($formAnswersOld)) {
  246.             $this->formAnswersOld->removeElement($formAnswersOld);
  247.         }
  248.         return $this;
  249.     }
  250.     /**
  251.      * @return Collection|CompanyFormAnswer[]
  252.      */
  253.     public function getFormAnswersNew(): Collection
  254.     {
  255.         return $this->formAnswersNew;
  256.     }
  257.     public function addFormAnswersNew(CompanyFormAnswer $formAnswersNew): self
  258.     {
  259.         if (!$this->formAnswersNew->contains($formAnswersNew)) {
  260.             $this->formAnswersNew[] = $formAnswersNew;
  261.         }
  262.         return $this;
  263.     }
  264.     public function removeFormAnswersNew(CompanyFormAnswer $formAnswersNew): self
  265.     {
  266.         if ($this->formAnswersNew->contains($formAnswersNew)) {
  267.             $this->formAnswersNew->removeElement($formAnswersNew);
  268.         }
  269.         return $this;
  270.     }
  271.     public function getDaysOffTypeOld(): ?string
  272.     {
  273.         return $this->daysOffTypeOld;
  274.     }
  275.     public function setDaysOffTypeOld(?string $daysOffTypeOld): self
  276.     {
  277.         $this->daysOffTypeOld $daysOffTypeOld;
  278.         return $this;
  279.     }
  280.     public function getDaysOffTypeNew(): ?string
  281.     {
  282.         return $this->daysOffTypeNew;
  283.     }
  284.     public function setDaysOffTypeNew(?string $daysOffTypeNew): self
  285.     {
  286.         $this->daysOffTypeNew $daysOffTypeNew;
  287.         return $this;
  288.     }
  289.     public function getAffinityGroupsOld(): ?bool
  290.     {
  291.         return $this->affinityGroupsOld;
  292.     }
  293.     public function setAffinityGroupsOld(?bool $affinityGroupsOld): self
  294.     {
  295.         $this->affinityGroupsOld $affinityGroupsOld;
  296.         return $this;
  297.     }
  298.     public function getAffinityGroupsNew(): ?bool
  299.     {
  300.         return $this->affinityGroupsNew;
  301.     }
  302.     public function setAffinityGroupsNew(?bool $affinityGroupsNew): self
  303.     {
  304.         $this->affinityGroupsNew $affinityGroupsNew;
  305.         return $this;
  306.     }
  307.     public function getAffinityGroupsChampionOld(): ?bool
  308.     {
  309.         return $this->affinityGroupsChampionOld;
  310.     }
  311.     public function setAffinityGroupsChampionOld(?bool $affinityGroupsChampionOld): self
  312.     {
  313.         $this->affinityGroupsChampionOld $affinityGroupsChampionOld;
  314.         return $this;
  315.     }
  316.     public function getAffinityGroupsChampionNew(): ?bool
  317.     {
  318.         return $this->affinityGroupsChampionNew;
  319.     }
  320.     public function setAffinityGroupsChampionNew(?bool $affinityGroupsChampionNew): self
  321.     {
  322.         $this->affinityGroupsChampionNew $affinityGroupsChampionNew;
  323.         return $this;
  324.     }
  325.     public function getPublished(): ?bool
  326.     {
  327.         return $this->published;
  328.     }
  329.     public function setPublished(bool $published): self
  330.     {
  331.         $this->published $published;
  332.         return $this;
  333.     }
  334. }