stage one of editing funds on lineitems
authordjfiander <djfiander@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 7 May 2008 02:55:00 +0000 (02:55 +0000)
committerdjfiander <djfiander@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 7 May 2008 02:55:00 +0000 (02:55 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@9517 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/js/dojo/openils/widget/FundSelector.js [new file with mode: 0644]
Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/picklist/view.html

diff --git a/Open-ILS/web/js/dojo/openils/widget/FundSelector.js b/Open-ILS/web/js/dojo/openils/widget/FundSelector.js
new file mode 100644 (file)
index 0000000..6ea9755
--- /dev/null
@@ -0,0 +1,43 @@
+if(!dojo._hasResource["openils.widget.FundSelector"]){
+    dojo._hasResource["openils.widget.FundSelector"] = true;
+    dojo.provide("openils.widget.FundSelector");
+
+    dojo.require("dojox.grid.editors");
+
+    /**
+     * This widget provides a specific selector for selecting
+     * a fund.
+     */
+
+    dojo.declare("openils.widget.FundSelector", dojox.grid.editors.Select, {
+
+       constructor: function(inCell) {
+           console.dir(this);
+           this.store = this.store || this.cell.store;
+           this.identifier = this.identifier || this.cell.identifier || "id";
+           this.name = this.name || this.cell.name || "name";
+           this.options = openils.widget.FundSelector.fundNames;
+           this.values = openils.widget.FundSelector.fundCodes;
+       }
+    });
+    
+    openils.widget.FundSelector.fundNames = [];
+    openils.widget.FundSelector.fundCodes = [];
+
+    fieldmapper.standardRequest(
+       ['open-ils.acq', 'open-ils.acq.fund.org.retrieve'],
+       {
+           async: true,
+           params: [openils.User.authtoken, null, {flesh_summary:1}],
+           oncomplete: function (r) {
+               var msg;
+               
+               while (msg = r.recv()) {
+                   var f = msg.content();
+                   openils.widget.FundSelector.fundNames.push(f.name());
+                   openils.widget.FundSelector.fundCodes.push(f.id());
+               }
+           }
+       }
+    );
+}
index a6c6cb6..9b1299b 100644 (file)
            <div jsid='pickListGrid' dojoType='dojox.Grid'
                 id="oils-acq-picklist-grid"> </div>
            <script type="text/javascript" src="/js/dojo/openils/acq/Lineitems.js"></script>
+           <script type="text/javascript" src="/js/dojo/openils/widget/FundSelector.js"></script>
            <script type="text/javascript">
                 dojo.require("openils.acq.Picklist");
-//             dojo.require("openils.acq.Lineitems");
+               dojo.require("openils.acq.Lineitems");
+//             dojo.require("openils.widget.FundSelector");
                dojo.require('dojo.data.ItemFileReadStore');
 
                var picklistLayout = [{
@@ -80,7 +82,9 @@
 
                var lineitemLayout = [{ cells: [[
                    {name:"ID", field:"id"},
-                   {name:"Fund", get:getLIDFundName},
+                   {name:"Fund", field:"fund",
+                    editor: openils.widget.FundSelector,
+                    get:getLIDFundName},
                    {name:"Location", get:getLIDLibName} ]] }];
 
                openils.acq.Picklist.createStore(${c.oils.acq.picklist.value.id()},