def add_type(request, id, template='type.html', redirect='../edit/'): if request.method == 'POST': form = TypeForm(request.POST) if form.is_valid(): # Do form processing here... return HttpResponseRedirect(redirect) else: form = TypeForm() return render_to_response(template, {'form': form})
def edit_type(jwt, type_id): try: categories = Category.query.order_by(Category.id).all() type = Type.query.get(type_id) if type is None: abort(404) except exc.SQLAlchemyError: abort(422) data = type.format() form = TypeForm(request.form) # Add category list to form form.category.choices = [(category.id, category.name) for category in categories] form.category.default = type.category_id form.process() return jsonify({ 'success': True, 'form': render_template('forms/edit_type.html', form=form, type=data) })
def new_type(): """ Add a new instrument type """ form = TypeForm(request.form) if request.method == 'POST' and form.validate(): # save the type save_changes('type', Type(), form, new=True) flash('Instrument type created successfully!') return redirect('/') return render_template('new_type.html', form=form)
def edit_type_submission(jwt, type_id): try: categories = Category.query.order_by(Category.id).all() except exc.SQLAlchemyError: abort(422) form = TypeForm() # Add category list to form form.category.choices = [(category.id, category.name) for category in categories] if not form.validate_on_submit(): return jsonify({'success': False}) error = False try: type = Type.query.get(type_id) if type is None: abort(404) type.name = request.form['name'] type.description = request.form['description'] type.category_id = int(request.form['category']) db.session.commit() # Save images as file = request.files['image'] if file: filename = upload_image(file, consts.LEAD_TYPE, type_id) type.image = filename db.session.commit() except exc.SQLAlchemyError: error = True db.session.rollback() finally: db.session.close() if not error: flash('Type {} was successfully updated!'.format( request.form['name'])) else: flash('An error occurred. Type {} could not be updated.'.format( request.form['name'])) return jsonify({'success': not error})
def create_type(jwt): try: categories = Category.query.order_by(Category.id).all() except exc.SQLAlchemyError: abort(422) form = TypeForm(request.form) # Add category list to form form.category.choices = [(category.id, category.name) for category in categories] return jsonify({ 'success': True, 'form': render_template('forms/new_type.html', form=form) })