Пример #1
0
def newCategory():
    """ Create new category """

    # user must be authenticated
    if 'user_id' not in session:
        return redirect('/login')

    form = CategoryForm()
    if form.validate_on_submit():

        # check that name != 'new', which is used for routing
        if form.name.data.lower() == 'new':
            form.name.errors.append("'new' is a reserved word, and cannot"
                                    " be used as a category name.")
            return render_template('new_category.html', form=form)

        category = Category(name=form.name.data, user_id=session['user_id'])
        db_session.add(category)
        try:
            db_session.commit()
        except exc.IntegrityError:
            # category name should be unique
            db_session.rollback()
            form.name.errors.append("Category already exists.")
            return render_template('new_category.html', form=form)

        flash("Created new category %s." % category.name)
        return redirect(url_for('catalog'))
    return render_template('new_category.html', form=form)
Пример #2
0
def editCategory(name):
    """ Edit a category """

    # user must be authenticated
    if 'user_id' not in session:
        return redirect('/login')

    category = db_session.query(Category).filter_by(name=name).first()

    if category is None:
        abort(404)

    if category.user_id != session['user_id']:
        abort(401)

    form = CategoryForm(obj=category)
    if form.validate_on_submit():
        form.populate_obj(category)
        db_session.add(category)
        try:
            db_session.commit()
        except exc.IntegrityError:
            # category name should be unique
            db_session.rollback()
            form.name.errors.append("Category already exists.")
            return render_template('edit_category.html',
                                   category=category, form=form)
        flash("Category %s edited." % category.name)
        return redirect(url_for('category', name=category.name))
    return render_template('edit_category.html', category=category, form=form)
Пример #3
0
def newCategory():
    if "user_id" not in session:
        return redirect("/login")
    form = CategoryForm()
    if form.validate_on_submit():
        category = Category(name=form.name.data, user_id=session["user_id"])
        db_session.add(category)
        db_session.commit()
        flash("New category created.")
        return redirect(url_for("catalog"))
    return render_template("newCategory.html", form=form)
Пример #4
0
def editCategory(name):
    if "user_id" not in session:
        return redirect("/login")

    category = db_session.query(Category).filter_by(name=name).one()

    if category is None:
        abort(404)

    if category.user_id != session["user_id"]:
        abort(401)

    form = CategoryForm(obj=category)
    if form.validate_on_submit():
        form.populate_obj(category)
        db_session.add(category)
        db_session.commit()
        flash("Category %s edited." % category.name)
        return redirect(url_for("category", name=category.name))
    return render_template("editCategory.html", category=category, form=form)