From 495e9dc41f3c68af56646410a93252496e1ec14b Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 12 Nov 2018 20:17:03 +0000 Subject: [PATCH] wiki: Save IP address of an edit Signed-off-by: Michael Tremer --- src/backend/wiki.py | 10 +++++----- src/web/wiki.py | 9 ++++----- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/backend/wiki.py b/src/backend/wiki.py index 00dd64be..493837cc 100644 --- a/src/backend/wiki.py +++ b/src/backend/wiki.py @@ -56,19 +56,19 @@ class Wiki(misc.Object): WHERE timestamp >= NOW() - INTERVAL '4 weeks' \ ORDER BY timestamp DESC LIMIT %s", limit) - def create_page(self, page, author, content, changes=None): + def create_page(self, page, author, content, changes=None, address=None): page = Page.sanitise_page_name(page) - return self._get_page("INSERT INTO wiki(page, author_uid, markdown, changes) \ - VALUES(%s, %s, %s, %s) RETURNING *", page, author.uid, content, changes) + return self._get_page("INSERT INTO wiki(page, author_uid, markdown, changes, address) \ + VALUES(%s, %s, %s, %s, %s) RETURNING *", page, author.uid, content, changes, address) - def delete_page(self, page, author): + def delete_page(self, page, author, **kwargs): # Do nothing if the page does not exist if not self.get_page(page): return # Just creates a blank last version of the page - self.create_page(page, author, None) + self.create_page(page, author=author, content=None, **kwargs) @staticmethod def _split_url(url): diff --git a/src/web/wiki.py b/src/web/wiki.py index 0fa9ba5e..58ee3c56 100644 --- a/src/web/wiki.py +++ b/src/web/wiki.py @@ -47,16 +47,15 @@ class PageHandler(auth.CacheMixin, base.BaseHandler): self.render("wiki/page.html", page=page, latest_revision=latest_revision) @tornado.web.authenticated - def post(self): - page = self.get_argument("page") - + def post(self, page): content = self.get_argument("content", None) changes = self.get_argument("changes") # Delete the page if content is empty if not content: with self.db.transaction(): - self.backend.wiki.delete_page(page, self.current_user) + self.backend.wiki.delete_page(page, self.current_user, + address=self.get_remote_ip()) self.redirect("/") return @@ -64,7 +63,7 @@ class PageHandler(auth.CacheMixin, base.BaseHandler): # Create a new page in the database with self.db.transaction(): page = self.backend.wiki.create_page(page, - self.current_user, content, changes=changes) + self.current_user, content, changes=changes, address=self.get_remote_ip()) # Redirect self.redirect(page.url) -- 2.47.3