Exemplo n.º 1
0
 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
         })
Exemplo n.º 2
0
 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("/")
Exemplo n.º 3
0
 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("/")
Exemplo n.º 4
0
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
Exemplo n.º 5
0
 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("/")
Exemplo n.º 6
0
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
Exemplo n.º 7
0
 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("/")
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
 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,
     })
Exemplo n.º 10
0
 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("/")
Exemplo n.º 11
0
 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))
Exemplo n.º 12
0
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)