def index(request): if request.method == 'GET': games = Game.all() return render('game/list.html', dict(games=games)) elif request.method == 'POST': if not hasattr(request, 'user') or not request.user: login_url = users.create_login_url(request.get_full_path()) return redirect(login_url) values = request.POST game = Game(name=values.get('name', 'Unnamed game'), game_starter=request.profile, signup_deadline=datetime.now() + timedelta(7), signups=[]) game.put() game.start_pregame() game.add_to_waitlist(request.profile) # redirect to the game return redirect('/games/%s' % game.uid)
def rendered_page(self, path): site = { "games": Game.all(), "pages": Page.all(), "calendar": Event.future_events(), } # is game? if path.startswith("games/"): # remove trailing slash slug = "/".join(path.split("/")[1:]) game = Game.where("slug", "=", slug).first() if game: return self._render(game.layout, page=game, site=site) # not game if path != "/": path = "/{}/".format(path) page = Page.where("slug", "=", path).first() if page: return self._render(page.layout, page=page, site=site) return None