From: Michael Tremer Date: Sat, 1 Sep 2018 14:46:57 +0000 (+0100) Subject: blog: Allow users to view their own drafted posts X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df157ededec853248db70029e97df8be191330bc;p=ipfire.org.git blog: Allow users to view their own drafted posts Signed-off-by: Michael Tremer --- diff --git a/src/backend/blog.py b/src/backend/blog.py index 89a8d5e9..1a73d04a 100644 --- a/src/backend/blog.py +++ b/src/backend/blog.py @@ -25,9 +25,14 @@ class Blog(misc.Object): return self._get_post("SELECT * FROM blog \ WHERE id = %s", id) - def get_by_slug(self, slug): + def get_by_slug(self, slug, published=True): + if published: + return self._get_post("SELECT * FROM blog \ + WHERE slug = %s AND published_at <= NOW()", slug) + return self._get_post("SELECT * FROM blog \ - WHERE slug = %s AND published_at <= NOW()", slug) + WHERE slug = %s", slug) + def get_newest(self, limit=None): return self._get_posts("SELECT * FROM blog \ diff --git a/src/templates/blog/modules/post.html b/src/templates/blog/modules/post.html index 8a5aa075..3725da77 100644 --- a/src/templates/blog/modules/post.html +++ b/src/templates/blog/modules/post.html @@ -17,7 +17,11 @@ {{ post.author }} {% end %}, - {{ locale.format_date(post.published_at, shorter=True, relative=False) }} + {% if post.published_at %} + {{ locale.format_date(post.published_at, shorter=True, relative=False) }} + {% else %} + {{ _("Not published") }} + {% end %} {% if current_user and current_user == post.author %} {{ _("Edit") }} diff --git a/src/web/blog.py b/src/web/blog.py index 679ac047..b03e20bd 100644 --- a/src/web/blog.py +++ b/src/web/blog.py @@ -53,7 +53,7 @@ class FeedHandler(base.BaseHandler): class PostHandler(base.BaseHandler): def get(self, slug): - post = self.backend.blog.get_by_slug(slug) + post = self.backend.blog.get_by_slug(slug, published=not self.current_user) if not post: raise tornado.web.HTTPError(404)