src/Cms/Modules/NewsBundle/Entity/Article/ArticleProxy.php line 34

Open in your IDE?
  1. <?php
  2. namespace Cms\Modules\NewsBundle\Entity\Article;
  3. use Cms\CoreBundle\Util\DateTimeUtils;
  4. use Cms\ModuleBundle\Entity\Proxy;
  5. use Cms\ModuleBundle\Model\Interfaces\Shareable\ShareableInterface;
  6. use Cms\ModuleBundle\Model\Interfaces\Shareable\ShareableTrait;
  7. use Cms\Modules\NewsBundle\Model\Article\ArticleData;
  8. use Doctrine\Common\Collections\ArrayCollection;
  9. use Doctrine\ORM\Mapping as ORM;
  10. use Cms\ImportBundle\Model\Interfaces\Importable\ImportableInterface;
  11. use Cms\ImportBundle\Model\Interfaces\Importable\ImportableTrait;
  12. /**
  13.  * Class ArticleProxy
  14.  * @package Cms\Modules\NewsBundle\Entity\Article
  15.  *
  16.  * @property ArticleData $data
  17.  * @property ArrayCollection|ArticleHistory[] $histories
  18.  * @property ArticleHistory $history
  19.  * @property ArrayCollection|ArticleDraft[] $drafts
  20.  *
  21.  * @method ArticleData getData()
  22.  * @method ArrayCollection|ArticleHistory[] getHistories()
  23.  * @method ArticleHistory getHistory()
  24.  * @method ArticleDraft getDraft()
  25.  * @method ArrayCollection|ArticleDraft[] getDrafts()
  26.  * @method ArticleProxy setData(ArticleData $value)
  27.  * @method ArticleProxy setHistory(ArticleHistory $value)
  28.  *
  29.  * @ORM\Entity
  30.  */
  31. class ArticleProxy extends Proxy implements ShareableInterfaceImportableInterface
  32. {
  33.     const TYPE 'Article';
  34.     const LOCKABLE_TYPE 'news';
  35.     use ArticleDataTraitShareableTraitImportableTrait;
  36.     /**
  37.      * {@inheritDoc}
  38.      */
  39.     public function isJumpable()
  40.     {
  41.         return (parent::isJumpable() && empty($this->getData()->getExternalLink()) && $this->getData()->getTimestamp() <= DateTimeUtils::now());
  42.     }
  43. }