src/Entity/Jurisprudence.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Repository\JurisprudenceRepository;
  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. use Vich\UploaderBundle\Entity\File;
  9. use Vich\UploaderBundle\Mapping\Annotation as Vich;
  10. /**
  11.  * @ORM\Entity(repositoryClass=JurisprudenceRepository::class)
  12.  * @Vich\Uploadable
  13.  */
  14. class Jurisprudence
  15. {
  16.     const QUALITY_NONE null;
  17.     const QUALITY_GOOD 'good';
  18.     const QUALITY_BAD 'bad';
  19.     /**
  20.      * @ORM\Id
  21.      * @ORM\GeneratedValue
  22.      * @ORM\Column(type="integer")
  23.      */
  24.     private $id;
  25.     /**
  26.      * @ORM\Column(type="boolean")
  27.      */
  28.     private bool $active false;
  29.     /**
  30.      * @ORM\ManyToOne(targetEntity=User::class)
  31.      * @ORM\JoinColumn(nullable=true)
  32.      */
  33.     private ?User $author;
  34.     /**
  35.      * @Assert\NotBlank
  36.      * @ORM\Column(type="string", length=255)
  37.      */
  38.     private string $name;
  39.     /**
  40.      * @Assert\NotBlank
  41.      * @ORM\Column(type="text")
  42.      */
  43.     private string $content;
  44.     /**
  45.      * @ORM\Column(type="datetime", nullable=true)
  46.      */
  47.     private ?\Datetime $createdAt;
  48.     /**
  49.      * @ORM\Column(type="datetime", nullable=true)
  50.      */
  51.     private ?\Datetime $updatedAt;
  52.     /**
  53.      * @Assert\NotNull
  54.      * @ORM\ManyToOne(targetEntity=JurisprudenceCategory::class)
  55.      * @ORM\JoinColumn(nullable=true)
  56.      */
  57.     private JurisprudenceCategory $category;
  58.     /**
  59.      * @ORM\Column(type="datetime", nullable=true)
  60.      */
  61.     private \DateTime $date;
  62.     /**
  63.      * @ORM\Column(type="string", length=255, nullable=true)
  64.      * @var string
  65.      */
  66.     private $pdf;
  67.     /**
  68.      * @Vich\UploadableField(mapping="juriprudences_pdf", fileNameProperty="pdf")
  69.      * @var File
  70.      */
  71.     private $pdfFile;
  72.     /**
  73.      * @ORM\Column(type="string", length=20, nullable=true)
  74.      * @var string
  75.      */
  76.     private $quality self::QUALITY_NONE;
  77.     /**
  78.      * @ORM\Column(type="string", length=255, nullable=true)
  79.      * @var string
  80.      */
  81.     private $justiceCourt;
  82.     /**
  83.      * @ORM\ManyToMany(targetEntity="App\Entity\Keywords", inversedBy="mentionsJp", cascade={"persist"})
  84.      * @ORM\JoinTable(name="jp_keywords")
  85.      * @ORM\OrderBy({"keyword" = "ASC"})
  86.      */
  87.     private $listekeywords;
  88.     /**
  89.      * @ORM\ManyToMany(targetEntity="App\Entity\Lexique", inversedBy="mentionsJp", cascade={"persist"})
  90.      * @ORM\JoinTable(name="jp_lexiques")
  91.      * @ORM\OrderBy({"word" = "ASC"})
  92.      */
  93.     private $listelexique;
  94.     public function __construct()
  95.     {
  96.         $this->createdAt = new \DateTime();
  97.         $this->updatedAt = new \DateTime();
  98.         $this->date = new \DateTime();
  99.         $this->listekeywords = new ArrayCollection();
  100.         $this->listelexique = new ArrayCollection();
  101.     }
  102.     public function getId(): ?int
  103.     {
  104.         return $this->id;
  105.     }
  106.     public function getName(): ?string
  107.     {
  108.         return $this->name;
  109.     }
  110.     public function setName(string $name): self
  111.     {
  112.         $this->name $name;
  113.         return $this;
  114.     }
  115.     public function getContent(): ?string
  116.     {
  117.         return $this->content;
  118.     }
  119.     public function setContent(string $content): self
  120.     {
  121.         $this->content $content;
  122.         return $this;
  123.     }
  124.     public function getCreatedAt(): ?\DateTimeInterface
  125.     {
  126.         return $this->createdAt;
  127.     }
  128.     public function setCreatedAt(?\DateTimeInterface $createdAt): self
  129.     {
  130.         $this->createdAt $createdAt;
  131.         return $this;
  132.     }
  133.     public function getCategory(): ?JurisprudenceCategory
  134.     {
  135.         return $this->category;
  136.     }
  137.     public function setCategory(JurisprudenceCategory $category): self
  138.     {
  139.         $this->category $category;
  140.         return $this;
  141.     }
  142.     public function getDate(): ?\DateTimeInterface
  143.     {
  144.         return $this->date;
  145.     }
  146.     public function setDate(\DateTimeInterface $date): self
  147.     {
  148.         $this->date $date;
  149.         return $this;
  150.     }
  151.     public function isActive(): bool
  152.     {
  153.         return $this->active;
  154.     }
  155.     public function setActive(bool $active): void
  156.     {
  157.         $this->active $active;
  158.     }
  159.     public function getAuthor(): ?User
  160.     {
  161.         return $this->author;
  162.     }
  163.     public function setAuthor(?User $author): void
  164.     {
  165.         $this->author $author;
  166.     }
  167.     public function getUpdatedAt(): ?\DateTime
  168.     {
  169.         return $this->updatedAt;
  170.     }
  171.     public function setUpdatedAt(?\DateTime $updatedAt): void
  172.     {
  173.         $this->updatedAt $updatedAt;
  174.     }
  175.     public function setPdfFile($pdf null)
  176.     {
  177.         $this->pdfFile $pdf;
  178.         // VERY IMPORTANT:
  179.         // It is required that at least one field changes if you are using Doctrine,
  180.         // otherwise the event listeners won't be called and the file is lost
  181.         if ($pdf) {
  182.             // if 'updatedAt' is not defined in your entity, use another property
  183.             $this->updatedAt = new \DateTime('now');
  184.         }
  185.     }
  186.     public function getPdfFile()
  187.     {
  188.         return $this->pdfFile;
  189.     }
  190.     public function setPdf($pdf)
  191.     {
  192.         // $pdf = str_replace(' ', '_', $pdf);
  193.         $this->pdf $pdf;
  194.     }
  195.     public function getPdf()
  196.     {
  197.         return $this->pdf;
  198.     }
  199.     public function getQuality(): ?string
  200.     {
  201.         return $this->quality;
  202.     }
  203.     public function setQuality(?string $quality): void
  204.     {
  205.         $this->quality $quality;
  206.     }
  207.     public function getJusticeCourt(): ?string
  208.     {
  209.         return $this->justiceCourt;
  210.     }
  211.     public function setJusticeCourt(?string $justiceCourt): void
  212.     {
  213.         $this->justiceCourt $justiceCourt;
  214.     }
  215.     public function getListelexique(): Collection
  216.     {
  217.         return $this->listelexique;
  218.     }
  219.     public function addListelexique(Lexique $lexique): self
  220.     {
  221.         if (!$this->listelexique->contains($lexique)) {
  222.             $this->listelexique[] = $lexique;
  223.         }
  224.         return $this;
  225.     }
  226.     public function removeListelexique(Lexique $lexique): self
  227.     {
  228.         $this->listelexique->removeElement($lexique);
  229.         return $this;
  230.     }
  231.     /**
  232.      * @return Collection<int, Keywords>
  233.      */
  234.     public function getListekeywords(): Collection
  235.     {
  236.         return $this->listekeywords;
  237.     }
  238.     public function addListekeyword(Keywords $listekeyword): self
  239.     {
  240.         if (!$this->listekeywords->contains($listekeyword)) {
  241.             $this->listekeywords[] = $listekeyword;
  242.         }
  243.         return $this;
  244.     }
  245.     public function removeListekeyword(Keywords $listekeyword): self
  246.     {
  247.         $this->listekeywords->removeElement($listekeyword);
  248.         return $this;
  249.     }
  250. }