src/Entity/App/MaterialRecurso.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Entity\App;
  3. use App\Utils\CommonFunctions;
  4. use App\Utils\Traits\ActivoTrait;
  5. use App\Utils\Traits\PosicionTrait;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Gedmo\Timestampable\Traits\TimestampableEntity;
  8. use Symfony\Component\Validator\Constraints as Assert;
  9. /**
  10.  * MaterialRecurso
  11.  *
  12.  * @ORM\Table(name="material_recurso", indexes={@ORM\Index(name="IDX_NOMBRE", columns={"nombre"})})
  13.  * @ORM\Entity(repositoryClass="App\Repository\App\MaterialRecursoRepository")
  14.  */
  15. class MaterialRecurso
  16. {
  17.     /**
  18.      * @var integer|null
  19.      *
  20.      * @ORM\Column(name="id", type="integer")
  21.      * @ORM\Id
  22.      * @ORM\GeneratedValue
  23.      */
  24.     private $id;
  25.     /**
  26.      * @var string|null
  27.      *
  28.      * @ORM\Column(name="nombre", type="string", length=255)
  29.      * @Assert\NotBlank(message="El valor es requerido")
  30.      * @Assert\Length(
  31.      *      max = 255,
  32.      *      maxMessage = "La cantidad maxima es {{ limit }} caracteres"
  33.      * )
  34.      */
  35.     private $nombre;
  36.     /**
  37.      * @var string|null
  38.      *
  39.      * @ORM\Column(name="link", type="text")
  40.      * @Assert\NotBlank(message="El valor es requerido")
  41.      * @Assert\Length(
  42.      *      max = 1000,
  43.      *      maxMessage = "La cantidad maxima es {{ limit }} caracteres"
  44.      * )
  45.      */
  46.     private $link;
  47.     /**
  48.      * @var Categoria|null
  49.      *
  50.      * @ORM\ManyToOne(targetEntity="App\Entity\App\Categoria", inversedBy="materialesRecursos")
  51.      * @ORM\JoinColumn(name="categoria_id", referencedColumnName="id")
  52.      * @Assert\NotBlank(message="Categoria requerida")
  53.      */
  54.     private $categoria;
  55.     /**
  56.      * @var Grupo|null
  57.      *
  58.      * @ORM\ManyToOne(targetEntity="App\Entity\App\Grupo")
  59.      * @ORM\JoinColumn(name="grupo_id", referencedColumnName="id")
  60.      */
  61.     private $grupo;
  62.     use ActivoTrait;
  63.     use PosicionTrait;
  64.     use TimestampableEntity;
  65.     /**
  66.      * @return int|null
  67.      */
  68.     public function getId(): ?int
  69.     {
  70.         return $this->id;
  71.     }
  72.     /**
  73.      * @param int|null $id
  74.      */
  75.     public function setId(?int $id): void
  76.     {
  77.         $this->id $id;
  78.     }
  79.     /**
  80.      * @return string|null
  81.      */
  82.     public function getNombre(): ?string
  83.     {
  84.         return $this->nombre;
  85.     }
  86.     /**
  87.      * @param string|null $nombre
  88.      */
  89.     public function setNombre(?string $nombre): void
  90.     {
  91.         $this->nombre $nombre;
  92.     }
  93.     /**
  94.      * @return string|null
  95.      */
  96.     public function getLink(): ?string
  97.     {
  98.         return $this->link;
  99.     }
  100.     /**
  101.      * @param string|null $link
  102.      */
  103.     public function setLink(?string $link): void
  104.     {
  105.         $this->link $link;
  106.     }
  107.     /**
  108.      * @return Categoria|null
  109.      */
  110.     public function getCategoria(): ?Categoria
  111.     {
  112.         return $this->categoria;
  113.     }
  114.     /**
  115.      * @param Categoria|null $categoria
  116.      */
  117.     public function setCategoria(?Categoria $categoria): void
  118.     {
  119.         $this->categoria $categoria;
  120.     }
  121.     /**
  122.      * @return Grupo|null
  123.      */
  124.     public function getGrupo(): ?Grupo
  125.     {
  126.         return $this->grupo;
  127.     }
  128.     /**
  129.      * @param Grupo|null $grupo
  130.      */
  131.     public function setGrupo(?Grupo $grupo): void
  132.     {
  133.         $this->grupo $grupo;
  134.     }
  135.     public function getValidLink()
  136.     {
  137.         $baseUrl CommonFunctions::getParameterUrl('BASE_URL_DRUPAL'true);
  138.         return preg_replace('/^BASE_URL/'''preg_replace('/^BASE_URL\//'$baseUrl'BASE_URL' $this->getLink()));
  139.     }
  140.     public function __toString()
  141.     {
  142.         return $this->getNombre() ?: 'Nuevo material/recurso';
  143.     }
  144. }