[reports] more robust error handling if target report doesn't exist

addendum last commit
pull/2012/merge
Christopher Lam 11 months ago
parent 2fd89a2748
commit c0a38d3479

@ -273,7 +273,9 @@ gnc_report_id_string_to_report_id (const char *id_string)
if (end_ptr == anchor_str || *end_ptr != '\0') return -1;
const SCM get_linked = scm_c_eval_string ("gnc:report-get-linked-report");
return scm_to_uint (scm_call_2 (get_linked, scm_from_uint (rpt_id), scm_from_uint (anchor_id)));
auto id = scm_call_2 (get_linked, scm_from_uint (rpt_id), scm_from_uint (anchor_id));
return scm_is_number (id) ? scm_to_int (id) : -1;
}
gboolean

@ -176,13 +176,13 @@
((reportname src-options optionlist)
(let* ((options (gnc:make-report-options reportname))
(db (gnc:optiondb options)))
(gnc:options-copy-values src-options options)
(for-each
(lambda (l)
(gnc-set-option db (car l) (cadr l) (caddr l)))
optionlist)
(gnc:make-report reportname options)))
(_ (gnc:error "invalid id " id))))
(cond
(options
(gnc:options-copy-values src-options options)
(for-each (lambda (l) (apply gnc-set-option db l)) optionlist)
(gnc:make-report reportname options))
(else (gnc:error "cannot find temport template " reportname) #f))))
(_ (gnc:error "invalid src-id " src-id " id " id) #f)))
;; returns the account name as html-text and anchor to the register.
(define (gnc:html-account-anchor acct)

Loading…
Cancel
Save