<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use App\Crud\Entity\crudTreeLevelEntity;
/**
* NmclDominioLocalizacion
*
* @ORM\Table(name="nmcl_dominio_localizacion", uniqueConstraints={@ORM\UniqueConstraint(name="nmcl_dominio_localizacion_uk_valor_padre", columns={"valor", "dominioPadre"})})
* @ORM\Entity(repositoryClass="App\Crud\Repository\crudTreeRepository")
*/
class NmclDominioLocalizacion extends crudTreeLevelEntity
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="nmcl_dominio_localizacion_id_seq", allocationSize=1, initialValue=1)
*/
private $id;
/**
* @var \App\Entity\NmclNivelLocalizacion
*
* @ORM\ManyToOne(targetEntity="App\Entity\NmclNivelLocalizacion")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="nivel_localizacion", referencedColumnName="id")
* })
*/
private $nivelLocalizacion;
/**
* @var \App\Entity\NmclDominioLocalizacion
*
* @ORM\ManyToOne(targetEntity="App\Entity\NmclDominioLocalizacion")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="padre", referencedColumnName="id")
* })
*/
private $dominioPadre;
/**
* @var string
*
* @ORM\Column(name="valor", type="string", length=255, nullable=false)
*/
private $valor;
/**
* Constructor
*/
public function __construct()
{
$this->subDominios = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Set valor
*
* @param string $valor
* @return NmclDominioLocalizacion
*/
public function setValor($valor)
{
$this->valor = $valor;
return $this;
}
/**
* Get valor
*
* @return string
*/
public function getValor()
{
return $this->valor;
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set nivelLocalizacion
*
* @param \App\Entity\NmclNivelLocalizacion $nmclNivelLocalizacion
*/
public function setNivelLocalizacion(\App\Entity\NmclNivelLocalizacion $nivelLocalizacion = null)
{
$this->nivelLocalizacion = $nivelLocalizacion;
}
/**
* Get nivelLocalizacion
*
* @return \App\Entity\NmclNivelLocalizacion
*/
public function getNivelLocalizacion()
{
return $this->nivelLocalizacion;
}
/**
* Set dominioPadre
*
* @param \App\Entity\NmclDominioLocalizacion $dominioPadre
*/
public function setDominioPadre(\App\Entity\NmclDominioLocalizacion $dominioPadre = null)
{
$this->dominioPadre = $dominioPadre;
}
/**
* Get dominioPadre
*
* @return \App\Entity\NmclDominioLocalizacion
*/
public function getDominioPadre()
{
return $this->dominioPadre;
}
public function __toString()
{
return $this->valor;
}
public function getTreeLevel()
{
return $this->nivelLocalizacion;
}
public function setTreeLevel($aLevel)
{
return $this->setNivelLocalizacion($aLevel);
}
public static function getTreeLevelFieldName()
{
return 'nivelLocalizacion';
}
public function getTreeParent()
{
return $this->dominioPadre;
}
public function setTreeParent($aParent)
{
$this->setDominioPadre($aParent);
}
public static function getTreeParentFieldName()
{
return 'dominioPadre';
}
/*
public function createRedirectOnSuccess(\Doctrine\ORM\EntityManager $em, \Symfony\Component\HttpFoundation\Request $request, $routeClassName)
{
if ($request->get('btn_do_and_create'))
return array('ruta' => 'crud_tree_level_new',
'params' => array('routeClassName' => $routeClassName,
'root_id' => $this->getTreeLevel()->getRootTree()->getId(),
'padre_id' => $this->getTreeParent()->getId()));
else
if ($request->get('btn_do_and_show'))
return array('ruta' => 'crud_tree_level_show',
'params' => array('id' => $this->getId(),
'routeClassName' => $routeClassName));
else
return array('ruta' => 'crud_index',
'params' => array('routeClassName' => $routeClassName));
}
public function deleteRedirectOnSuccess(\Doctrine\ORM\EntityManager $em, \Symfony\Component\HttpFoundation\Request $request, $routeClassName)
{
return array('ruta' => 'crud_plain_show',
'params' => array('routeClassName' => 'adminlocalizacion',
'id' => $this->getNivelLocalizacion()->getLocalizacion()->getId(),
'tab'=>1));
}
public function updateRedirectOnSuccess(\Doctrine\ORM\EntityManager $em, \Symfony\Component\HttpFoundation\Request $request, $routeClassName)
{
if ($request->get('btn_do_and_show'))
return array('ruta' => 'crud_show',
'params' => array('id' => $this->getId(),
'routeClassName' => $routeClassName));
else return array('ruta' => 'crud_plain_show',
'params' => array('routeClassName' => 'adminlocalizacion',
'id' => $this->getNivelLocalizacion()->getLocalizacion()->getId(),
'tab'=>1));
}
public static function backToList($routeClassName, $em, $id, $filterData)
{
if ($id)
{
$entity = $em->getRepository('App\\Entity\\NmclDominioLocalizacion')->find($id);
return array('ruta' => 'crud_plain_show',
'params' => array('routeClassName' => 'adminlocalizacion',
'id'=>$entity->getNivelLocalizacion()->getLocalizacion()->getId(),
'tab'=>1));
}
else
if ($filterData && isset($filterData['root']))
return array('ruta' => 'crud_plain_show',
'params' => array('routeClassName' => 'adminlocalizacion',
'id'=>$filterData['root']));
else
return parent::backToList($routeClassName, $em, $id, $filterData);
}
*/
public function jerarquia()
{
$txt = '';
$nodo = $this;
while ($nodo)
{
$txt = '('.$nodo->getNivelLocalizacion()->getNombre().' - '.$nodo->getValor().')'.$txt;
$nodo = $nodo->getDominioPadre();
}
$txt = '('.$this->getNivelLocalizacion()->getLocalizacion()->getNombre().')'.$txt;
return $txt;
}
}