def categories(): id = request.values.get('id', default=0, type=int) id_user = current_user.get_id() category = session.query(Category).filter( Category.id == id and Category.id_user == id_user).one_or_none() if not category: category = Category() elif request.args.get('action', default='', type=str) == 'delete': session.delete(category) session.commit() flash( f"Category was deleted (id='{category.id}', name='{category.name}')" ) return redirect(url_for('categories')) form = CategoryForm(obj=category) categories = session.query(Category).filter( Category.id_user == id_user).order_by('id').all() tree = Tree(categories) form.parent_id.choices = tree.return_choises() if form.validate_on_submit(): if form.parent_id.data == "0": form.parent_id.data = None category.add_form_data(form) session.add(category) session.commit() if id: flash( f"Category was updated (id='{category.id}', name='{category.name}')" ) else: flash( f"Category was created (id='{category.id}', name='{category.name}')" ) return redirect(url_for('categories')) to_form = { "title": "Categories", "id": id, "form": form, "categories": categories, } return render_template("categories.html", **to_form)
def category_details(request, idk=None): if idk: category = get_object_or_404(Category, pk=idk) category_form = CategoryForm(request.POST or None, request.FILES or None, instance=category) else: category = Category() category_form = CategoryForm() if request.POST: category_form = CategoryForm(instance=category, data=request.POST, files=request.FILES) if category_form.is_valid(): category_form.save() return redirect('category_list') return render(request, 'category/category_details.html', {'category_form': category_form})
def create_category(): if 'id' in session: name = request.form["name"] img = request.files["image"] file_name = save_category_pic(img) new_category = Category(name=name, prof_img=file_name) try: db.session.add(new_category) db.session.commit() return redirect(url_for('Admin.show_category')) except Exception as e: print(e) db.session.rollback() flash("Category Not Created!!, Please try again", "warning") return redirect(url_for('Admin.show_category')) flash("You are not authorised", "danger") return redirect(url_for('Admin.log_in'))