def getInvoices(book, is_paid, is_active): query = gnucash.Query() query.search_for('gncInvoice') query.set_book(book) if is_paid == 0: query.add_boolean_match([INVOICE_IS_PAID], False, QOF_QUERY_AND) elif is_paid == 1: query.add_boolean_match([INVOICE_IS_PAID], True, QOF_QUERY_AND) # active = JOB_IS_ACTIVE if is_active == 0: query.add_boolean_match(['active'], False, QOF_QUERY_AND) elif is_active == 1: query.add_boolean_match(['active'], True, QOF_QUERY_AND) # return only invoices (1 = invoices) pred_data = gnucash.gnucash_core.QueryInt32Predicate(QOF_COMPARE_EQUAL, 1) query.add_term([INVOICE_TYPE], pred_data, QOF_QUERY_AND) invoices = [] for result in query.run(): invoices.append( gnucash_simple.invoiceToDict( gnucash.gnucash_business.Invoice(instance=result))) query.destroy() return json.dumps(invoices)
def getInvoices(book, is_paid, is_active): query = gnucash.Query() query.search_for('gncInvoice') query.set_book(book) if is_paid == 0: query.add_boolean_match([INVOICE_IS_PAID], False, QOF_QUERY_AND) elif is_paid == 1: query.add_boolean_match([INVOICE_IS_PAID], True, QOF_QUERY_AND) # active = JOB_IS_ACTIVE if is_active == 0: query.add_boolean_match(['active'], False, QOF_QUERY_AND) elif is_active == 1: query.add_boolean_match(['active'], True, QOF_QUERY_AND) # return only invoices (1 = invoices) pred_data = QueryInt32Predicate(QOF_COMPARE_EQUAL, 1) query.add_term([INVOICE_TYPE], pred_data, QOF_QUERY_AND) invoices = [] for result in query.run(): invoices.append(gnucash_simple.invoiceToDict(gnucash.gnucash_business.Invoice(instance=result))) query.destroy() return json.dumps(invoices)
def getInvoice(book, id): invoice = book.InvoiceLookupByID(id) if invoice is None: return None else: #print invoiceToDict(invoice) return json.dumps(gnucash_simple.invoiceToDict(invoice))