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