Ejemplo n.º 1
0
    def handle_theme(self, request: HttpRequest) -> None:
        if request.method != "post":
            raise MethodNotAllowed

        response_kwargs = {}
        session = request.session
        if not session:
            session = generate_new_session()
            response_kwargs["session"] = session

        current_theme = load_theme(session)
        new_theme = switch_theme(current_theme)
        store_theme(session, new_theme)

        self.redirect("/hello", **response_kwargs)
Ejemplo n.º 2
0
    def handle_hello_update(self, request: HttpRequest) -> None:
        if request.method != "post":
            raise MethodNotAllowed

        form_data = self.get_form_data()
        new_user = User.build(form_data)

        response_kwargs = {}
        session = request.session
        if not session:
            session = generate_new_session()
            response_kwargs["session"] = session

        if new_user.errors:
            saved_data = load_profile(session)
            saved_user = User.build(saved_data)
            html = self.render_hello_page(request, new_user, saved_user)
            self.respond(html, **response_kwargs)
        else:
            store_profile(session, form_data)
            self.redirect("/hello", **response_kwargs)