def add_transaction(request_data): sender_account_identifier = request_data.get('sender_account_number') sender_account = AccountView.get_account_with_identifier( sender_account_identifier) reciever_account_identifier = request_data.get( 'reciever_account_number') reciever_account = AccountView.get_account_with_identifier( reciever_account_identifier) account_transaction_type = request_data.get('account_transaction_type') amount = Decimal(request_data.get('amount')) details = request_data.get('details') if AccountTransactionView.validate_transaction(sender_account, amount): new = AccountTransaction( sender_account_id=sender_account.id, reciever_account_id=reciever_account.id, account_transaction_type=account_transaction_type, amount=amount, details=details) new.save() response = { 'amount': new.get_amount_as_string(), 'sender': sender_account_identifier, 'reciever': reciever_account_identifier, 'number': new.identifier } else: response = {'message': 'Problem creating transaction'} return response