Ejemplo n.º 1
0
    def render_hello_page(
        self,
        request: custom_types.HttpRequest,
        new_user: custom_types.User,
        saved_user: custom_types.User,
    ) -> str:
        css_class_for_name = css_class_for_age = ""
        label_for_name = "Your name: "
        label_for_age = "Your age: "

        age_new = age_saved = saved_user.age
        name_new = name_saved = saved_user.name

        year = date.today().year - age_saved

        if new_user.errors:
            if "name" in new_user.errors:
                error = new_user.errors["name"]
                label_for_name = f"ERROR: {error}"
                css_class_for_name = consts.CSS_CLASS_ERROR

            if "age" in new_user.errors:
                error = new_user.errors["age"]
                label_for_age = f"ERROR: {error}"
                css_class_for_age = consts.CSS_CLASS_ERROR

            name_new = new_user.name
            age_new = new_user.age

        theme = utils.load_theme(request.session)

        html = utils.read_static("hello.html").decode()
        template = Template(html)

        context = {
            "age_new": age_new or "",
            "label_for_age": label_for_age,
            "label_for_name": label_for_name,
            "name_new": name_new or "",
            "name_saved": name_saved or "",
            "class_for_age": css_class_for_age,
            "class_for_name": css_class_for_name,
            "year": year,
            "fdsfdsfds": 2354234532,
            "theme": theme,
        }

        content = template.render(**context)

        return content
Ejemplo n.º 2
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)