コード例 #1
0
ファイル: blog.py プロジェクト: enigmanx/multi-user-blog
    def post(self, post_id=""):
        owner = self.user
        subject = self.request.get("subject")
        content = self.request.get("content")
        redirect_to = self.request.get("redirect_to")

        if subject and content:
            if post_id:
                p = Post.by_id(BLOG_KEY, post_id)
                own = p and p.is_owned_by(self.user)
                if own:
                    p.subject = subject
                    p.content = content
                else:
                    self.flash("you can't edit other's posts", "danger")

            else:
                p = Post(parent=BLOG_KEY,
                         owner=owner.key,
                         subject=subject,
                         likes=[],
                         content=content)
            p.put()
            self.redirect("/blog/%s" % p.key.id())

        else:
            error = "subject and content, please!"
            self.render("newpost.html",
                        subject=subject,
                        content=content,
                        post_id=post_id,
                        error=error)
コード例 #2
0
ファイル: blog.py プロジェクト: enigmanx/multi-user-blog
    def get(self, post_id):
        post = Post.by_id(BLOG_KEY, post_id)

        if not post:
            self.error(404)
            return

        self.render("post-permalink.html", p=post)
コード例 #3
0
ファイル: blog.py プロジェクト: enigmanx/multi-user-blog
    def post(self, post_id):
        p = Post.by_id(BLOG_KEY, post_id)
        own = p and p.is_owned_by(self.user)
        if own:
            p.key.delete()
        else:
            self.flash("you can't delete other's posts", "danger")

        self.redirect("/blog ")
コード例 #4
0
ファイル: blog.py プロジェクト: enigmanx/multi-user-blog
    def get(self, post_id=""):
        params = {}
        if post_id:
            p = Post.by_id(BLOG_KEY, post_id)
            if p:
                params = dict(subject=p.subject,
                              content=p.content,
                              post_id=post_id)

        self.render("newpost.html", **params)
コード例 #5
0
 def get(self, post_id=None):
     if self.read_secure_cookie('user_id'):
         if post_id:
             post = Post.by_id(post_id)
         else:
             post = None
         user = User.by_id(self.read_secure_cookie('user_id'))
         self.render('write_post.html', user = user, post=post, post_id=post_id)
     else:
         self.redirect('/')
コード例 #6
0
 def get(self):
     post_id = self.request.get('post_id')
     if post_id:
         post = Post.by_id(post_id)
         if self.user.key().id() == post.created_by:
             self.render("edit.html", username=self.user.name, post=post)
         else:
             self.redirect('/blog')
     else:
         self.redirect('/blog')
コード例 #7
0
ファイル: main.py プロジェクト: YouYue123/Fullstack-Udacity
 def get(self, post_id):
     post = Post.by_id(post_id)
     comments = Comment.comments_by_post_id(post.key().id())
     if not post:
         self.redirect('/blog')
         return
     if self.user:
         self.render("permalink.html", post = post, username = self.user.name,comments=comments,user_id=self.user.key().id())
     else:
         self.render("permalink.html", post = post,comments=comments)
コード例 #8
0
ファイル: main.py プロジェクト: YouYue123/Fullstack-Udacity
 def get(self):
     post_id = self.request.get('post_id')
     if post_id:
         post = Post.by_id(post_id)
         if self.user.key().id() == post.created_by:
             self.render("edit.html",username=self.user.name,post=post)
         else:
             self.redirect('/blog')
     else:
         self.redirect('/blog')
コード例 #9
0
 def post(self, post_param=None):
     if self.read_secure_cookie('user_id'):
         user = self.request.get('user')
         post = self.request.get('post')
         body = self.request.get('body')
         if Post.by_id(int(post)) and User.by_name(user):
             comment = Comment(user = user, body = body, post=post)
             comment.put()
             self.redirect('/post/%s'%post)
     else:
         self.redirect('/')
コード例 #10
0
 def get(self, post_id=None):
     if self.read_secure_cookie('user_id'):
         if post_id and Post.by_id(int(post_id)):
             post = Post.by_id(int(post_id))
             comments = Comment.by_post(post_id)
             likes = Like.by_post(post_id)
             likes_num = 0
             dislikes_num = 0
             if Like.by_post(post_id).count():
                 for like in Like.by_post(post_id):
                     if like.value > 0:
                         likes_num +=1
                     else:
                         dislikes_num +=1
             user = User.by_id(self.read_secure_cookie('user_id'))
             self.render('post.html', post = post, comments = comments, likes = likes_num, dislikes = dislikes_num, user = user, post_id=post_id)
         else:
             self.redirect('/')
     else:
         self.redirect('/')
コード例 #11
0
    def get(self):
        post_id = self.request.get('post_id')

        if not self.user or not post_id:
            self.redirect('/blog/%s' % post_id)
        post = Post.by_id(post_id)

        if post and post.created_by == self.user.key().id():
            Post.delete(post_id)

        self.redirect('/blog')
コード例 #12
0
ファイル: main.py プロジェクト: YouYue123/Fullstack-Udacity
    def get(self):
        post_id = self.request.get('post_id')
        
        if not self.user or not post_id:
            self.redirect('/blog/%s' % post_id)
        post = Post.by_id(post_id)
        
        if post and post.created_by == self.user.key().id():
            Post.delete(post_id)

        self.redirect('/blog')
コード例 #13
0
ファイル: blog.py プロジェクト: enigmanx/multi-user-blog
 def post(self, post_id):
     message = self.request.get("message")
     p = Post.by_id(BLOG_KEY, post_id)
     if not message:
         error = "inform a valid comment, please"
         self.render("post-permalink.html", p=p, new_comment_error=error)
     else:
         comment = Comment(parent=p.key,
                           owner=self.user.key,
                           content=message)
         comment.put()
         self.redirect('/blog/%s' % post_id)
コード例 #14
0
    def post(self, post_id):

        if not self.user:
            self.redirect('/blog/%s' % post_id)

        subject = self.request.get('subject')
        content = self.request.get('content')
        user_id = self.user.key().id()
        last_modified = datetime.datetime.now()
        post = Post.by_id(post_id)
        if post and post.created_by == user_id:
            Post.update(post_id, subject, content, last_modified)
        self.redirect('/blog/%s' % post_id)
コード例 #15
0
ファイル: main.py プロジェクト: YouYue123/Fullstack-Udacity
    def post(self,post_id):

        if not self.user:
            self.redirect('/blog/%s' % post_id)

        subject = self.request.get('subject')
        content = self.request.get('content')
        user_id = self.user.key().id()
        last_modified = datetime.datetime.now()
        post = Post.by_id(post_id)
        if post and post.created_by == user_id:
           Post.update(post_id,subject,content,last_modified)
        self.redirect('/blog/%s' % post_id)
コード例 #16
0
 def get(self, post_id):
     post = Post.by_id(post_id)
     comments = Comment.comments_by_post_id(post.key().id())
     if not post:
         self.redirect('/blog')
         return
     if self.user:
         self.render("permalink.html",
                     post=post,
                     username=self.user.name,
                     comments=comments,
                     user_id=self.user.key().id())
     else:
         self.render("permalink.html", post=post, comments=comments)
コード例 #17
0
ファイル: blog.py プロジェクト: enigmanx/multi-user-blog
    def post(self, post_id):
        p = Post.by_id(BLOG_KEY, post_id)
        own = p and p.is_owned_by(self.user)
        if own:
            self.flash("you can't like your own posts", "danger")
        else:
            likes = p.likes
            if p.likes_it(self.user):
                likes.remove(self.user.key)
            else:
                likes.append(self.user.key)
            p.likes = likes
            p.put()

        origin = self.request.GET["origin"]
        back_to = "/blog" if origin == "home" else "/blog/%s" % post_id

        self.redirect(back_to)
コード例 #18
0
 def post(self, post_id=None):
     if self.read_secure_cookie('user_id'):
         if self.request.get('edit_id'):
             post = Post.by_id(self.request.get('edit_id'))
             if post:
                 post.title = self.request.get('title')
                 post.body = self.request.get('body')
             else:
                 user = User.by_id(self.read_secure_cookie('user_id')).username
                 title = self.request.get('title')
                 body = self.request.get('body')
                 post = Post(title = title, body = body, user=user)
         else:
             user = User.by_id(self.read_secure_cookie('user_id')).username
             title = self.request.get('title')
             body = self.request.get('body')
             post = Post(title = title, body = body, user=user)
         post.put()
         self.redirect('/blog')
     else:
         self.redirect('/')
コード例 #19
0
    def get(self, value=None):

        if self.read_secure_cookie('user_id'):
            if value:
                tag = value.split(',')
                if (tag[1]):
                    post = tag[0]
                    value = tag[1]
                    user = self.read_secure_cookie('user_id')
                    if int(post) and Post.by_id(post):
                        if Like.by_post_user(post, user).count() < 1:
                            like = Like(post=post, value=int(value), user=user)
                            like.put()
                        else:
                            like = Like.by_post_user(post, user).get()
                            like.value = int(value)
                            like.put()
                else:
                    self.redirect('/')
            else:
                self.redirect('/')
            self.redirect('/post/%s' % post)
        else:
            self.redirect('/')
コード例 #20
0
 def get_all(cls, post_id):
     post = Post.by_id(post_id)
     return Comment.all().filter('post =', post).order('-date').fetch(None)