Beispiel #1
0
    def post(self, recipe_id):
        form = RecipeForm(request.form)

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("RecipeView:edit", id=self.recipe.id))

        form.populate_obj(self.recipe)

        self.recipe.edit()
        self.recipe.reload()

        if turbo.can_stream():
            return turbo.stream([
                turbo.replace(
                    self.template("_info", message="Upraveno", form=form),
                    target="recipe-info",
                ),
                turbo.replace(
                    self.template("_ingredient_table"),
                    target="recipe-ingredient-table",
                ),
            ])
        else:
            return redirect(url_for("RecipeView:edit", id=self.recipe.id))
Beispiel #2
0
    def post(self):
        form = LoginForm(request.form)
        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("LoginView:show"))

        if do_login(username=form.username.data, password=form.password.data):
            return redirect(url_for("IndexView:index"))
        else:
            return redirect(url_for("LoginView:show"))
Beispiel #3
0
    def post(self):
        form = RecipeForm(request.form)

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("RecipeView:new"))

        recipe = Recipe(author=current_user)
        recipe.fill(form)
        recipe.save()

        return redirect(url_for("RecipeView:edit", id=recipe.id))
Beispiel #4
0
    def post(self):
        form = IngredientForm(request.form)

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("IngredientView:new"))

        ingredient = Ingredient(author=current_user)
        form.populate_obj(ingredient)
        ingredient.save()

        return redirect(
            url_for("IngredientView:show", id=ingredient.id, from_new=True))
Beispiel #5
0
    def post(self):
        form = DietForm(request.form)

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("DietView:new"))

        diet = Diet(active=True, author=current_user)
        form.populate_obj(diet)

        if diet.save():
            return redirect(url_for("DietView:show", id=diet.id))
        else:
            flash("Nepodařilo se vytvořit dietu", "error")
            return redirect(url_for("DietView:new"))
Beispiel #6
0
    def update(self, id):
        form = IngredientForm(request.form)

        if not self.ingredient.can_edit_measurement:
            del form.measurement

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(
                url_for("IngredientView:edit", id=self.ingredient.id))

        form.populate_obj(self.ingredient)
        self.ingredient.edit()

        return redirect(url_for("IngredientView:show", id=self.ingredient.id))
Beispiel #7
0
    def post(self):
        form = IngredientForm(request.form)

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("IngredientView:new"))

        ingredient = Ingredient(author=current_user.username)
        form.populate_obj(ingredient)

        if ingredient.save():
            return redirect(url_for("IngredientView:show", id=ingredient.id))
        else:
            flash("Nepodařilo se vytvořit surovinu", "error")
            return redirect(url_for("IngredientView:new"))
Beispiel #8
0
    def post(self):
        form = EventForm(request.form)

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("EventView:new"))

        event = Event()
        form.populate_obj(event)
        event.save()

        for day in event.days:
            day_plan = DailyPlan(date=day, event=event)
            day_plan.save()

        return redirect(url_for("EventView:show", id=event.id))
Beispiel #9
0
    def post(self):
        form = UserForm(request.form)
        del form.username

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("UserView:edit"))

        self.user.full_name = form.full_name.data

        if self.user.edit() is not None:
            flash("uživatel byl upraven", "success")
        else:
            flash("nepovedlo se změnit uživatele", "error")

        return redirect(url_for("UserView:show"))
Beispiel #10
0
    def update_password(self):
        form = PasswordForm(request.form)

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("UserView:edit"))

        self.user.set_password_hash(form.password.data)
        self.user.password_version = application.config["PASSWORD_VERSION"]

        if self.user.edit():
            flash("Heslo bylo změněno", "success")
        else:
            flash("Nepovedlo se změnit heslo", "error")

        return redirect(url_for("UserView:show"))
Beispiel #11
0
def post():
    form = PoetryForm(CombinedMultiDict((request.files, request.form)))
    if not form.validate_on_submit():
        save_form_to_session(request.form)
        return redirect("/poetry/new")

    secure_filename = FileHandler(folder="images/poetry").save(form.photo.data)

    poetry = Poetry(
        name=form.name.data,
        created_by=form.created_by.data,
        latitude=form.latitude.data,
        longitude=form.longitude.data,
        filename=secure_filename,
    )
    poetry.save()
    return redirect("show/" + str(poetry.id))
Beispiel #12
0
    def update(self, page_type=None):
        form = UserForm(request.form)
        del form.username

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("UserView:edit"))

        self.user.first_name = form.first_name.data
        self.user.last_name = form.last_name.data

        if self.user.edit() is not None:
            flash("Uživatel byl upraven", "success")
        else:
            flash("Nepovedlo se změnit uživatele", "error")

        return redirect(url_for("UserView:show"))
Beispiel #13
0
    def update(self, id):
        form = DietForm(request.form)

        if self.diet.is_used:
            del form.calorie
            del form.protein
            del form.fat
            del form.sugar

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("DietView:edit", id=self.diet.id))

        form.populate_obj(self.diet)
        self.diet.edit()

        return redirect(url_for("DietView:show", id=self.diet.id))
Beispiel #14
0
    def post(self):
        form = RegisterForm(request.form)
        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("RegisterView:show"))

        user = User()
        form.populate_obj(user)
        user.set_password_hash(form.password.data.encode("utf-8"))
        user.password_version = application.config["PASSWORD_VERSION"]

        if do_register(user):
            return redirect(url_for("IndexView:index"))
        else:
            flash("registrace se nepodařila", "error")
            save_form_to_session(request.form)
            return redirect(url_for("RegisterView:show"))
Beispiel #15
0
    def post_token(self):
        token = request.args["token"]
        form = NewPasswordForm(request.form)
        user = User.load(token, load_type="new_password_token")

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("PasswordRecoveryView:show_token", token=token))

        if user is None:
            flash("nemůžete změnit heslo", "error")
        else:
            user.set_password_hash(form.password.data.encode("utf-8"))
            user.password_version = application.config["PASSWORD_VERSION"]
            user.new_password_token = None
            user.edit()
            flash("heslo bylo změněno", "success")

        return redirect(url_for("LoginView:show"))
Beispiel #16
0
    def post_shared(self):
        form = IngredientForm(request.form)

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("IngredientView:new_shared"))

        ingredient = Ingredient(is_shared=True, source=current_user.username)
        form.populate_obj(ingredient)

        if ingredient.save():
            flash(
                "Děkujeme za vytvoření sdílené suroviny. Až ji zkontrolujeme, bude zobrazena všem uživatelům.",
                "success",
            )
            return redirect(url_for("IngredientView:index"))
        else:
            flash("Nepodařilo se vytvořit surovinu", "error")
            return redirect(url_for("IngredientView:new_shared"))
Beispiel #17
0
    def post(self):
        form = GetNewPasswordForm(request.form)
        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("PasswordRecoveryView:show"))

        user = User.load_by_username(form.username.data)

        html_body = template(
            "auth/mails/_new_password_email.html.j2",
            token=generate_new_password_token(user),
        )

        MailSender().send_email(
            subject="Nové heslo",
            recipients=[user],
            html_body=html_body,
        )

        flash("Nové heslo vám bylo zasláno do emailu", "success")
        return redirect(url_for("LoginView:show"))
Beispiel #18
0
    def update(self, id):
        form = IngredientForm(request.form)

        if self.ingredient.is_used:
            del form.calorie
            del form.protein
            del form.fat
            del form.sugar

        if not form.validate_on_submit():
            save_form_to_session(request.form)
            return redirect(url_for("IngredientView:edit", id=self.ingredient.id))

        form.populate_obj(self.ingredient)

        if not self.ingredient.is_shared or current_user.is_admin:
            self.ingredient.edit()
            flash("Surovina byla upravena.", "success")
        else:
            self.ingredient.refresh()
            flash("Sdílenou surovinu nelze upravit", "error")

        return redirect(url_for("IngredientView:show", id=self.ingredient.id))