def get_invoices(book, customer=None, days=None): invoices = [] query = Query() query.set_book(book) query.search_for("gncInvoice") if customer: query.add_guid_match(["owner", "guid"], customer.GetGUID(), QOF_QUERY_AND) if days: date_posted = date.today() - timedelta(days=days) pred_data = QueryDatePredicate(QOF_COMPARE_GTE, 2, date_posted) query.add_term(["date_posted"], pred_data, QOF_QUERY_AND) for result in query.run(): invoices.append(Invoice(instance=result)) return invoices
def query_transactions(book, terms=[]): query = Query() query.search_for('Trans') query.set_book(book) if terms: for term in terms: query.add_term(*term) transactions = [] for transaction in query.run(): transaction = Transaction( instance=transaction) # ToDo: query.run() should return objects transactions.append(transaction) query.destroy() return transactions
def query_splits(book, terms=[]): query = Query() query.search_for('Split') query.set_book(book) if terms: for term in terms: query.add_term(*term) splits = [] for split in query.run(): split = Split( instance=split) # ToDo: query.run() should return objects splits.append(split) query.destroy() return splits