src/Entity/Department.php line 34

Open in your IDE?
  1. <?php
  2. /**
  3.  * Product class represents model of Department entity
  4.  *
  5.  * $Project: Alliancemarkets2 $
  6.  * $Id$
  7.  *
  8.  * @package alliancemarkets2
  9.  * @author George Matyas <webexciter@yahoo.com>
  10.  * @version $Revision$
  11.  */
  12. namespace App\Entity;
  13. use Doctrine\Common\Collections\ArrayCollection;
  14. use Doctrine\Common\Collections\Collection;
  15. use Doctrine\DBAL\Types\Types;
  16. use Doctrine\ORM\Mapping as ORM;
  17. use Gedmo\Mapping\Annotation as Gedmo;
  18. use Gedmo\Translatable\Translatable;
  19. /**
  20.  * 
  21.  * 
  22.  * 
  23.  * @ORM\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
  24.  * @ORM\Table(name="department")
  25.  * @Gedmo\TranslationEntity(class="App\Entity\DepartmentTranslation")
  26.  * @Gedmo\Tree(type="nested")
  27.  * 
  28.  * Doctrine\ORM\Mapping\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
  29.  * 
  30.  */
  31. class Department implements Translatable
  32. {
  33.     /**
  34.      * @ORM\Column(type="integer")
  35.      * @ORM\Id
  36.      * @ORM\GeneratedValue(strategy="AUTO")
  37.      */ 
  38.     private $departmentId=0;
  39.     /**
  40.      * @ORM\Column(type="string", length=255, nullable=true)
  41.      */
  42.     protected $departmentKey;
  43.     
  44.     /**
  45.      * @Gedmo\Translatable
  46.      * @ORM\Column(type="string", length=100, nullable=true)
  47.      */
  48.     protected $departmentName;
  49.     /**
  50.      * @Gedmo\Translatable
  51.      * @ORM\Column(type="text", nullable=true)
  52.      */
  53.     protected $departmentDescription;    
  54.     
  55.     /**
  56.      * Post locale
  57.      * Used locale to override Translation listener's locale
  58.      *
  59.      * @Gedmo\Locale
  60.      *
  61.      */
  62.     protected $locale;
  63.     
  64.     /**
  65.      * Assert\Image( maxSize = "3072k", mimeTypesMessage = "Please upload a valid Image")
  66.      *
  67.      * @ORM\Column(type="string", length=255, nullable=true)
  68.      */
  69.     protected $image1;    
  70.     /**
  71.      * @Gedmo\TreeRoot
  72.      * @ORM\ManyToOne(targetEntity="Department")
  73.      * @ORM\JoinColumn(referencedColumnName="department_id", onDelete="CASCADE")
  74.      */
  75.     protected $root;    
  76.     
  77.     /**
  78.      * @Gedmo\TreeParent
  79.      * @ORM\ManyToOne(targetEntity="Department", inversedBy="children")
  80.      * @ORM\JoinColumn(name="parent_id", referencedColumnName="department_id", onDelete="SET NULL")    
  81.      */    
  82.     protected $parent
  83.     /**
  84.      * @ORM\OneToMany(targetEntity="Department", mappedBy="parent")
  85.      * @ORM\OrderBy({"lft" = "ASC"})
  86.      */    
  87.     protected $children;    
  88.     /**
  89.      * @Gedmo\TreeLeft
  90.      * @Doctrine\ORM\Mapping\Column(type="integer", nullable=true)
  91.      */
  92.     protected $lft
  93.     
  94.     /**
  95.      * @Gedmo\TreeLevel
  96.      * @ORM\Column(name="lvl", type="integer")
  97.      */
  98.     protected $lvl;    
  99.     
  100.     /**
  101.      * @Gedmo\TreeRight
  102.      * @Doctrine\ORM\Mapping\Column(type="integer", nullable=true)
  103.      */
  104.     protected $rgt;     
  105.     /**
  106.      * Constructor
  107.      */
  108.     public function __construct()
  109.     {
  110.         $this->children = new \Doctrine\Common\Collections\ArrayCollection();
  111.     }
  112.     /**
  113.      * Get departmentId
  114.      *
  115.      * @return integer
  116.      */
  117.     public function getDepartmentId()
  118.     {
  119.         return $this->departmentId;
  120.     }
  121.     /**
  122.      * Set departmentKey
  123.      *
  124.      * @param string $departmentKey
  125.      *
  126.      * @return Department
  127.      */
  128.     public function setDepartmentKey($departmentKey)
  129.     {
  130.         $this->departmentKey $departmentKey;
  131.         return $this;
  132.     }
  133.     /**
  134.      * Get departmentKey
  135.      *
  136.      * @return string
  137.      */
  138.     public function getDepartmentKey()
  139.     {
  140.         return $this->departmentKey;
  141.     }
  142.     /**
  143.      * Set departmentName
  144.      *
  145.      * @param string $departmentName
  146.      *
  147.      * @return Department
  148.      */
  149.     public function setDepartmentName($departmentName)
  150.     {
  151.         $this->departmentName $departmentName;
  152.         return $this;
  153.     }
  154.     /**
  155.      * Get departmentName
  156.      *
  157.      * @return string
  158.      */
  159.     public function getDepartmentName()
  160.     {
  161.         return $this->departmentName;
  162.     }
  163.     /**
  164.      * Set departmentDescription
  165.      *
  166.      * @param string $departmentDescription
  167.      *
  168.      * @return Department
  169.      */
  170.     public function setDepartmentDescription($departmentDescription)
  171.     {
  172.         $this->departmentDescription $departmentDescription;
  173.         return $this;
  174.     }
  175.     /**
  176.      * Get departmentDescription
  177.      *
  178.      * @return string
  179.      */
  180.     public function getDepartmentDescription()
  181.     {
  182.         return $this->departmentDescription;
  183.     }
  184.     /**
  185.      * Set image1
  186.      *
  187.      * @param string $image1
  188.      *
  189.      * @return Department
  190.      */
  191.     public function setImage1($image1)
  192.     {
  193.         $this->image1 $image1;
  194.         return $this;
  195.     }
  196.     /**
  197.      * Get image1
  198.      *
  199.      * @return string
  200.      */
  201.     public function getImage1()
  202.     {
  203.         return $this->image1;
  204.     }
  205.     /**
  206.      * Set lft
  207.      *
  208.      * @param integer $lft
  209.      *
  210.      * @return Department
  211.      */
  212.     public function setLft($lft)
  213.     {
  214.         $this->lft $lft;
  215.         return $this;
  216.     }
  217.     /**
  218.      * Get lft
  219.      *
  220.      * @return integer
  221.      */
  222.     public function getLft()
  223.     {
  224.         return $this->lft;
  225.     }
  226.     /**
  227.      * Set lvl
  228.      *
  229.      * @param integer $lvl
  230.      *
  231.      * @return Department
  232.      */
  233.     public function setLvl($lvl)
  234.     {
  235.         $this->lvl $lvl;
  236.         return $this;
  237.     }
  238.     /**
  239.      * Get lvl
  240.      *
  241.      * @return integer
  242.      */
  243.     public function getLvl()
  244.     {
  245.         return $this->lvl;
  246.     }
  247.     /**
  248.      * Set rgt
  249.      *
  250.      * @param integer $rgt
  251.      *
  252.      * @return Department
  253.      */
  254.     public function setRgt($rgt)
  255.     {
  256.         $this->rgt $rgt;
  257.         return $this;
  258.     }
  259.     /**
  260.      * Get rgt
  261.      *
  262.      * @return integer
  263.      */
  264.     public function getRgt()
  265.     {
  266.         return $this->rgt;
  267.     }
  268.     /**
  269.      * Set root
  270.      *
  271.      * @param \App\Entity\Department $root
  272.      *
  273.      * @return Department
  274.      */
  275.     public function setRoot(\App\Entity\Department $root null)
  276.     {
  277.         $this->root $root;
  278.         return $this;
  279.     }
  280.     /**
  281.      * Get root
  282.      *
  283.      * @return \App\Entity\Department
  284.      */
  285.     public function getRoot()
  286.     {
  287.         return $this->root;
  288.     }
  289.     /**
  290.      * Set parent
  291.      *
  292.      * @param \App\Entity\Department $parent
  293.      *
  294.      * @return Department
  295.      */
  296.     public function setParent(\App\Entity\Department $parent null)
  297.     {
  298.         $this->parent $parent;
  299.         return $this;
  300.     }
  301.     /**
  302.      * Get parent
  303.      *
  304.      * @return \App\Entity\Department
  305.      */
  306.     public function getParent()
  307.     {
  308.         return $this->parent;
  309.     }
  310.     /**
  311.      * Add child
  312.      *
  313.      * @param \App\Entity\Department $child
  314.      *
  315.      * @return Department
  316.      */
  317.     public function addChild(\App\Entity\Department $child)
  318.     {
  319.         $this->children[] = $child;
  320.         return $this;
  321.     }
  322.     /**
  323.      * Remove child
  324.      *
  325.      * @param \App\Entity\Department $child
  326.      */
  327.     public function removeChild(\App\Entity\Department $child)
  328.     {
  329.         $this->children->removeElement($child);
  330.     }
  331.     /**
  332.      * Get children
  333.      *
  334.      * @return \Doctrine\Common\Collections\Collection
  335.      */
  336.     public function getChildren()
  337.     {
  338.         return $this->children;
  339.     }
  340.     /**
  341.      * Set locale
  342.      *
  343.      * @param string $locale
  344.      *
  345.      * @return Product
  346.      */
  347.     public function setLocale($locale)
  348.     {
  349.         $this->locale $locale;
  350.     
  351.         return $this;
  352.     }
  353.     
  354.     /**
  355.      * Get locale
  356.      *
  357.      * @return string
  358.      */
  359.     public function getLocale()
  360.     {
  361.         return $this->locale;
  362.     }      
  363. }