def get(self, page): if page == None or int(page) == 0: prevPage = None nextPage = '1' elif int(page) == 1: prevPage = '0' nextPage = str(int(page) + 1) elif int(page) > 1: prevPage = str(int(page) - 1) nextPage = str(int(page) + 1) numPosts = Posts.select().count() numPages = math.ceil(numPosts / 5) categories = Posts.select(Posts.category).distinct() posts = Posts.select().order_by(Posts.created.desc()).paginate( int(nextPage), 5) if self.current_user: loggedInUser = self.current_user return self.render_template( "home.html", { 'posts': posts, "categories": categories, "numPages": str(numPages), "prevPage": prevPage, "nextPage": nextPage, 'loggedInUser': loggedInUser }) return self.render_template( "home.html", { 'posts': posts, "categories": categories, "numPages": str(numPages), "prevPage": prevPage, "nextPage": nextPage })
def post(self, slug): post = Posts.select().where(Posts.id == slug) if post: post = Posts.select().where(Posts.id == slug).get() user = self.current_user # Only allow the creator of the post access to edit if post.user_id == user.id: post.delete_instance(recursive=True, delete_nullable=True) return self.redirect("/")
def get(self, slug): post = Posts.select().where(Posts.id == slug) if post: post = Posts.select().where(Posts.id == slug).get() user = self.current_user # Only allow the creator of the post access to edit if post.user_id == user.id: return self.render_template("edit_post.html", {'post': post}) return self.redirect("/")
def get_selected_post(id): if id and is_number(id): q = Post.select().where(Post.id == int(id)) selected_post = [u for u in q][0] else: selected_post = None return selected_post
def post(self, slug): post = Posts.select().where(Posts.id == slug) if post: post = Posts.select().where(Posts.id == slug).get() loggedInUser = self.current_user print(post.id, 'post id') # Only allow the creator of the post access to edit if post.user_id == loggedInUser.id: title = self.get_body_argument('title') category = self.get_body_argument('category') post = self.get_body_argument('post') # Edit Post Posts.update(title=title, category=category, post=post).where(Posts.id == slug).execute() return self.redirect("/post/" + slug) return self.redirect("/")
def get_selected_post(id): if id and is_number(id): q = Post.select().where(Post.id == int(id)) selected_post = [u for u in q][0] else: selected_post = None return selected_post
def get(self, slug): post = Posts.select().where(Posts.id == slug) if post: post = Posts.select().where(Posts.id == slug).get() comments = Comments.select().where( Comments.post_id == slug).order_by(Comments.created.desc()) # number of likes likes = Likes.select().where(Likes.post_id == slug).count() loggedInUser = self.current_user return self.render_template( "post.html", { 'post': post, 'comments': comments, 'likes': likes, 'loggedInUser': loggedInUser }) return self.redirect("/")
def show_posts_beta(id): posts = Post.select().where(Post.hidden != 1).order_by(Post.date.desc()) selected_post = get_selected_post(id) return object_list('show_posts.html', posts, 'posts', is_admin=('username' in session), selected_post=selected_post)
def get(self, slug): categories = Posts.select(Posts.category).distinct() posts = Posts.select().where(Posts.category == slug).order_by( Posts.created.desc()) if self.current_user: loggedInUser = self.current_user return self.render_template( "search.html", { 'posts': posts, "categories": categories, "category": slug, 'loggedInUser': loggedInUser }) return self.render_template("search.html", { 'posts': posts, "categories": categories, "category": slug, })
def get(self, slug): user = Users.select().where(Users.id == slug) if user: # Retrieve users post, comment, and like history user = Users.select().where(Users.id == slug).get() posts = Posts.select().where(Posts.user_id == slug) if posts: posts = (Posts.select().where(Posts.user_id == slug).order_by( Posts.created.desc())) comments = Comments.select().where(Comments.user_id == slug) if comments: comments = (Comments.select().where( Comments.user_id == slug).order_by( Comments.created.desc())) likes = Likes.select().where(Likes.user_id == slug) if likes: likes = (Likes.select().where(Likes.user_id == slug).order_by( Likes.created.desc())) loggedInUser = self.current_user numPosts = Posts.select().where(Posts.user_id == slug).count() numComments = Comments.select().where( Comments.user_id == slug).count() numLikes = Likes.select().where(Likes.user_id == slug).count() totalLikes = Likes.select( Likes.post_id).join(Posts).join(Users).where( Posts.user_id == slug).count() return self.render_template( "author.html", { 'posts': posts, 'numPosts': numPosts, 'numComments': numComments, 'numLikes': numLikes, 'comments': comments, 'likes': likes, 'user': user, 'totalLikes': totalLikes, 'loggedInUser': loggedInUser }) return self.redirect("/")
def post(self, slug): user = self.current_user likes = Likes.select().where(Likes.post_id == slug) if likes: # Do not allow more than one like for one post likes = Likes.select().where(Likes.post_id == slug).get() if likes.user_id == user.id: return self.redirect("/post/{}".format(slug)) # If you are creator of post, can not like it post = Posts.select().where(Posts.id == slug).get() if post.user_id == user.id: return self.redirect("/post/{}".format(slug)) # Create like Likes.create(user_id=user.id, post_id=slug) return self.redirect("/post/{}".format(slug))
def show_posts_beta(id): posts = Post.select().where(Post.hidden != 1).order_by(Post.date.desc()) selected_post = get_selected_post(id) return object_list('show_posts.html', posts, 'posts', is_admin=('username' in session), selected_post=selected_post)