mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
change the Order API to take "Timespec" instead of "Timespec*"
g-wrap more of the business objects create a job and order in the test data git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@6747 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
@@ -122,17 +122,17 @@ void gncOrderSetOwner (GncOrder *order, GncOwner *owner)
|
||||
order->dirty = TRUE;
|
||||
}
|
||||
|
||||
void gncOrderSetDateOpened (GncOrder *order, Timespec *date)
|
||||
void gncOrderSetDateOpened (GncOrder *order, Timespec date)
|
||||
{
|
||||
if (!order || !date) return;
|
||||
order->opened = *date;
|
||||
if (!order) return;
|
||||
order->opened = date;
|
||||
order->dirty = TRUE;
|
||||
}
|
||||
|
||||
void gncOrderSetDateClosed (GncOrder *order, Timespec *date)
|
||||
void gncOrderSetDateClosed (GncOrder *order, Timespec date)
|
||||
{
|
||||
if (!order || !date) return;
|
||||
order->closed = *date;
|
||||
if (!order) return;
|
||||
order->closed = date;
|
||||
order->dirty = TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ void gncOrderDestroy (GncOrder *order);
|
||||
|
||||
void gncOrderSetID (GncOrder *order, const char *id);
|
||||
void gncOrderSetOwner (GncOrder *order, GncOwner *owner);
|
||||
void gncOrderSetDateOpened (GncOrder *order, Timespec *date);
|
||||
void gncOrderSetDateClosed (GncOrder *order, Timespec *date);
|
||||
void gncOrderSetDateOpened (GncOrder *order, Timespec date);
|
||||
void gncOrderSetDateClosed (GncOrder *order, Timespec date);
|
||||
void gncOrderSetNotes (GncOrder *order, const char *notes);
|
||||
void gncOrderSetReference (GncOrder *order, const char *reference);
|
||||
void gncOrderSetActive (GncOrder *order, gboolean active);
|
||||
|
||||
@@ -421,6 +421,14 @@
|
||||
'((<gnc:GncInvoice*> invoice) (<gnc:time-pair> date))
|
||||
"Set the Invoice-Opened Date")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:invoice-set-terms
|
||||
'<gw:void>
|
||||
"gncInvoiceSetTerms"
|
||||
'((<gnc:GncInvoice*> invoice) ((<gw:mchars> callee-owned const) id))
|
||||
"Set the Invoice Terms")
|
||||
|
||||
; Get Functions
|
||||
|
||||
(gw:wrap-function
|
||||
@@ -507,6 +515,50 @@
|
||||
;; gncJob.h
|
||||
;;
|
||||
|
||||
; Set Functions
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:job-create
|
||||
'<gnc:GncJob*>
|
||||
"gncJobCreate"
|
||||
'((<gnc:Book*> book))
|
||||
"Create a new Job")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:job-set-id
|
||||
'<gw:void>
|
||||
"gncJobSetID"
|
||||
'((<gnc:GncJob*> job) ((<gw:mchars> callee-owned const) id))
|
||||
"Set the job ID")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:job-set-name
|
||||
'<gw:void>
|
||||
"gncJobSetName"
|
||||
'((<gnc:GncJob*> job) ((<gw:mchars> callee-owned const) name))
|
||||
"Set the job Name")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:job-set-reference
|
||||
'<gw:void>
|
||||
"gncJobSetReference"
|
||||
'((<gnc:GncJob*> job) ((<gw:mchars> callee-owned const) reference))
|
||||
"Set the job Reference")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:job-set-owner
|
||||
'<gw:void>
|
||||
"gncJobSetOwner"
|
||||
'((<gnc:GncJob*> job) (<gnc:GncOwner*> owner))
|
||||
"Set the job Owner")
|
||||
|
||||
; Get Functions
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:job-get-id
|
||||
@@ -543,6 +595,50 @@
|
||||
;; gncOrder.h
|
||||
;;
|
||||
|
||||
; Set Functions
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:order-create
|
||||
'<gnc:GncOrder*>
|
||||
"gncOrderCreate"
|
||||
'((<gnc:Book*> book))
|
||||
"Create a new order")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:order-set-id
|
||||
'<gw:void>
|
||||
"gncOrderSetID"
|
||||
'((<gnc:GncOrder*> order) ((<gw:mchars> callee-owned const) id))
|
||||
"Set the Order ID")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:order-set-owner
|
||||
'<gw:void>
|
||||
"gncOrderSetOwner"
|
||||
'((<gnc:GncOrder*> order) (<gnc:GncOwner*> owner))
|
||||
"Set the Order Owner")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:order-set-date-opened
|
||||
'<gw:void>
|
||||
"gncOrderSetDateOpened"
|
||||
'((<gnc:GncOrder*> order) (<gnc:time-pair> date))
|
||||
"Set the Order's Opened Date")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:order-set-reference
|
||||
'<gw:void>
|
||||
"gncOrderSetReference"
|
||||
'((<gnc:GncOrder*> order) ((<gw:mchars> callee-owned const) id))
|
||||
"Set the Order Reference")
|
||||
|
||||
; Get Functions
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
'gnc:order-get-id
|
||||
|
||||
@@ -233,6 +233,8 @@
|
||||
(address (gnc:customer-get-addr customer))
|
||||
(invoice (gnc:invoice-create book))
|
||||
(owner (gnc:owner-create))
|
||||
(job (gnc:job-create book))
|
||||
(order (gnc:order-create book))
|
||||
(group (gnc:book-get-group book))
|
||||
(inc-acct (gnc:malloc-account book))
|
||||
(bank-acct (gnc:malloc-account book))
|
||||
@@ -254,9 +256,26 @@
|
||||
;; Create the Invoice
|
||||
(gnc:invoice-set-id invoice "000012")
|
||||
(gnc:invoice-set-owner invoice owner)
|
||||
(gnc:invoice-set-terms invoice "Net-30")
|
||||
(gnc:invoice-set-date-opened
|
||||
invoice (cons (current-time) 0))
|
||||
|
||||
;; Create the Job
|
||||
(gnc:job-set-id job "000025")
|
||||
(gnc:job-set-name job "Test Job")
|
||||
(gnc:job-set-reference job "Customer's ref#")
|
||||
(gnc:job-set-owner job owner)
|
||||
|
||||
;; MODIFY THE OWNER
|
||||
(gnc:owner-init-job owner job)
|
||||
|
||||
;; Create the Order
|
||||
(gnc:order-set-id order "001342")
|
||||
(gnc:order-set-owner order owner)
|
||||
(gnc:order-set-reference order "Customer's ref#")
|
||||
(gnc:order-set-date-opened
|
||||
order (cons (current-time) 0))
|
||||
|
||||
;; Create the A/R account
|
||||
(gnc:account-set-type ar-acct 'receivable)
|
||||
(gnc:account-set-name ar-acct "A/R")
|
||||
@@ -285,6 +304,9 @@
|
||||
(gnc:default-currency))
|
||||
(gnc:group-insert-account group tax-acct)
|
||||
|
||||
;; Launch the order editor
|
||||
(gnc:order-edit #f order)
|
||||
|
||||
;; Launch the invoice editor
|
||||
(gnc:invoice-edit #f invoice)
|
||||
))))
|
||||
|
||||
@@ -109,7 +109,7 @@ static void gnc_ui_to_order (OrderWindow *ow, GncOrder *order)
|
||||
|
||||
tt = gnome_date_edit_get_date (GNOME_DATE_EDIT (ow->opened_date));
|
||||
timespecFromTime_t (&ts, tt);
|
||||
gncOrderSetDateOpened (order, &ts);
|
||||
gncOrderSetDateOpened (order, ts);
|
||||
|
||||
if (ow->active_check)
|
||||
gncOrderSetActive (order, gtk_toggle_button_get_active
|
||||
@@ -271,7 +271,7 @@ gnc_order_window_close_order_cb (GtkWidget *widget, gpointer data)
|
||||
if (!gnc_dialog_date_close_parented (ow->dialog, message, label, TRUE, &ts))
|
||||
return;
|
||||
|
||||
gncOrderSetDateClosed (order, &ts);
|
||||
gncOrderSetDateClosed (order, ts);
|
||||
|
||||
/* save it off */
|
||||
gnc_order_window_ok_save (ow);
|
||||
|
||||
@@ -231,22 +231,32 @@
|
||||
(gnc:register-inv-option
|
||||
(gnc:make-simple-boolean-option
|
||||
(N_ "Display") (N_ "Tax")
|
||||
"k" (N_ "Display the entry's tax") #f))
|
||||
"l" (N_ "Display the entry's tax") #f))
|
||||
|
||||
(gnc:register-inv-option
|
||||
(gnc:make-simple-boolean-option
|
||||
(N_ "Display") (N_ "Tax Value")
|
||||
"k" (N_ "Display the entry's monetary tax") #f))
|
||||
"m" (N_ "Display the entry's monetary tax") #f))
|
||||
|
||||
(gnc:register-inv-option
|
||||
(gnc:make-simple-boolean-option
|
||||
(N_ "Display") (N_ "Value")
|
||||
"k" (N_ "Display the entry's value") #t))
|
||||
"n" (N_ "Display the entry's value") #t))
|
||||
|
||||
(gnc:register-inv-option
|
||||
(gnc:make-simple-boolean-option
|
||||
(N_ "Display") (N_ "Totals")
|
||||
"l" (N_ "Display the totals?") #t))
|
||||
"p" (N_ "Display the totals?") #t))
|
||||
|
||||
(gnc:register-inv-option
|
||||
(gnc:make-simple-boolean-option
|
||||
(N_ "Display") (N_ "References")
|
||||
"s" (N_ "Display the invoice references?") #t))
|
||||
|
||||
(gnc:register-inv-option
|
||||
(gnc:make-simple-boolean-option
|
||||
(N_ "Display") (N_ "Terms")
|
||||
"t" (N_ "Display the invoice terms?") #t))
|
||||
|
||||
(gnc:options-set-default-section gnc:*report-options* "General")
|
||||
|
||||
@@ -475,10 +485,11 @@
|
||||
(invoice (opt-val "__reg" "invoice"))
|
||||
(owner (gnc:invoice-get-owner invoice))
|
||||
(entries (gnc:invoice-get-entries invoice))
|
||||
(references? (opt-val "Display" "References"))
|
||||
(title (string-append (_ "Invoice #") (gnc:invoice-get-id invoice))))
|
||||
|
||||
(define (add-order o)
|
||||
(if (not (member o orders))
|
||||
(if (and references? (not (member o orders)))
|
||||
(addto! orders o)))
|
||||
|
||||
(set! table (make-entry-table entries
|
||||
@@ -517,6 +528,17 @@
|
||||
|
||||
(make-break! document)
|
||||
(make-break! document)
|
||||
|
||||
(if (opt-val "Display" "Terms")
|
||||
(let ((terms (gnc:invoice-get-terms invoice)))
|
||||
(if (and terms (> (string-length terms) 0))
|
||||
(gnc:html-document-add-object!
|
||||
document
|
||||
(gnc:make-html-text
|
||||
(string-append
|
||||
(_ "Terms") ": "
|
||||
(string-expand terms #\newline "<br>")))))))
|
||||
|
||||
(make-break! document)
|
||||
|
||||
(gnc:html-document-add-object! document table)
|
||||
|
||||
Reference in New Issue
Block a user