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)
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)