src_legacy/Tionvel/WorkflowBundle/Entity/WorkflowAssignee.php line 21

Open in your IDE?
  1. <?php
  2. namespace Tionvel\WorkflowBundle\Entity;
  3. use App\Entity\User;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Symfony\Component\Security\Core\User\UserInterface;
  6. /**
  7.  * Class WorkflowAssignee
  8.  * @package Tionvel\WorkflowBundle\Entity
  9.  * @ORM\Entity()
  10.  * @ORM\Table(
  11.  *     name="workflow_assignee",
  12.  *     indexes={
  13.  *         @ORM\Index(name="idx_was_state_user", columns={"state_id", "user_id"}),
  14.  *         @ORM\Index(name="idx_was_state_name", columns={"state_id", "name"})
  15.  *     }
  16.  * )
  17.  */
  18. class WorkflowAssignee
  19. {
  20.     /**
  21.      * @var int
  22.      * @ORM\Id @ORM\Column(type="integer")
  23.      * @ORM\GeneratedValue(strategy="AUTO")
  24.      */
  25.     private $id;
  26.     /**
  27.      * @var User
  28.      * @ORM\ManyToOne(targetEntity="App\Entity\User")
  29.      * @ORM\JoinColumn(onDelete="CASCADE")
  30.      */
  31.     private $user;
  32.     /**
  33.      * @var string
  34.      * @ORM\Column(type="string")
  35.      */
  36.     private $name;
  37.     /**
  38.      * @var WorkflowState
  39.      * @ORM\ManyToOne(
  40.      *     targetEntity="Tionvel\WorkflowBundle\Entity\WorkflowState", inversedBy="assignees"
  41.      * )
  42.      * @ORM\JoinColumn(
  43.      *     onDelete="CASCADE"
  44.      * )
  45.      */
  46.     private $state;
  47.     /**
  48.      * @param User $user
  49.      * @param $name
  50.      * @return WorkflowAssignee
  51.      */
  52.     public static function create(User $user$name)
  53.     {
  54.         $self = new self;
  55.         $self->setUser($user);
  56.         $self->setName($name);
  57.         return $self;
  58.     }
  59.     /**
  60.      * @return int
  61.      */
  62.     public function getId()
  63.     {
  64.         return $this->id;
  65.     }
  66.     /**
  67.      * @return User
  68.      */
  69.     public function getUser()
  70.     {
  71.         return $this->user;
  72.     }
  73.     /**
  74.      * @param User $user
  75.      */
  76.     public function setUser(User $user)
  77.     {
  78.         $this->user $user;
  79.     }
  80.     /**
  81.      * @param User $user
  82.      * @return bool
  83.      */
  84.     public function isUser(UserInterface $user)
  85.     {
  86.         return $this->user === $user;
  87.     }
  88.     /**
  89.      * @return string
  90.      */
  91.     public function getName()
  92.     {
  93.         return $this->name;
  94.     }
  95.     /**
  96.      * @param string $name
  97.      */
  98.     public function setName(string $name)
  99.     {
  100.         $this->name $name;
  101.     }
  102.     /**
  103.      * @param $type
  104.      * @return bool
  105.      */
  106.     public function isType($type)
  107.     {
  108.         return $type === $this->name;
  109.     }
  110.     /**
  111.      * @return WorkflowState
  112.      */
  113.     public function getState()
  114.     {
  115.         return $this->state;
  116.     }
  117.     /**
  118.      * @param WorkflowState $state
  119.      */
  120.     public function setState(WorkflowState $state)
  121.     {
  122.         $this->state $state;
  123.     }
  124. }