import logging
import os.path
import re
-import tornado.gen
import urllib.parse
from . import misc
return self.data.timestamp
def was_deleted(self):
- return self.markdown is None
+ return not self.markdown
@lazy_property
def breadcrumbs(self):
return self.backend.wiki.make_breadcrumbs(self.page)
+ def is_latest_revision(self):
+ return self.get_latest_revision() == self
+
def get_latest_revision(self):
revisions = self.get_revisions()
# Compose message
self.backend.messages.send_template("wiki/messages/page-changed",
- sender="IPFire Wiki <wiki@ipfire.org>", recipients=[watcher],
- page=self, priority=-10)
+ recipients=[watcher], page=self, priority=-10)
+
+ def restore(self, author, address):
+ changes = "Restore to revision from %s" % self.timestamp.isoformat()
+
+ return self.backend.wiki.create_page(self.page,
+ author, self.markdown, changes=changes, address=address)
class File(misc.Object):
def created_at(self):
return self.data.created_at
- def delete(self, author):
- # XXX handle author
- self.db.execute("UPDATE wiki_files SET deleted_at = NOW() \
- WHERE id = %s", self.id)
+ def delete(self, author=None):
+ self.db.execute("UPDATE wiki_files SET deleted_at = NOW(), deleted_by = %s \
+ WHERE id = %s", author.uid if author else None, self.id)
@property
def deleted_at(self):