]> git.ipfire.org Git - ipfire.org.git/blobdiff - src/backend/wiki.py
people: Show pending registrations
[ipfire.org.git] / src / backend / wiki.py
index 36d19e7c3d0fea6c278b23a476148cc9fa103948..6c2539de2ccdf1e096b7d33e92dcdc7f5dc2a50b 100644 (file)
@@ -4,7 +4,6 @@ import difflib
 import logging
 import os.path
 import re
-import tornado.gen
 import urllib.parse
 
 from . import misc
@@ -332,12 +331,15 @@ class Page(misc.Object):
                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()
 
@@ -443,8 +445,13 @@ class Page(misc.Object):
 
                        # 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):
@@ -485,10 +492,9 @@ 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):