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 \
<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>
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)