def post(self): student = request.form['student'] subject = request.form['subject'] address = request.form['address'] duration = int(request.form['duration']) payment_type = request.form['payment_type'] balance = requests.get( 'http://go-teach-balance.herokuapp.com/balances/{}'.format( student)).json() total_cost = COST_PER_HOUR * duration if (total_cost > 0) and (balance['amount'] >= total_cost or payment_type == 'cash'): order = OrderModel(student=student, teacher='', subject=subject, address=address, duration=duration, payment_type=payment_type, status='available') if payment_type != 'cash': requests.post( 'http://go-teach-balance.herokuapp.com/balances/{}/charge', data={'amount': total_cost}) order.save_to_db() return {'status': 'OK'} else: return {'status': 'Balance not enough'}
def post(self, received_item): current_user = get_jwt_identity() logged_user = UserModel.find_by_username(current_user) try: new_order = OrderModel( user_id=logged_user.id, customized_message=received_item.get("message"), create_date=datetime.datetime.utcnow()) for item in received_item.get("order"): found_menu = MenuModel.get_by_id(item.get("menu_id")) a = AssociationModel(counts=item.get("counts")) a.menu = found_menu new_order.menus.append(a) new_order.save_to_db() result = {"message": "successful"} except (Exception, ): logger.exception("create order failed") result = {"message": "failed"} return result