LockableTrait.php 780 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: alex
  5. * Date: 13/05/16
  6. * Time: 15:38
  7. */
  8. namespace AppBundle\Entity\Traits;
  9. use Doctrine\ORM\Mapping as ORM;
  10. trait LockableTrait
  11. {
  12. /**
  13. * @var $lockable boolean
  14. * @Groups({"lockable"})
  15. */
  16. #[ORM\Column(type: 'boolean', options: ['default' => false])]
  17. private $lockable = false;
  18. /**
  19. * @return boolean
  20. */
  21. public function isLockable()
  22. {
  23. return $this->lockable;
  24. }
  25. /**
  26. * @param boolean $lockable
  27. * @return LockableTrait
  28. */
  29. public function setLockable($lockable)
  30. {
  31. $this->lockable = $lockable;
  32. return $this;
  33. }
  34. abstract public function applyLock();
  35. public function adminCanChange(){
  36. return true;
  37. }
  38. }