]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/invoice/common.js
only allow choice from active providers when creating POs and invoices
[working/Evergreen.git] / Open-ILS / web / js / ui / default / acq / invoice / common.js
1 dojo.require('dojo.date.stamp');
2 dojo.require('openils.User');
3 dojo.require('openils.widget.EditPane');
4
5 function drawInvoicePane(parentNode, inv, args) {
6     args = args || {};
7
8     var override = {};
9     if(!inv) {
10         override = {
11             recv_date : {widgetValue : dojo.date.stamp.toISOString(new Date())},
12             receiver : {widgetValue : openils.User.user.ws_ou()},
13             recv_method : {widgetValue : 'PPR'}
14         };
15     }
16
17     dojo.mixin(override, {
18         provider : { dijitArgs : { store_options : { base_filter : { active :"t" } } } },
19         shipper  : { dijitArgs : { store_options : { base_filter : { active :"t" } } } }
20     });
21
22     for(var field in args) {
23         override[field] = {widgetValue : args[field]};
24     }
25
26     var pane = new openils.widget.EditPane({
27         fmObject : inv,
28         paneStackCount : 2,
29         fmClass : 'acqinv',
30         mode : (inv) ? 'edit' : 'create',
31         hideActionButtons : true,
32         overrideWidgetArgs : override,
33         readOnly : (inv) && openils.Util.isTrue(inv.complete()),
34         requiredFields : [
35             'inv_ident', 
36             'recv_date', 
37             'provider', 
38             'shipper'
39         ],
40         fieldOrder : [
41             'inv_ident', 
42             'recv_date', 
43             'recv_method', 
44             'inv_type', 
45             'provider', 
46             'shipper'
47         ],
48         suppressFields : ['id', 'complete']
49     });
50
51     pane.startup();
52     parentNode.appendChild(pane.domNode);
53     return pane;
54 }
55