src/Entity/Project.php line 13

Open in your IDE?
  1. <?php
  2.     
  3.     namespace App\Entity;
  4.     
  5.     use App\Repository\ProjectRepository;
  6.     use App\Traits\DateTrait;
  7.     use DateTimeInterface;
  8.     use Doctrine\ORM\Mapping as ORM;
  9.     /**
  10.      * @ORM\Entity(repositoryClass=ProjectRepository::class)
  11.      */
  12.     class Project
  13.     {
  14.         /**
  15.          * @ORM\Id
  16.          * @ORM\GeneratedValue
  17.          * @ORM\Column(type="integer")
  18.          */
  19.         private $id;
  20.         
  21.         /**
  22.          * @ORM\Column(type="string", length=255)
  23.          */
  24.         private $name;
  25. //        /**
  26. //         * @ORM\Column(type="string", length=255, nullable=true)
  27. //         */
  28. //        private $customer;
  29.         
  30.         /**
  31.          * @ORM\Column(type="string", length=255, nullable=true)
  32.          */
  33.         private $url;
  34.         
  35.         /**
  36.          * @ORM\Column(type="string", length=255, nullable=true)
  37.          */
  38.         private $urlPreprod;
  39.         
  40.         /**
  41.          * @ORM\ManyToOne(targetEntity=User::class, inversedBy="projects")
  42.          */
  43.         private $referent;
  44.         
  45.         /**
  46.          * @ORM\Column(type="date", nullable=true)
  47.          */
  48.         private $dateStart;
  49.         
  50.         /**
  51.          * @ORM\Column(type="date", nullable=true)
  52.          */
  53.         private $dateEnd;
  54.         
  55.         /**
  56.          * @ORM\Column(type="boolean", nullable=true)
  57.          */
  58.         private $enabled;
  59.         
  60.         /**
  61.          * @ORM\Column(type="string", length=255, nullable=true)
  62.          */
  63.         private $urlLocal;
  64.         
  65.         /**
  66.          * @ORM\Column(type="string", length=32, nullable=true)
  67.          */
  68.         private $module;
  69.         
  70.         /**
  71.          * @ORM\Column(type="boolean", nullable=true, options={"default": false})
  72.          */
  73.         private $viewOnly FALSE;
  74.         
  75.         /**
  76.          * @ORM\Column(type="datetime", nullable=true)
  77.          */
  78.         private $catalogueLastUpdate;
  79.         
  80.         
  81.         use DateTrait;
  82.         
  83.         
  84.         /******************** START VIRTUAL *************************/
  85.         /**
  86.          * Cet argument est virtuel et ne sert qu'à développetesventes
  87.          */
  88.         private $current;
  89.         
  90.         private $env;
  91.         
  92.         
  93.         /******************** END VIRTUAL *************************/
  94.         
  95.         
  96.         public function getEnv(): ?string
  97.         {
  98.             switch ( $this->getCurrent() ) {
  99.                 case $this->getUrl():
  100.                     $this->env 'prod';
  101.                     break;
  102.                 case $this->getUrlPreprod():
  103.                     $this->env 'preprod';
  104.                     break;
  105.                 case $this->getUrlLocal():
  106.                     $this->env 'local';
  107.                     break;
  108.             }
  109.             return $this->env;
  110.         }
  111.         
  112.         
  113.         /**
  114.          * @return mixed
  115.          */
  116.         public function getCurrent()
  117.         {
  118.             return $this->current;
  119.         }
  120.         
  121.         
  122.         public function setCurrent$current ): void
  123.         {
  124.             $this->current $current;
  125.         }
  126.         
  127.         
  128.         public function getUrl(): ?string
  129.         {
  130.             return $this->url;
  131.         }
  132.         
  133.         
  134.         public function setUrl( ?string $url ): self
  135.         {
  136.             $this->url $url;
  137.             
  138.             return $this;
  139.         }
  140.         
  141.         
  142.         public function getUrlPreprod(): ?string
  143.         {
  144.             return $this->urlPreprod;
  145.         }
  146.         
  147.         
  148.         public function setUrlPreprod( ?string $urlPreprod ): self
  149.         {
  150.             $this->urlPreprod $urlPreprod;
  151.             
  152.             return $this;
  153.         }
  154.         
  155.         
  156.         public function getUrlLocal(): ?string
  157.         {
  158.             return $this->urlLocal;
  159.         }
  160.         
  161.         
  162.         public function setUrlLocal( ?string $urlLocal ): self
  163.         {
  164.             $this->urlLocal $urlLocal;
  165.             
  166.             return $this;
  167.         }
  168.         
  169.         
  170.         /**
  171.          * Alias nécessaire
  172.          *
  173.          * @return string|null
  174.          */
  175.         public function getUrlDev(): ?string
  176.         {
  177.             return $this->urlLocal;
  178.         }
  179.         
  180.         
  181.         /**
  182.          * Alias nécessaire
  183.          *
  184.          * @return string|null
  185.          */
  186.         public function getUrlProd(): ?string
  187.         {
  188.             return $this->url;
  189.         }
  190.         
  191.         
  192.         public function getId(): int
  193.         {
  194.             return $this->id;
  195.         }
  196.         
  197.         
  198.         public function getName(): string
  199.         {
  200.             return $this->name;
  201.         }
  202.         
  203.         
  204.         public function setNamestring $name ): self
  205.         {
  206.             $this->name $name;
  207.             
  208.             return $this;
  209.         }
  210. //        public function getCustomer(): ?string
  211. //        {
  212. //            return $this->customer;
  213. //        }
  214. //
  215. //
  216. //        public function setCustomer(?string $customer): self
  217. //        {
  218. //            $this->customer = $customer;
  219. //
  220. //            return $this;
  221. //        }
  222.         
  223.         
  224.         public function getReferent(): ?User
  225.         {
  226.             return $this->referent;
  227.         }
  228.         
  229.         
  230.         public function setReferent( ?User $referent ): self
  231.         {
  232.             $this->referent $referent;
  233.             
  234.             return $this;
  235.         }
  236.         
  237.         
  238.         public function getDateStart(): ?DateTimeInterface
  239.         {
  240.             return $this->dateStart;
  241.         }
  242.         
  243.         
  244.         public function setDateStart( ?DateTimeInterface $dateStart ): self
  245.         {
  246.             $this->dateStart $dateStart;
  247.             
  248.             return $this;
  249.         }
  250.         
  251.         
  252.         public function getDateEnd(): ?DateTimeInterface
  253.         {
  254.             return $this->dateEnd;
  255.         }
  256.         
  257.         
  258.         public function setDateEnd( ?DateTimeInterface $dateEnd ): self
  259.         {
  260.             $this->dateEnd $dateEnd;
  261.             
  262.             return $this;
  263.         }
  264.         
  265.         
  266.         public function getEnabled(): ?bool
  267.         {
  268.             return $this->enabled;
  269.         }
  270.         
  271.         
  272.         public function setEnabled( ?bool $enabled ): self
  273.         {
  274.             $this->enabled $enabled;
  275.             
  276.             return $this;
  277.         }
  278.         
  279.         
  280.         public function getModule(): ?string
  281.         {
  282.             return $this->module;
  283.         }
  284.         
  285.         
  286.         public function setModule( ?string $module ): self
  287.         {
  288.             $this->module $module;
  289.             
  290.             return $this;
  291.         }
  292.         
  293.         
  294.         public function isViewOnly(): ?bool
  295.         {
  296.             return $this->viewOnly === TRUE;
  297.         }
  298.         
  299.         
  300.         public function setViewOnlybool $viewOnly ): self
  301.         {
  302.             $this->viewOnly $viewOnly;
  303.             
  304.             return $this;
  305.         }
  306.         
  307.         
  308.         public function getCatalogueLastUpdate(): ?DateTimeInterface
  309.         {
  310.             return $this->catalogueLastUpdate;
  311.         }
  312.         
  313.         
  314.         public function setCatalogueLastUpdate( ?DateTimeInterface $catalogueLastUpdate ): self
  315.         {
  316.             $this->catalogueLastUpdate $catalogueLastUpdate;
  317.             
  318.             return $this;
  319.         }
  320.     }