Beispiel #1
0
    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
Beispiel #4
0
    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()
Beispiel #5
0
    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()
Beispiel #6
0
    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
Beispiel #7
0
    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