X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FEntity%2FEntry.php;h=ceae78b05556e4005f0c51e35e1eb93a5bf6c57a;hb=5ecdfcd041767c9e3244a92bb0a6cc3c3f80fea3;hp=5e608f05d909a57d99ab0b8a4977721d510e5ae9;hpb=7d1fdab2bb918cb82b926c2079e15d779f42018c;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index 5e608f05..ceae78b0 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php @@ -59,6 +59,8 @@ class Entry /** * @var bool * + * @Exclude + * * @ORM\Column(name="is_archived", type="boolean") * * @Groups({"entries_for_user", "export_all"}) @@ -68,6 +70,8 @@ class Entry /** * @var bool * + * @Exclude + * * @ORM\Column(name="is_starred", type="boolean") * * @Groups({"entries_for_user", "export_all"}) @@ -173,8 +177,16 @@ class Entry private $user; /** - * @ORM\ManyToMany(targetEntity="Tag", inversedBy="entries", cascade={"persist", "remove"}) - * @ORM\JoinTable + * @ORM\ManyToMany(targetEntity="Tag", inversedBy="entries", cascade={"persist"}) + * @ORM\JoinTable( + * name="entry_tag", + * joinColumns={ + * @ORM\JoinColumn(name="entry_id", referencedColumnName="id") + * }, + * inverseJoinColumns={ + * @ORM\JoinColumn(name="tag_id", referencedColumnName="id") + * } + * ) * * @Groups({"entries_for_user", "export_all"}) */ @@ -183,7 +195,7 @@ class Entry /* * @param User $user */ - public function __construct(\Wallabag\UserBundle\Entity\User $user) + public function __construct(User $user) { $this->user = $user; $this->tags = new ArrayCollection(); @@ -271,6 +283,16 @@ class Entry return $this->isArchived; } + /** + * @VirtualProperty + * @SerializedName("is_archived") + * @Groups({"entries_for_user", "export_all"}) + */ + public function is_Archived() + { + return (int) $this->isArchived(); + } + public function toggleArchive() { $this->isArchived = $this->isArchived() ^ 1; @@ -302,6 +324,16 @@ class Entry return $this->isStarred; } + /** + * @VirtualProperty + * @SerializedName("is_starred") + * @Groups({"entries_for_user", "export_all"}) + */ + public function is_Starred() + { + return (int) $this->isStarred(); + } + public function toggleStar() { $this->isStarred = $this->isStarred() ^ 1; @@ -502,13 +534,18 @@ class Entry } } - $this->tags[] = $tag; + $this->tags->add($tag); $tag->addEntry($this); } public function removeTag(Tag $tag) { + if (!$this->tags->contains($tag)) { + return; + } + $this->tags->removeElement($tag); + $tag->removeEntry($this); } /**