Example #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)
Example #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)
Example #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)
Example #4
0
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)
Example #5
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)
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'))