def put(self): data = Transaction.parser.parse_args() transaction = TransactionModel.find_by_id(data['id']) if transaction is None: transaction = TransactionModel( datetime.strptime(data['date'], "%Y-%m-%d"), data['vendor'].lower(), data['category'].lower(), data['price']) else: transaction.date = datetime.strptime(data['date'], "%Y-%m-%d") transaction.vendor = data['vendor'].lower() transaction.category = data['category'].lower() transaction.price = data['price'] try: transaction.save_to_db() except: return { "message": "An error occurred inserting/updating the transaction." }, 500 return transaction.json()
def post(self): data = PayProducts.parser.parse_args() try: for payed_product in data.get('products'): sold_product = SoldProductModel.find_by_id( payed_product.id['id']) sold_product.payment_pending = False sold_product.update_to_db() except: return { "message": "an error occurred while updating the sales" }, 500 category = CategoryModel.find_by_name('pago_provedor') if not category: category = CategoryModel.create_category('pago_provedor') transaction = TransactionModel(transaction_id=None, amount=data.get('total'), date=str(data.get('date'))[:19], description=data.get('description'), is_expense=True, currency_id=data.get('currency_id'), category_id=category.category_id, method=data.get('method'), exchange=data.get('exchange')) transaction.save_to_db() return transaction.json(), 201
def put(self): data = Transaction.parser.parse_args() transaction = TransactionModel(**data) try: transaction.update_to_db() except: return {"message": "An error occurred updating the transaction"}, 500 return transaction.json(), 200
def put(self, transaction_id): data = Transaction.parser.parse_args() transaction = TransactionModel.find_by_transaction_id(transaction_id) if transaction: transaction.price = data['price'] transaction.payer_id = data['payer_id'] else: transaction = TransactionModel(transaction_id, **data) transaction.save_to_db() return transaction.json()
def post(self): data = Transaction.parser.parse_args() transaction = TransactionModel( datetime.strptime(data['date'], "%Y-%m-%d"), data['vendor'].lower(), data['category'].lower(), data['price']) try: transaction.save_to_db() except Exception as e: return { "message": f"An error occurred inserting the transaction. {e}" }, 500 return transaction.json()
def post(self, transaction_id): if TransactionModel.find_by_transaction_id(transaction_id): return { 'message': "An transaction with transaction_id '{}' already exists.". format(transaction_id) }, 400 data = Transaction.parser.parse_args() transaction = TransactionModel(transaction_id, **data) try: transaction.save_to_db() except: return { "message": "An error occurred inserting the transaction." }, 500 return transaction.json(), 201
def post(self, product_id): transaction = TransactionModel.find_unfinished(product_id=product_id) if transaction: try: transaction.mark_done() except: return { 'message': 'An error occurred marking the transaction complete.' }, 500 else: transaction = TransactionModel(product_id, trip_id=trip_id) try: transaction.save_to_db() except: return { 'message': 'An error occurred writing to the transaction table.' }, 500 return transaction.json(), 201