[open-ils-commits] SPAM: r9608 - in branches/acq-experiment/Open-ILS/web: js/dojo/openils/acq oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/financial oilsweb/oilsweb/templates/oils/default/acq/financial

svn at svn.open-ils.org svn at svn.open-ils.org
Wed May 14 17:41:38 EDT 2008


Author: erickson
Date: 2008-05-14 17:41:34 -0400 (Wed, 14 May 2008)
New Revision: 9608

Modified:
   branches/acq-experiment/Open-ILS/web/js/dojo/openils/acq/Provider.js
   branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/financial/view_provider.js
   branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/view_provider.html
Log:
added initial provider attr def creation interface.  need to add a dropdown of code options and more user-friendly creation options

Modified: branches/acq-experiment/Open-ILS/web/js/dojo/openils/acq/Provider.js
===================================================================
--- branches/acq-experiment/Open-ILS/web/js/dojo/openils/acq/Provider.js	2008-05-14 21:40:03 UTC (rev 9607)
+++ branches/acq-experiment/Open-ILS/web/js/dojo/openils/acq/Provider.js	2008-05-14 21:41:34 UTC (rev 9608)
@@ -68,5 +68,30 @@
     return openils.acq.Provider.cache[id];
 };
 
+
+openils.acq.Provider.retrieveLineitemAttrDefs = function(providerId, oncomplete) {
+    fieldmapper.standardRequest(
+        ['open-ils.acq', 'open-ils.acq.lineitem_provider_attr_definition.provider.retrieve.atomic'],
+        {   async: true,
+            params: [openils.User.authtoken, providerId],
+            oncomplete: function(r) {oncomplete(r.recv().content());}
+        }
+    );
 }
 
+openils.acq.Provider.createLineitemAttrDef = function(fields, oncomplete) {
+    var attr = new acqlipad();
+    for(var field in fields) 
+        attr[field](fields[field]);
+
+    fieldmapper.standardRequest(
+        ['open-ils.acq', 'open-ils.acq.lineitem_provider_attr_definition.create'],
+        {   async: true,
+            params: [openils.User.authtoken, attr],
+            oncomplete: function(r) {oncomplete(r.recv().content());}
+        }
+    );
+}
+
+
+}

Modified: branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/financial/view_provider.js
===================================================================
--- branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/financial/view_provider.js	2008-05-14 21:40:03 UTC (rev 9607)
+++ branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/public/oils/media/ui_js/oils/default/acq/financial/view_provider.js	2008-05-14 21:41:34 UTC (rev 9608)
@@ -22,6 +22,17 @@
     providerGrid.setModel(model);
     providerGrid.update();
 }
+function loadPADGrid() {
+    openils.acq.Provider.retrieveLineitemAttrDefs(providerId, 
+        function(attrs) {
+            var store = new dojo.data.ItemFileReadStore({data:acqlipad.toStoreData(attrs)});
+            var model = new dojox.grid.data.DojoData(
+                null, store, {rowsPerPage: 20, clientSort: true, query:{id:'*'}});
+            padGrid.setModel(model);
+            padGrid.update();
+        }
+    );
+}
 
 function fetchProvider() {
     fieldmapper.standardRequest(
@@ -36,5 +47,15 @@
     );
 }
 
+function createOrderRecordField(fields) {
+    fields.provider = providerId;
+    openils.acq.Provider.createLineitemAttrDef(fields, 
+        function(id) {
+            loadPADGrid();
+        }
+    );
+}
+
 dojo.addOnLoad(fetchProvider);
 
+

Modified: branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/view_provider.html
===================================================================
--- branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/view_provider.html	2008-05-14 21:40:03 UTC (rev 9607)
+++ branches/acq-experiment/Open-ILS/web/oilsweb/oilsweb/templates/oils/default/acq/financial/view_provider.html	2008-05-14 21:41:34 UTC (rev 9608)
@@ -25,6 +25,53 @@
             </script>
             <div jsId='providerGrid' dojoType="dojox.Grid" structure='providerGridLayout'> </div>
         </div>
+        <div dojoType="dijit.layout.ContentPane" 
+                class='oils-acq-detail-content-pane' title="${_('Order Record Format')}" style='height:400px;'>
+
+            <div class='oils-acq-actions-div' style='margin:8px;'>
+                <!-- Dropdown menu for creating a new funding source credit -->
+                <div dojoType="dijit.form.DropDownButton">
+                    <span>${('Create Order Record Field')}</span>
+                    <div dojoType="dijit.TooltipDialog" execute="createOrderRecordField(arguments[0]);">
+                        <table class='dijitTooltipTable'>
+                            <tr>
+                                <td><label for="code">${_('Code:')} </label></td>
+                                <td><input dojoType='dijit.form.TextBox' name='code'></input></td>
+                            </tr>
+                            <tr>
+                                <td><label for="description">${_('Description:')} </label></td>
+                                <td>
+                                    <!-- XXX get currency from funding source ... -->
+                                    <input dojoType="dijit.form.TextBox" name="description"> </input>
+                                </td>
+                            </tr>
+                            <tr>
+                                <td><label for="amount">${_('XPath:')} </label></td>
+                                <td><input dojoType="dijit.form.TextBox" name="xpath"></input></td>
+                            </tr>
+                            <tr>
+                                <td colspan='2' align='center'>
+                                    <button dojoType=dijit.form.Button type="submit">${_('Apply')}</button>
+                                </td>
+                            </tr>
+                        </table>
+                    </div>
+                </div> 
+            </div>
+
+            <script type='dojo/connect' event='onShow'>loadPADGrid();</script>
+            <script>
+                var padGridLayout = [{
+                    cells : [[
+                        {name: '${_("ID")}', field: 'id'},
+                        {name: '${_("Code")}', field:'code'},
+                        {name: '${_("Description")}', field: "description", width:'auto'}, 
+                        {name: '${_("XPath")}', field:'xpath', width:'auto'}
+                    ]]
+                }];
+            </script>
+            <div jsId='padGrid' dojoType="dojox.Grid" structure='padGridLayout'> </div>
+        </div>
     </div>
 </div>
 



More information about the open-ils-commits mailing list