Initial dev repository
[kcls-web.git] / js / ui / default / acq / invoice / common.js
diff --git a/js/ui/default/acq/invoice/common.js b/js/ui/default/acq/invoice/common.js
new file mode 100644 (file)
index 0000000..03fade4
--- /dev/null
@@ -0,0 +1,55 @@
+dojo.require('dojo.date.stamp');
+dojo.require('openils.User');
+dojo.require('openils.widget.EditPane');
+
+function drawInvoicePane(parentNode, inv, args) {
+    args = args || {};
+
+    var override = {};
+    if(!inv) {
+        override = {
+            recv_date : {widgetValue : dojo.date.stamp.toISOString(new Date())},
+            receiver : {widgetValue : openils.User.user.ws_ou()},
+            recv_method : {widgetValue : 'PPR'}
+        };
+    }
+
+    dojo.mixin(override, {
+        provider : { dijitArgs : { store_options : { base_filter : { active :"t" } } } },
+        shipper  : { dijitArgs : { store_options : { base_filter : { active :"t" } } } }
+    });
+
+    for(var field in args) {
+        override[field] = {widgetValue : args[field]};
+    }
+
+    var pane = new openils.widget.EditPane({
+        fmObject : inv,
+        paneStackCount : 2,
+        fmClass : 'acqinv',
+        mode : (inv) ? 'edit' : 'create',
+        hideActionButtons : true,
+        overrideWidgetArgs : override,
+        readOnly : (inv) && openils.Util.isTrue(inv.complete()),
+        requiredFields : [
+            'inv_ident', 
+            'recv_date', 
+            'provider', 
+            'shipper'
+        ],
+        fieldOrder : [
+            'inv_ident', 
+            'recv_date', 
+            'recv_method', 
+            'inv_type', 
+            'provider', 
+            'shipper'
+        ],
+        suppressFields : ['id', 'complete']
+    });
+
+    pane.startup();
+    parentNode.appendChild(pane.domNode);
+    return pane;
+}
+