diff options
author | Jérémy Benoist <j0k3r@users.noreply.github.com> | 2017-08-30 13:53:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-30 13:53:49 +0200 |
commit | 119e6c5edb93ab8a14fd46d04d224091542039c4 (patch) | |
tree | 521a316a60c7bd162bb52a86f55a8bf4e3c6f475 /src/Wallabag/CoreBundle/Entity | |
parent | 854616ac6d6246e8e0451342ab841985b401604d (diff) | |
parent | a991c46eedec0efb24d0a9974b1c7fcabf8cfa66 (diff) | |
download | wallabag-119e6c5edb93ab8a14fd46d04d224091542039c4.tar.gz wallabag-119e6c5edb93ab8a14fd46d04d224091542039c4.tar.zst wallabag-119e6c5edb93ab8a14fd46d04d224091542039c4.zip |
Merge pull request #3330 from franek/set-starred-date
Add starred_at field which is set when an entry is starred
Diffstat (limited to 'src/Wallabag/CoreBundle/Entity')
-rw-r--r-- | src/Wallabag/CoreBundle/Entity/Entry.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index 61d01bdc..4367902e 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php | |||
@@ -143,6 +143,15 @@ class Entry | |||
143 | private $publishedBy; | 143 | private $publishedBy; |
144 | 144 | ||
145 | /** | 145 | /** |
146 | * @var \DateTime | ||
147 | * | ||
148 | * @ORM\Column(name="starred_at", type="datetime", nullable=true) | ||
149 | * | ||
150 | * @Groups({"entries_for_user", "export_all"}) | ||
151 | */ | ||
152 | private $starredAt = null; | ||
153 | |||
154 | /** | ||
146 | * @ORM\OneToMany(targetEntity="Wallabag\AnnotationBundle\Entity\Annotation", mappedBy="entry", cascade={"persist", "remove"}) | 155 | * @ORM\OneToMany(targetEntity="Wallabag\AnnotationBundle\Entity\Annotation", mappedBy="entry", cascade={"persist", "remove"}) |
147 | * @ORM\JoinTable | 156 | * @ORM\JoinTable |
148 | * | 157 | * |
@@ -476,6 +485,44 @@ class Entry | |||
476 | } | 485 | } |
477 | 486 | ||
478 | /** | 487 | /** |
488 | * @return \DateTime|null | ||
489 | */ | ||
490 | public function getStarredAt() | ||
491 | { | ||
492 | return $this->starredAt; | ||
493 | } | ||
494 | |||
495 | /** | ||
496 | * @param \DateTime|null $starredAt | ||
497 | * | ||
498 | * @return Entry | ||
499 | */ | ||
500 | public function setStarredAt($starredAt = null) | ||
501 | { | ||
502 | $this->starredAt = $starredAt; | ||
503 | |||
504 | return $this; | ||
505 | } | ||
506 | |||
507 | /** | ||
508 | * update isStarred and starred_at fields. | ||
509 | * | ||
510 | * @param bool $isStarred | ||
511 | * | ||
512 | * @return Entry | ||
513 | */ | ||
514 | public function updateStar($isStarred = false) | ||
515 | { | ||
516 | $this->setStarred($isStarred); | ||
517 | $this->setStarredAt(null); | ||
518 | if ($this->isStarred()) { | ||
519 | $this->setStarredAt(new \DateTime()); | ||
520 | } | ||
521 | |||
522 | return $this; | ||
523 | } | ||
524 | |||
525 | /** | ||
479 | * @return ArrayCollection<Annotation> | 526 | * @return ArrayCollection<Annotation> |
480 | */ | 527 | */ |
481 | public function getAnnotations() | 528 | public function getAnnotations() |