]> git.ipfire.org Git - ipfire.org.git/commitdiff
blog: Allow users to view their own drafted posts
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 1 Sep 2018 14:46:57 +0000 (15:46 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 1 Sep 2018 14:46:57 +0000 (15:46 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/backend/blog.py
src/templates/blog/modules/post.html
src/web/blog.py

index 89a8d5e9914793d1020f60c4ae7d32234853e284..1a73d04a4d54c03c09b2e108a006f54944433c5d 100644 (file)
@@ -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 \
index 8a5aa075770fe7d9108e4b0b9033618d9d416d27..3725da77cafea0f2d14392e589ec04695bb0ac71 100644 (file)
                                <strong>{{ post.author }}</strong>
                        {% 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 %}
                                <a href="/post/{{ post.slug }}/edit">{{ _("Edit") }}</a>
index 679ac0477c696465b5a9e47ca61f96f79d994088..b03e20bdfd28a7ca9edc3b7e0de50353bf4329db 100644 (file)
@@ -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)