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:
Derek Atkins
2002-02-28 00:55:34 +00:00
parent bc0eb9c8cc
commit 38f3120e14
6 changed files with 155 additions and 15 deletions

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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

View File

@@ -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)
))))

View File

@@ -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);

View File

@@ -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") ":&nbsp;"
(string-expand terms #\newline "<br>")))))))
(make-break! document)
(gnc:html-document-add-object! document table)