def get(self, slug): people = [] q = Location.gql("WHERE slug = :slug", slug = slug) location = q.get() if location: tapins = Tapin.gql("WHERE location = :location ORDER BY date", location = location) from collections import defaultdict grouped = defaultdict(list) for tapin in tapins: grouped[tapin.date.date()].append(tapin) tapin = self.request.get('tapin') template = jinja_environment.get_template("location.html") self.response.out.write(template.render({ "user": users.get_current_user(), "location": location, "tapins": grouped, "tapin": tapin })) else: self.redirect("/new-location?slug=%s&message=not-found" % slug)
def get(self, slug): if users.get_current_user(): q = Location.gql("WHERE slug = :slug", slug=slug) location = q.get() if location: tapin = Tapin() tapin.user = users.get_current_user() tapin.location = location.key() tapin.put() self.redirect("/location/" + slug + "?tapin=" + str(tapin.key())) else: self.redirect(users.create_login_url("/tapin/%s" % slug))
def post(self): slug = self.request.get('slug') name = self.request.get('name') description = self.request.get('description') location = Location.gql("WHERE slug = :slug", slug=slug).get() if location: self.error(500) self.response.out.write('Slug already used') else: location = Location() location.slug = slug location.name = name location.description = description location.put() self.redirect("/location/%s" % slug)