src/Entity/ElExamTranslation.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Annotation\EsUploadable;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use App\Repository\ElExamTranslationRepository;
  6. use App\Entity\Interfaces\UploadMappedInterface;
  7. use Symfony\Component\Serializer\Annotation\Groups;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. use Locastic\ApiPlatformTranslationBundle\Model\AbstractTranslation;
  10. use Locastic\ApiPlatformTranslationBundle\Model\TranslatableInterface;
  11. /**
  12.  * @ORM\Entity(repositoryClass=ElExamTranslationRepository::class)
  13.  */
  14. class ElExamTranslation extends AbstractTranslation implements UploadMappedInterface
  15. {
  16.     /**
  17.      * @ORM\ManyToOne(targetEntity="ElExam", inversedBy="translations")
  18.      * @ORM\JoinColumn(onDelete="CASCADE")
  19.      * @Groups({"ElExam:Write", "ElExamTranslationGroup"})
  20.      */
  21.     protected $translatable null;
  22.     /**
  23.      * @ORM\Column(type="string", length=16)
  24.      * @Groups({"ElExam:Write", "ElExamTranslationGroup"})
  25.      *
  26.      * @Assert\NotBlank(message="validation.elExamTranslation:locale.notBlank")
  27.      */
  28.     protected $locale null;
  29.     /**
  30.      * @ORM\Id
  31.      * @ORM\GeneratedValue
  32.      * @ORM\Column(type="integer")
  33.      */
  34.     private $id;
  35.     /**
  36.      * @ORM\Column(type="string", length=255)
  37.      * @Groups({"ElExam:Read", "ElExam:Write", "ElExamTranslationGroup", "ElCourse:Read", "ElLession:Read", "ElLessionTopic:Read", "ElTask:Read"})
  38.      *
  39.      * @Assert\NotBlank(message="validation.elExamTranslation:title.notBlank")
  40.      */
  41.     private $title;
  42.     /**
  43.      * @ORM\Column(type="text", nullable=true)
  44.      * @Groups({"ElExam:Read", "ElExam:Write", "ElExamTranslationGroup"})
  45.      */
  46.     private $description;
  47.     /**
  48.      * @ORM\Column(type="text", nullable=true)
  49.      * @Groups({"ElExam:Read", "ElExam:Write", "ElExamTranslationGroup"})
  50.      */
  51.     private $instruction;
  52.     /**
  53.      * @ORM\Column(type="string", length=255, nullable=true)
  54.      * @Groups({"ElExam:Read-Solution", "ElExam:Write", "ElExamTranslationGroup"})
  55.      * @EsUploadable()
  56.      */
  57.     protected $uploadVideo;
  58.     /**
  59.      * @ORM\ManyToOne(targetEntity=Session::class)
  60.      * @ORM\JoinColumn(nullable=true, onDelete="SET NULL")
  61.      * @Groups({"ElExam:Read-Solution", "ElExam:Write", "ElExamTranslationGroup"})
  62.      */
  63.     private $session;
  64.     /**
  65.      * @ORM\Column(type="text", nullable=true)
  66.      * @Groups({"ElExam:Read-Solution", "ElExam:Write", "ElExamTranslationGroup"})
  67.      */
  68.     private $solutionDescription;
  69.     public function __construct($locale null)
  70.     {
  71.         $this->setLocale($locale ?? $locale);
  72.     }
  73.     public function getCopy()
  74.     {
  75.         $nt = new self($this->locale);
  76.         $nt
  77.             ->setTitle($this->title)
  78.             ->setDescription($this->description)
  79.             ->setInstruction($this->instruction)
  80.             ->setUploadVideo($this->uploadVideo)
  81.             ->setSession($this->session)
  82.             ->setSolutionDescription($this->solutionDescription)
  83.         ;
  84.         return $nt;
  85.     }
  86.     public function getId(): ?int
  87.     {
  88.         return $this->id;
  89.     }
  90.     public function getTitle(): ?string
  91.     {
  92.         return $this->title;
  93.     }
  94.     public function setTitle(string $title): self
  95.     {
  96.         $this->title $title;
  97.         return $this;
  98.     }
  99.     public function getDescription(): ?string
  100.     {
  101.         return $this->description;
  102.     }
  103.     public function setDescription(?string $description): self
  104.     {
  105.         $this->description $description;
  106.         return $this;
  107.     }
  108.     public function getInstruction(): ?string
  109.     {
  110.         return $this->instruction;
  111.     }
  112.     public function setInstruction(?string $instruction): self
  113.     {
  114.         $this->instruction $instruction;
  115.         return $this;
  116.     }
  117.     public function getUploadVideo(): ?string
  118.     {
  119.         return $this->uploadVideo;
  120.     }
  121.     public function setUploadVideo(?string $uploadVideo): self
  122.     {
  123.         $this->uploadVideo $uploadVideo;
  124.         return $this;
  125.     }
  126.     public function getSession(): ?Session
  127.     {
  128.         return $this->session;
  129.     }
  130.     public function setSession(?Session $session): self
  131.     {
  132.         $this->session $session;
  133.         return $this;
  134.     }
  135.     public function getSolutionDescription(): ?string
  136.     {
  137.         return $this->solutionDescription;
  138.     }
  139.     public function setSolutionDescription(?string $solutionDescription): self
  140.     {
  141.         $this->solutionDescription $solutionDescription;
  142.         return $this;
  143.     }
  144. }