X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FEntity%2FTag.php;h=5b571823f707f11659f7da8c92707ff839d60917;hb=3d3ed955f11006a408c6596eb9151a0afb28e721;hp=310175635763cbe119e5c2ebf601978806c4be7f;hpb=cbce162b407024882d8c37a7e3298c85175d2651;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Entity/Tag.php b/src/Wallabag/CoreBundle/Entity/Tag.php index 31017563..5b571823 100644 --- a/src/Wallabag/CoreBundle/Entity/Tag.php +++ b/src/Wallabag/CoreBundle/Entity/Tag.php @@ -3,18 +3,25 @@ namespace Wallabag\CoreBundle\Entity; use Doctrine\ORM\Mapping as ORM; +use JMS\Serializer\Annotation\XmlRoot; +use JMS\Serializer\Annotation\ExclusionPolicy; +use JMS\Serializer\Annotation\Expose; +use Doctrine\Common\Collections\ArrayCollection; /** - * Tag + * Tag. * - * @ORM\Table(name="tag") - * @ORM\Entity + * @XmlRoot("tag") + * @ORM\Table + * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\TagRepository") + * @ExclusionPolicy("all") */ class Tag { /** - * @var integer + * @var int * + * @Expose * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") @@ -24,14 +31,36 @@ class Tag /** * @var string * + * @Expose * @ORM\Column(name="label", type="text") */ private $label; /** - * Get id + * @ORM\ManyToMany(targetEntity="Entry", mappedBy="tags", cascade={"persist"}) + */ + private $entries; + + /** + * @ORM\ManyToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="tags") + */ + private $user; + + public function __construct(\Wallabag\UserBundle\Entity\User $user) + { + $this->user = $user; + $this->entries = new ArrayCollection(); + } + + public function __toString() + { + return $this->label; + } + + /** + * Get id. * - * @return integer + * @return int */ public function getId() { @@ -39,9 +68,10 @@ class Tag } /** - * Set label + * Set label. + * + * @param string $label * - * @param string $label * @return Tag */ public function setLabel($label) @@ -52,12 +82,30 @@ class Tag } /** - * Get label + * Get label. * * @return string */ public function getLabel() { - return $this->value; + return $this->label; + } + + public function addEntry(Entry $entry) + { + $this->entries[] = $entry; + } + + public function hasEntry($entry) + { + return $this->entries->contains($entry); + } + + /** + * @return User + */ + public function getUser() + { + return $this->user; } }