*/
private $isArchived = false;
+ /**
+ * @var \DateTime
+ *
+ * @ORM\Column(name="archived_at", type="datetime", nullable=true)
+ *
+ * @Groups({"entries_for_user", "export_all"})
+ */
+ private $archivedAt = null;
+
/**
* @var bool
*
return $this;
}
+ /**
+ * update isArchived and archive_at fields.
+ *
+ * @param bool $isArchived
+ *
+ * @return Entry
+ */
+ public function updateArchived($isArchived = false)
+ {
+ $this->setArchived($isArchived);
+ $this->setArchivedAt(null);
+ if ($this->isArchived()) {
+ $this->setArchivedAt(new \DateTime());
+ }
+
+ return $this;
+ }
+
+ /**
+ * @return \DateTime|null
+ */
+ public function getArchivedAt()
+ {
+ return $this->archivedAt;
+ }
+
+ /**
+ * @param \DateTime|null $archivedAt
+ *
+ * @return Entry
+ */
+ public function setArchivedAt($archivedAt = null)
+ {
+ $this->archivedAt = $archivedAt;
+
+ return $this;
+ }
+
/**
* Get isArchived.
*
public function toggleArchive()
{
- $this->isArchived = $this->isArchived() ^ 1;
+ $this->updateArchived($this->isArchived() ^ 1);
return $this;
}