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 deleteCategory(name): """ Delete 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) if request.method == 'POST': # delete the category # related items should be deleted automatically db_session.delete(category) db_session.commit() flash('%s Successfully Deleted' % category.name) return redirect(url_for('catalog')) else: form = CategoryForm() return render_template('delete_category.html', category=category, 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)
def edit_category(request, id_category): noForwardedsInfo(request) context = {} category = Category.objects.get(id=id_category) if request.method == 'GET': form = CategoryForm(instance=category) context['form'] = form context['id_category'] = category.id else: form = CategoryForm(request.POST) context['form'] = form if form.is_valid(): category.name = form.cleaned_data['name'] category.save() messages.success(request, 'Categoria editada com secesso!') else: messages.warning(request, 'Por favor, preencha os dados corretamente!') return render(request, 'dashboard_admin/edit_category.html', context)
def new_category(request): noForwardedsInfo(request) context = {} if request.method == 'GET': form = CategoryForm() context['form'] = form return render(request, 'dashboard_admin/new_category.html', context) else: form = CategoryForm(request.POST) if form.is_valid(): category = form.save() category.save() messages.success(request, "Nova categoria salva com sucesso!") else: messages.warning(request, "Por favor, preencha os campos corretamente!") context['form'] = form return HttpResponseRedirect( reverse('dashboard_admin:show_all_categories'))