def update_order(purchase_id): # ------------------------- # Update data of order # ------------------------- if request.form.get('_method') != 'PUT': app.logger.Info( 'Cannot perform this action. Please contact administrator') abort(405) purchase = Purchase(id=purchase_id) try: purchase = purchase.list_one_or_none_purchase() if purchase_id is None: app.logger.info( f'No data with Purchase ID =\ {purchase_id} could be found!') abort(422) except BaseException: app.logger.info( f'An error occurred. No data with Purchase ID\ = {purchase_id} could be found!') abort(422) purchase.id = purchase_id product_name = request.form.get('product') purchase.quantity = request.form.get('quantity', purchase.quantity) customer_name = request.form.get('customer_id') purchase.purchase_date = request.form.get( 'purchase_date', purchase.purchase_date) purchase.total = request.form.get('total', purchase.total) product = Product.query.filter( Product.name == product_name).one_or_none() customer = Customer.query.filter( Customer.name == customer_name).one_or_none() purchase.product_id = product.product_id purchase.customer_id = customer.customer_id try: purchase.update_purchase_in_database() flash( f'Purchase {purchase_id} was successfully updated!', 'success') except BaseException: app.log.info(f'An error occurred. Purchase {purchase_id} \ could not be updated!') abort(422) return redirect(url_for('purchases'))