Example #1
0
File: dj.py Project: hchapman/WBOR
 def post(self):
   errors = ""
   title = self.request.get("title")
   text = self.request.get("text")
   post_date = datetime.datetime.now();
   slug = self.request.get("slug")
   post = BlogPost.new(
     title=title,
     text=text,
     post_date=post_date,
     slug=slug)
   posts = BlogPost.get_last(num=2)
   if BlogPost.get_by_slug(slug, post_date=post_date):
     errors = ("Error: this post has a duplicate slug to another post from "
               "the same day.  This probably shouldn't happen often.")
   template_values = {
     'session': self.session,
     'flash': self.flashes,
     'errors': errors,
     'post': post,
     'posts': posts,
   }
   if errors:
     self.response.out.write(
         template.render(get_path("dj_createpost.html"), template_values))
   else:
     post.put()
     self.session.add_flash("Post \"%s\" successfully added." % title)
     self.redirect("/")
Example #2
0
  def get(self):
    # TODO: Please please fix this. Although realistically it will be fixed on
    # models rework in future.
    # So general MGMT can edit contacts page
    contacts = BlogPost.get_by_slug("contacts-page")

    template_values = {
      'contact_selected': True,
      'session': self.session,
      'contacts': contacts
    }
    self.response.out.write(
      template.render(get_path("contact.html"), template_values))
Example #3
0
 def get(self, date_string, post_slug):
   post_date = datetime.datetime.strptime(date_string, "%Y-%m-%d")
   post = BlogPost.get_by_slug(post_slug, post_date=post_date)
   if not post:
     self.session.add_flash(
       "The post you requested could not be found.  Please try again.")
     self.redirect('/')
     return
   template_values = {
     'session': self.session,
     'post': post,
     }
   self.response.out.write(template.render("blog_post.html", template_values))
Example #4
0
File: dj.py Project: hchapman/WBOR
 def post(self, date_string, slug):
   errors = ""
   title = self.request.get("title")
   text = self.request.get("text")
   slug = self.request.get("slug")
   post_key = ndb.Key(urlsafe=self.request.get("post_key"))
   post = BlogPost.get(post_key)
   if not post:
     self.session.add_flash(
       "The post you're looking for does not exist.  "
       "Something strange has occurred.")
     # this shouldn't happen unless people are fiddling around with
     # POST values by hand I think
     self.redirect("/")
     return
   if self.request.get("submit") == "Delete Post":
     post.delete()
     self.session.add_flash("Post deleted.")
     self.redirect("/")
     return
   duplicate = BlogPost.get_by_slug(slug, post_date=post.post_date)
   old_slug = post.slug
   post.slug = slug
   if duplicate:
     if duplicate.key != post_key:
       errors = ("This post has a duplicate slug to another post "
                 "from the same day.  Please rename the slug.")
       post.slug = old_slug
   post.title = title
   post.text = text
   posts = BlogPost.get_last(num=2)
   template_values = {
     'session': self.session,
     'flash': self.flashes,
     'errors': errors,
     'post': post,
     'editing': True,
     'posts': posts,
   }
   if errors:
     self.response.out.write(
       template.render(get_path("dj_createpost.html"), template_values))
   else:
     post.put()
     self.session.add_flash("Successfully altered post %s" % post.title)
     self.redirect("/")
Example #5
0
File: dj.py Project: hchapman/WBOR
 def get(self, date_string, slug):
   post_date = datetime.datetime.strptime(date_string, "%Y-%m-%d")
   post = BlogPost.get_by_slug(slug, post_date=post_date)
   if not post:
     self.session.add_flash(
         "The post you're looking for does not exist.  "
         "But you can look at actual posts below :)")
     self.redirect("/")
     return
   posts = BlogPost.get_last(num=2)
   template_values = {
     'session': self.session,
     'flash': self.flashes,
     'post': post,
     'editing': True,
     'posts': posts,
   }
   self.response.out.write(
     template.render(get_path("dj_createpost.html"), template_values))