<?php
namespace Cms\Modules\GalleryBundle\Entity\Gallery;
use Cms\CoreBundle\Util\DateTimeUtils;
use Cms\ImportBundle\Model\Interfaces\Importable\ImportableInterface;
use Cms\ImportBundle\Model\Interfaces\Importable\ImportableTrait;
use Cms\ModuleBundle\Entity\Proxy;
use Cms\ModuleBundle\Model\Interfaces\Shareable\ShareableInterface;
use Cms\ModuleBundle\Model\Interfaces\Shareable\ShareableTrait;
use Cms\Modules\GalleryBundle\Model\Gallery\GalleryData;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
/**
* Class GalleryProxy
* @package Cms\Modules\GalleryBundle\Entity\Gallery
*
* @property GalleryData $data
* @property ArrayCollection|GalleryHistory[] $histories
* @property GalleryHistory $history
* @property ArrayCollection|GalleryDraft[] $drafts
*
* @method GalleryData getData()
* @method ArrayCollection|GalleryHistory[] getHistories()
* @method GalleryHistory getHistory()
* @method GalleryDraft getDraft()
* @method ArrayCollection|GalleryDraft[] getDrafts()
* @method GalleryProxy setData(GalleryData $value)
* @method GalleryProxy setHistory(GalleryHistory $value)
*
* @ORM\Entity
*/
class GalleryProxy extends Proxy implements ShareableInterface, ImportableInterface
{
const TYPE = 'Gallery';
const LOCKABLE_TYPE = 'gallery';
use GalleryDataTrait, ShareableTrait, ImportableTrait;
/**
* {@inheritDoc}
*/
public function isJumpable()
{
return (parent::isJumpable() && $this->getData()->getTimestamp() <= DateTimeUtils::now());
}
}