Auto update of several scripts.
authorJoseph Lewis <joehms22@gmail.com>
Wed, 11 Jul 2012 15:09:45 +0000 (09:09 -0600)
committerThomas Berezansky <tsbere@mvlc.org>
Wed, 10 Oct 2012 14:22:38 +0000 (10:22 -0400)
Signed-off-by: Joseph Lewis <joehms22@gmail.com>
Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Open-ILS/src/templates/acq/common/jubgrid.tt2
Open-ILS/web/conify/global/actor/org_unit.html
Open-ILS/web/conify/global/actor/org_unit_type.html
Open-ILS/web/conify/global/config/copy_status.html
Open-ILS/web/conify/global/config/copy_status.js
Open-ILS/web/conify/global/permission/perm_list.html
Open-ILS/web/js/ui/default/acq/common/jubgrid.js
Open-ILS/xul/staff_client/server/admin/org_unit_settings.js
Open-ILS/xul/staff_client/server/admin/org_unit_settings.xhtml

index ce13d56..cf4e145 100644 (file)
@@ -47,7 +47,7 @@ pointing to the JUB model (and store) that you have created.
     <script type="text/javascript" src='[% ctx.media_prefix %]/js/dojo/openils/CopyLocation.js'> </script>
     <script type="text/javascript">
     JUBGrid.getPO = function(rowIndex) {
-        var data = JUBGrid.jubGrid.model.getRow(rowIndex);
+        var data = JUBGrid.jubGrid.getItem(rowIndex);
         if (!(data && data.purchase_order)) return '';
         return "<a href='[% ctx.base_path %]/acq/po/view/" + data.purchase_order+"'>"+data.purchase_order+"</a>";
     }
@@ -147,7 +147,7 @@ pointing to the JUB model (and store) that you have created.
     <div style='height:100%;'>
 [% END %]
         <div structure='JUBGrid.jubGridLayout' jsid='[% grid_jsid %]' class='grid_container'
-            dojoType='dojox.Grid' id="[% domprefix %]-JUB-grid">
+            dojoType='dojox.grid.DataGrid' id="[% domprefix %]-JUB-grid">
         </div>
     </div>
 [% UNLESS hide_details %]
@@ -200,7 +200,7 @@ pointing to the JUB model (and store) that you have created.
 
     <div style='height:40%;'>
            <div class='grid_container'>
-            <div structure='JUBGrid.jubDetailGridLayout' jsid="JUBGrid.jubDetailGrid" dojoType="dojox.Grid"
+            <div structure='JUBGrid.jubDetailGridLayout' jsid="JUBGrid.jubDetailGrid" dojoType="dojox.grid.DataGrid"
                 id='[% domprefix %]-details-grid'>
             </div>
         </div>
index 6235e7f..d3889bb 100644 (file)
                </style>
 
                <!-- The OpenSRF API writ JS -->
-               <script language='javascript' src='/IDL2js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/utils.js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/CGI.js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/JSON_v1.js' type='text/javascript'></script>
+               <script  src='/IDL2js' type='text/javascript'></script>
+               <script  src='/opac/common/js/utils.js' type='text/javascript'></script>
+               <script  src='/opac/common/js/CGI.js' type='text/javascript'></script>
+               <script  src='/opac/common/js/JSON_v1.js' type='text/javascript'></script>
 
                <!-- Dojo goodness -->
                <script type="text/javascript" src="../admin.js"></script>
index 4b1e843..442db91 100644 (file)
                </style>
 
                <!-- The OpenSRF API writ JS -->
-               <script language='javascript' src='/IDL2js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/utils.js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/CGI.js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/JSON_v1.js' type='text/javascript'></script>
+               <script  src='/IDL2js' type='text/javascript'></script>
+               <script  src='/opac/common/js/utils.js' type='text/javascript'></script>
+               <script  src='/opac/common/js/CGI.js' type='text/javascript'></script>
+               <script  src='/opac/common/js/JSON_v1.js' type='text/javascript'></script>
 
                <!-- Dojo goodness -->
                <script type="text/javascript" src="../admin.js"></script>
index 262eaf2..644ad0e 100644 (file)
@@ -22,7 +22,8 @@
                <title>&conify.copy_status.title;</title>
 
                <style type="text/css">
-                       @import url('/js/dojo/dojox/grid/_grid/tundraGrid.css');
+                       @import url('/js/dojo/dojox/grid/resources/Grid.css');
+                       @import url('/js/dojo/dojox/grid/resources/tundraGrid.css');
                        @import url('/js/dojo/dojo/resources/dojo.css');
                        @import url('/js/dojo/dijit/themes/tundra/tundra.css');
                        @import url('/js/dojo/dojox/widget/Toaster/Toaster.css');
                                width: 100%;
                                height: 100%;
                        }
+
+                       .dojoxGrid table {
+                               margin: 0;
+                       }
                </style>
 
                <!-- The OpenSRF API writ JS -->
-               <script language='javascript' src='/IDL2js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/utils.js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/CGI.js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/JSON_v1.js' type='text/javascript'></script>
+               <script  src='/IDL2js' type='text/javascript'></script>
+               <script  src='/opac/common/js/utils.js' type='text/javascript'></script>
+               <script  src='/opac/common/js/CGI.js' type='text/javascript'></script>
+               <script  src='/opac/common/js/JSON_v1.js' type='text/javascript'></script>
 
                <!-- Dojo goodness -->
                <script type="text/javascript" src="../admin.js"></script>
                <script type="text/javascript" src="/js/dojo/dijit/dijit.js"></script>
 
                <script type="text/javascript" src="copy_status.js"></script>
-
-        <script type="text/javascript">
-<![CDATA[
-            var dirtyStore = [];
-
-            var _status_list = pCRUD.retrieveAll('ccs', { order_by : { ccs : 'name' } });
-            var _status_data = ccs.toStoreData( _status_list, 'name' );
-            var status_store = new dojo.data.ItemFileWriteStore({ data : _status_data });
-
-            status_store.onSet = function (item, attr, o, n) {
-                if (attr == 'ischanged') return;
-                if (n == o) return;
-                this.setValue( item, 'ischanged', 1);
-
-                if (attr == 'holdable' && typeof n != 'string')
-                    this.setValue(item, 'holdable', n ? 't' : 'f');
-
-                if (attr == 'opac_visible' && typeof n != 'string')
-                    this.setValue(item, 'opac_visible', n ? 't' : 'f');
-
-                if (attr == 'copy_active' && typeof n != 'string')
-                    this.setValue(item, 'copy_active', n ? 't' : 'f');
-            };
-
-            dojo.addOnUnload( function (event) {
-
-                status_store.fetch({
-                    query : { ischanged : 1 },
-                    onItem : function (item, req) { try { if (this.isItem( item )) dirtyStore.push( item ); } catch (e) { /* meh */ } },
-                    scope : status_store
-                });
-
-                if (dirtyStore.length > 0) {
-                    var confirmation = confirm(
-                        ccs_strings.CONFIRM_EXIT_CCS
-                    );
-
-                    if (confirmation) {
-                        for (var i in window.dirtyStore) {
-                            current_status = dirtyStore[i];
-                            save_status(true);
-                        }
-                    }
-                }
-
-            });
-]]>
-        </script>
-
        </head>
 
        <body class="tundra" id='pagebody'>
-
                <div dojoType="dijit.layout.LayoutContainer" id="grid_container" jsId="grid_container" orientation="vertical">
-
-                       <div dojoType="dijit.layout.LayoutContainer" orientation="horizontal" style="margin-top: 5px;" layoutAlign="top">
+                       <div dojoType="dijit.Toolbar" orientation="horizontal" style="margin-top: 5px;" layoutAlign="top">
                                <span>&conify.copy_status.new_status.label;</span>
                                <div dojoType="dijit.form.TextBox" id="new_status_code" jsId="new_status_name" label="&conify.copy_status.new_status.name;"></div>
-                               <button dojoType="dijit.form.Button" id="save_new_status_code" jsId="save_new_status_name" label="&conify.copy_status.new_status.save;"> 
-                                       <script type="dojo/connect" event="onClick">
-<![CDATA[
-                                               var new_name = new_status_name.getValue();
-                                               if (!new_name) return;
+                               <button dojoType="dijit.form.Button" id="save_new_status_code" jsId="save_new_status_name" label="&conify.copy_status.new_status.save;" onClick="newCopyStatus()"></button>
 
-                       var new_fm_obj = new ccs().fromHash({
-                               isnew           : 1,
-                           name            : new_name
-                           });
-    
-                       var err = false;
-                           pCRUD.create(new_fm_obj, {
-                               onerror : function (r) {
-                               highlighter.red.play();
-                                   status_update( ccs_strings.ERROR_CALLING_METHOD_CCS );
-                               err = true;
-                               },
-                               oncomplete : function (r, list) {
-                                   var new_item_hash = list[0].toHash();
-                                   status_store.newItem( new_item_hash );
-                                                               status_update( dojo.string.substitute(ccs_strings.SUCCESS_CREATING_STATUS, [new_item_hash.name]) );
-                                                               status_grid.model.sort(-2);
-                                                               highlighter.green.play();
-                               }
-                       });
-]]> 
-                       </script>
-                               </button>
-                       </div>
+                               <span dojoType="dijit.ToolbarSeparator"></span>
 
-                       <div dojoType="dijit.layout.ContentPane" style="width:100%; height:100%;" layoutAlign="client">
-                               <div dojoType="dojox.grid.data.DojoData" id="status_data_model" jsId="status_data_model" store="status_store" query="{ 'id' : '*' }"></div>
-                               <div id="status_grid" dojoType="dojox.Grid" jsId="status_grid">
-                                       <script type="dojo/connect" event="startup">
-<![CDATA[
-                                               var g = this;
-                                               var status_grid_layout = [
-                                                       {       cells : [
-                                                                       [
-                                                                               { name : ccs_strings.ID,
-                                                                                 field : "id",
-                                                                               },
-                                                                               { name : ccs_strings.NAME,
-                                                                                 field : "name",
-                                                                                 width : "auto",
-                                                                                 editor : dojox.grid.editors.Dijit
-                                                                               },
-                                                                               { name : ccs_strings.TRANSLATION,
-                                                                                 width : "10em",
-                                                                                 height : "2em",
-                                          formatter: function (row) {
-                                                                                               return '<span class="status_grid_trans_cell_'+row+'"></span>';
-                                          },
-                                                                                 get : function (row) {
-                                                                                       if (!window.status_rows) window.status_rows = [];
-                                                                                       var r = window.status_data_model.getRow(row);
-                                                                                       if (r) {
-                                                                                               window.status_rows[row] = new ccs().fromHash(window.status_data_model.getRow(row));
-                                                                                               setTimeout(
-                                                                                                       'dojo.query(".status_grid_trans_cell_' + row + '").'+
-                                                                                                               'instantiate(openils.widget.TranslatorPopup,{field:"name",'+
-                                                                                                               'targetObject:"window.status_rows['+row+']"});'+
-                                                                                                               'status_grid.rowHeightChanged('+row+')',
-                                                                                                       0
-                                                                                               );
-                                                                                               return row;
-                                                                                       }
-                                                                                       return '';
-                                                                                 }
-                                                                               },
-                                                                               { name : ccs_strings.HOLDABLE,
-                                                                                 field : "holdable",
-                                                                                 editor : dojox.grid.editors.bool,
-                                                                                 get : function (row) {
-                                                                                       var r = window.status_data_model.getRow(row);
-                                                                                       if (r) {
-                                                                                               var h = r.holdable;
-                                                                                               if (h == 't' || h === true) return true;
-                                                                                               return false;
-                                                                                       }
-                                                                                 }
-                                                                               },
-                                                                               { name : ccs_strings.OPAC_VISIBLE,
-                                                                                 field : "opac_visible",
-                                                                                 editor : dojox.grid.editors.bool,
-                                                                                 get : function (row) {
-                                                                                       var r = window.status_data_model.getRow(row);
-                                                                                       if (r) {
-                                                                                               var h = r.opac_visible;
-                                                                                               if (h == 't' || h === true) return true;
-                                                                                               return false;
-                                                                                       }
-                                                                                 }
-                                                                               },
-                                                                               { name : ccs_strings.COPY_ACTIVE,
-                                                                                 field : "copy_active",
-                                                                                 editor : dojox.grid.editors.bool,
-                                                                                 get : function (row) {
-                                                                                       var r = window.status_data_model.getRow(row);
-                                                                                       if (r) {
-                                                                                               var h = r.copy_active;
-                                                                                               if (h == 't' || h === true) return true;
-                                                                                               return false;
-                                                                                       }
-                                                                                 }
-                                                                               }
-                                                                       ]
-                                                               ]
-                                                       }
-                                               ];
-
-                                               this.setStructure(status_grid_layout);
-                                               this.setModel(window.status_data_model);
-]]>
-                                       </script>
-                               </div>
-                       </div>
-
-                       <div dojoType="dijit.layout.ContentPane" orientation="horizontal" style="margin-bottom: 5px;" layoutAlign="bottom">
-               
                                <button jsId="save_ccs_button" dojoType="dijit.form.Button" label="&conify.copy_status.save_changes;" onClick="save_them_all()"></button>
-               
-                               <button jsId="delete_ccs_button" dojoType="dijit.form.Button" label="&conify.copy_status.delete_selected;">
-                                       <script type="dojo/connect" event="onClick">
-<![CDATA[
-                                               var selected_rows = status_grid.selection.getSelected();
-               
-                                               var selected_items = [];
-                                               for (var i in selected_rows) {
-                                                       selected_items.push(
-                                                               status_grid.model.getRow( selected_rows[i] ).__dojo_data_item
-                                                       );
-                                               }
-
-                                               status_grid.selection.clear();
-
-                                               for (var i in selected_items) {
-                                                       current_status = selected_items[i];
-
-                                                       if ( confirm(dojo.string.substitute(ccs_strings.CONFIRM_DELETE, [status_store.getValue( current_status, 'name' )]))) {
+                               <button jsId="delete_ccs_button" dojoType="dijit.form.Button" label="&conify.copy_status.delete_selected;" onClick="delete_them()"></button>
+                       </div>
 
-                                                               status_store.setValue( current_status, 'isdeleted', 1 );
-                       
-                                                               var modified_ccs = new ccs().fromStoreItem( current_status );
-                                                               modified_ccs.isdeleted( 1 );
-                       
-                                                               pCRUD.eliminate(modified_ccs, {
-                                                                       onerror : function (r) {
-                                                                               highlighter.red.play();
-                                                                               status_update( dojo.string.substitute( ccs_strings.ERROR_DELETING, [status_store.getValue( current_status, 'name' )] ) );
-                                                                       },
-                                                                       oncomplete : function (r) {
-                                                                               var old_name = status_store.getValue( current_status, 'name' );
-               
-                                                                               status_store.fetch({
-                                                                                       query : { id : status_store.getValue( current_status, 'id' ) },
-                                                                                       onItem : function (item, req) { try { if (this.isItem( item )) this.deleteItem( item ); } catch (e) { /* meh */ } },
-                                                                                       scope : status_store
-                                                                               });
-                       
-                                                                               current_status = null;
-                       
-                                                                               highlighter.green.play();
-                                                                               status_update( dojo.string.substitute(ccs_strings.STATUS_DELETED, [old_name]) );
-                                                                       }
-                                                               });
-               
-                                                       }
-                                               }
-]]>
-                                       </script>
-                               </button>
-       
+                       <div dojoType="dijit.layout.ContentPane" style="width:100%; height:100%;" layoutAlign="client">
+                               <div id="status_grid" dojoType="dojox.grid.DataGrid" jsId="status_grid" store="status_store" structure="status_grid_layout"></div>
                        </div>
                </div>
-       
-        <script type="text/javascript">
-            var highlighter= {};
-            highlighter.green = dojox.fx.highlight( { color : '#B4FFB4', node : 'grid_container', duration : 500 } );
-            highlighter.red = dojox.fx.highlight( { color : '#FF2018', node : 'grid_container', duration : 500 } );
-        </script>
        </body>
 </html>
index fc0d883..36dd118 100644 (file)
@@ -31,8 +31,10 @@ dojo.require('dijit.layout.LayoutContainer');
 dojo.require('dijit.layout.BorderContainer');
 dojo.require('dojox.widget.Toaster');
 dojo.require('dojox.fx');
-dojo.require('dojox.grid.Grid');
 dojo.require('openils.XUL');
+dojo.require('dojox.grid.cells.dijit');
+dojo.require('dojo.data.ItemFileWriteStore');
+dojo.require('dojox.grid.DataGrid');
 dojo.requireLocalization("openils.conify", "conify");
 
 // some handy globals
@@ -102,3 +104,224 @@ function save_them_all (event) {
 
 dojo.addOnUnload( save_them_all );
 
+
+
+var dirtyStore = [];
+
+var _status_list = pCRUD.retrieveAll('ccs', {
+       order_by: {
+               ccs: 'name'
+       }
+});
+var _status_data = ccs.toStoreData(_status_list, 'name');
+var status_store = new dojo.data.ItemFileWriteStore({
+       data: _status_data
+});
+
+status_store.onSet = function (item, attr, o, n) {
+       if (attr == 'ischanged') return;
+       if (n == o) return;
+       this.setValue(item, 'ischanged', 1);
+
+       if (attr == 'holdable' && typeof n != 'string') this.setValue(item, 'holdable', n ? 't' : 'f');
+
+       if (attr == 'opac_visible' && typeof n != 'string') this.setValue(item, 'opac_visible', n ? 't' : 'f');
+
+       if (attr == 'copy_active' && typeof n != 'string') this.setValue(item, 'copy_active', n ? 't' : 'f');
+};
+
+dojo.addOnUnload(function (event) {
+
+       status_store.fetch({
+               query: {
+                       ischanged: 1
+               },
+               onItem: function (item, req) {
+                       try {
+                               if (this.isItem(item)) dirtyStore.push(item);
+                       } catch (e) { /* meh */
+                       }
+               },
+               scope: status_store
+       });
+
+       if (dirtyStore.length > 0) {
+               var confirmation = confirm(
+               ccs_strings.CONFIRM_EXIT_CCS);
+
+               if (confirmation) {
+                       for (var i in window.dirtyStore) {
+                               current_status = dirtyStore[i];
+                               save_status(true);
+                       }
+               }
+       }
+
+});
+
+/**
+ *     Creates a new copy status, saves it, and re-populates the grid.
+ */
+function newCopyStatus()
+{
+       var new_name = new_status_name.getValue();
+       if (!new_name) return;
+
+       var new_fm_obj = new ccs().fromHash({
+       isnew           : 1,
+       name            : new_name
+       });
+
+       var err = false;
+       pCRUD.create(new_fm_obj, {
+       onerror : function (r) {
+               highlighter.red.play();
+               status_update( ccs_strings.ERROR_CALLING_METHOD_CCS );
+               err = true;
+       },
+       oncomplete : function (r, list) {
+               var new_item_hash = list[0].toHash();
+               status_store.newItem( new_item_hash );
+               status_update( dojo.string.substitute(ccs_strings.SUCCESS_CREATING_STATUS, [new_item_hash.name]) );
+               status_grid.model.sort(-2);
+               highlighter.green.play();
+       }
+       });
+}
+
+
+function delete_them()
+{
+       var selected_rows = status_grid.selection.getSelected();
+
+       var selected_items = [];
+       for (var i in selected_rows) {
+               selected_items.push(
+                       status_grid.getItem( selected_rows[i] ).__dojo_data_item
+               );
+       }
+
+       status_grid.selection.clear();
+
+       for (var i in selected_items) {
+               current_status = selected_items[i];
+
+               if ( confirm(dojo.string.substitute(ccs_strings.CONFIRM_DELETE, [status_store.getValue( current_status, 'name' )]))) {
+
+                       status_store.setValue( current_status, 'isdeleted', 1 );
+
+                       var modified_ccs = new ccs().fromStoreItem( current_status );
+                       modified_ccs.isdeleted( 1 );
+
+                       pCRUD.eliminate(modified_ccs, {
+                               onerror : function (r) {
+                                       highlighter.red.play();
+                                       status_update( dojo.string.substitute( ccs_strings.ERROR_DELETING, [status_store.getValue( current_status, 'name' )] ) );
+                               },
+                               oncomplete : function (r) {
+                                       var old_name = status_store.getValue( current_status, 'name' );
+
+                                       status_store.fetch({
+                                               query : { id : status_store.getValue( current_status, 'id' ) },
+                                               onItem : function (item, req) { try { if (this.isItem( item )) this.deleteItem( item ); } catch (e) { /* meh */ } },
+                                               scope : status_store
+                                       });
+
+                                       current_status = null;
+
+                                       highlighter.green.play();
+                                       status_update( dojo.string.substitute(ccs_strings.STATUS_DELETED, [old_name]) );
+                               }
+                       });
+
+               }
+       }
+}
+
+
+var status_grid_layout = [
+{      cells : [
+               [
+                       { name : ccs_strings.ID,
+                         field : "id",
+                       },
+                       { name : ccs_strings.NAME,
+                         field : "name",
+                         width : "auto",
+                         //editor : dojox.grid.editors.Dijit
+                         editable: true
+                       },
+                       { name : ccs_strings.TRANSLATION,
+                         width : "10em",
+                         height : "2em",
+                         formatter: function (row) {
+                                       return '<span class="status_grid_trans_cell_'+row+'"></span>';
+                         },
+                         get : function (row) {
+                               if (!window.status_rows) window.status_rows = [];
+                               var r = grid_container.getItem(row);
+                               if (r) {
+                                       window.status_rows[row] = new ccs().fromHash(grid_container.getItem(row));
+                                       setTimeout(
+                                               'dojo.query(".status_grid_trans_cell_' + row + '").'+
+                                                       'instantiate(openils.widget.TranslatorPopup,{field:"name",'+
+                                                       'targetObject:"window.status_rows['+row+']"});'+
+                                                       'status_grid.rowHeightChanged('+row+')',
+                                               0
+                                       );
+                                       return row;
+                               }
+                               return '';
+                         }
+                       },
+                       { name : ccs_strings.HOLDABLE,
+                         field : "holdable",
+                               editable: true,
+                         //editor : dojox.grid.editors.bool,
+                         get : function (row) {
+                               var r = grid_container.getItem(row);
+                               if (r) {
+                                       var h = r.holdable;
+                                       if (h == 't' || h === true) return true;
+                                       return false;
+                               }
+                         }
+                       },
+                       { name : ccs_strings.OPAC_VISIBLE,
+                         field : "opac_visible",
+                               editable: true,
+                         //editor : dojox.grid.editors.bool,
+                         get : function (row) {
+                               var r = grid_container.getItem(row);
+                               if (r) {
+                                       var h = r.opac_visible;
+                                       if (h == 't' || h === true) return true;
+                                       return false;
+                               }
+                         }
+                       },
+                       { name : ccs_strings.COPY_ACTIVE,
+                         field : "copy_active",
+                         //editor : dojox.grid.editors.bool,
+                         editable: true,
+                         get : function (row) {
+                               var r = grid_container.getItem(row);
+                               if (r) {
+                                       var h = r.copy_active;
+                                       if (h == 't' || h === true) return true;
+                                       return false;
+                               }
+                         }
+                       }
+               ]
+       ]
+}
+];
+
+
+
+dojo.addOnLoad(function()
+{
+       highlighter.green = dojox.fx.highlight( { color : '#B4FFB4', node : 'grid_container', duration : 500 } );
+       highlighter.red = dojox.fx.highlight( { color : '#FF2018', node : 'grid_container', duration : 500 } );
+});
index fe6f5d8..b2a8aed 100644 (file)
                </style>
 
                <!-- The OpenSRF API writ JS -->
-               <script language='javascript' src='/IDL2js?au,aou,aout,pgt,ppl,ccs' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/utils.js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/CGI.js' type='text/javascript'></script>
-               <script language='javascript' src='/opac/common/js/JSON_v1.js' type='text/javascript'></script>
+               <script  src='/IDL2js?au,aou,aout,pgt,ppl,ccs' type='text/javascript'></script>
+               <script  src='/opac/common/js/utils.js' type='text/javascript'></script>
+               <script  src='/opac/common/js/CGI.js' type='text/javascript'></script>
+               <script  src='/opac/common/js/JSON_v1.js' type='text/javascript'></script>
 
                <!-- Dojo goodness -->
                <script type="text/javascript" src="/js/dojo/dojo/dojo.js" djConfig="parseOnLoad: true"></script>
index 6a0c451..2edc387 100644 (file)
@@ -3,20 +3,22 @@ dojo.require('dijit.layout.SplitContainer');
 dojo.require('dijit.Dialog');
 dojo.require('dijit.form.FilteringSelect');
 dojo.require('dijit.form.Button');
-dojo.require('dojox.grid.Grid');
+dojo.require('dojox.grid.cells.dijit');
+dojo.require('dojo.data.ItemFileWriteStore');
+dojo.require('dojox.grid.DataGrid');
 dojo.require('dojo.date.locale');
 dojo.require('dojo.date.stamp');
 
 
-dojo.require("openils.User");
-dojo.require("openils.acq.Fund");
-dojo.require("openils.acq.Lineitem");
+dojo.require('openils.User');
+dojo.require('openils.acq.Fund');
+dojo.require('openils.acq.Lineitem');
 dojo.require('openils.acq.Provider');
-dojo.require("openils.widget.FundSelector");
+dojo.require('openils.widget.FundSelector');
 dojo.require('openils.editors');
 dojo.require('openils.Event');
-dojo.require("openils.widget.OrgUnitFilteringSelect");
-dojo.require("fieldmapper.OrgUtils");
+dojo.require('openils.widget.OrgUnitFilteringSelect');
+dojo.require('fieldmapper.OrgUtils');
 
 /* put all the accessors, etc. into a local object for namespacing */
 var JUBGrid = {
@@ -32,7 +34,7 @@ var JUBGrid = {
     },
 
     _getMARCAttr : function(rowIndex, attr) {
-        var data = JUBGrid.jubGrid.model.getRow(rowIndex);
+        var data = JUBGrid.jubGrid.getItem(rowIndex);
         if (!data) return '';
         return new openils.acq.Lineitem(
             {lineitem:JUBGrid.getLi(data.id)}).findAttr(attr, 'lineitem_marc_attr_definition')
@@ -47,7 +49,7 @@ var JUBGrid = {
         return JUBGrid._getMARCAttr(rowIndex, 'isbn');
     },
     getJUBActualPrice : function(rowIndex) {
-        var data = JUBGrid.jubGrid.model.getRow(rowIndex);
+        var data = JUBGrid.jubGrid.getItem(rowIndex);
         if (!data) return '';
         var price = new openils.acq.Lineitem(
             {lineitem:JUBGrid.getLi(data.id)}).getActualPrice();
@@ -55,7 +57,7 @@ var JUBGrid = {
         return ''
     },
     getJUBEstimatedPrice : function(rowIndex) {
-        var data = JUBGrid.jubGrid.model.getRow(rowIndex);
+        var data = JUBGrid.jubGrid.getItem(rowIndex);
         if (!data) return '';
            var price = new openils.acq.Lineitem(
             {lineitem:JUBGrid.getLi(data.id)}).getEstimatedPrice();
@@ -66,23 +68,23 @@ var JUBGrid = {
         return JUBGrid._getMARCAttr(rowIndex, 'pubdate');
     },
     getProvider : function(rowIndex) {
-        data = JUBGrid.jubGrid.model.getRow(rowIndex);
+        data = JUBGrid.jubGrid.getItem(rowIndex);
         if(!data || !data.provider) return;
         return openils.acq.Provider.retrieve(data.provider).code();
     },
     getRecvTime : function(rowIndex) {
-        var data = JUBGrid.jubDetailGrid.model.getRow(rowIndex);
+        var data = JUBGrid.jubDetailGrid.getItem(rowIndex);
         if (!(data && data.recv_time)) return '';
         var date = dojo.date.stamp.fromISOString(data.recv_time);
         return dojo.date.locale.format(date, {formatLength:'medium'});
     },
     getCopyLocation : function(rowIndex) {
-        var data = JUBGrid.jubDetailGrid.model.getRow(rowIndex);
+        var data = JUBGrid.jubDetailGrid.getItem(rowIndex);
         if(!data || !data.location) return '';
         return openils.CopyLocation.retrieve(data.location).name();
     },
     getLIDFundName : function(rowIndex) {
-        var data = JUBGrid.jubDetailGrid.model.getRow(rowIndex);
+        var data = JUBGrid.jubDetailGrid.getItem(rowIndex);
         if (!data || !data.fund) return;
         try {
             return openils.acq.Fund.retrieve(data.fund).name();
@@ -91,7 +93,7 @@ var JUBGrid = {
         }
     },
     getLIDFundCode : function(rowIndex) {
-        var data = JUBGrid.jubDetailGrid.model.getRow(rowIndex);
+        var data = JUBGrid.jubDetailGrid.getItem(rowIndex);
         if (!data || !data.fund) return;
         try {
             return openils.acq.Fund.retrieve(data.fund).code();
@@ -100,7 +102,7 @@ var JUBGrid = {
         }
     },
     getLIDLibName : function(rowIndex) {
-        var data = JUBGrid.jubDetailGrid.model.getRow(rowIndex);
+        var data = JUBGrid.jubDetailGrid.getItem(rowIndex);
         if (!data || !data.owning_lib) return;
         return fieldmapper.aou.findOrgUnit(data.owning_lib).shortname();
     },
@@ -114,7 +116,7 @@ var JUBGrid = {
         for (var i in lineitems) {
             JUBGrid.lineitems[lineitems[i].id()] = lineitems[i];
         }
-        JUBGrid.jubGrid = gridWidget;
+//FIXME        JUBGrid.jubGrid = gridWidget;
         JUBGrid.jubGrid.setModel(model);
         if(JUBGrid.showDetails) {
             dojo.connect(gridWidget, "onRowClick", 
@@ -132,7 +134,7 @@ var JUBGrid = {
                     }
                     openils.acq.Lineitem.loadLIDGrid(
                         JUBGrid.jubDetailGrid, 
-                        JUBGrid.jubGrid.model.getRow(evt.rowIndex).id, grid);
+                        JUBGrid.jubGrid.getItem(evt.rowIndex).id, grid);
                 }
             );
         }
@@ -146,7 +148,7 @@ var JUBGrid = {
         var selected = JUBGrid.jubGrid.selection.getSelected();
         for (var idx = 0; idx < selected.length; idx++) {
             var rowIdx = selected[idx];
-            JUBGrid.approveSingleJUB(JUBGrid.jubGrid.model.getRow(rowIdx));
+            JUBGrid.approveSingleJUB(JUBGrid.jubGrid.getItem(rowIdx));
         }
     },
 
@@ -204,7 +206,7 @@ var JUBGrid = {
             var deleted = false;
             for(var i = 0; i < selected.length; i++) {
                 var rowIdx = selected[i];
-                   var jubid = JUBGrid.jubGrid.model.getRow(rowIdx).id;
+                   var jubid = JUBGrid.jubGrid.getItem(rowIdx).id;
                 if(jubid == id) {
                    if (lineitems[id].state() == 'new') {
                        deleteMe.push(lineitems[id]);
@@ -233,7 +235,7 @@ var JUBGrid = {
        var selected = JUBGrid.jubDetailGrid.selection.getSelected();
        for (var idx = 0; idx < selected.length; idx++) {
            var rowIdx = selected[idx];
-           var lid = JUBGrid.jubDetailGrid.model.getRow(rowIdx);
+           var lid = JUBGrid.jubDetailGrid.getItem(rowIdx);
            var deleteFromStore = function (evt) {
 
                if (evt) {
@@ -277,7 +279,7 @@ var JUBGrid = {
            var selected = JUBGrid.jubDetailGrid.selection.getSelected();
        for (var idx = 0; idx < selected.length; idx++) {
            var rowIdx = selected[idx];
-           var lid = JUBGrid.jubDetailGrid.model.getRow(rowIdx);
+           var lid = JUBGrid.jubDetailGrid.getItem(rowIdx);
             list.push(lid.id);
         }
         if(lid != null) { // is at least one selected?
index 92bf2ea..d393e5b 100644 (file)
@@ -5,7 +5,9 @@ dojo.require('dijit.form.FilteringSelect');
 dojo.require('dijit.Dialog');
 dojo.require('dijit.form.Textarea');
 dojo.require('dijit.form.ComboBox');
-dojo.require('dojox.grid.Grid');
+dojo.require('dojox.grid.cells.dijit');
+dojo.require('dojo.data.ItemFileWriteStore');
+dojo.require('dojox.grid.DataGrid');
 dojo.require('fieldmapper.Fieldmapper');
 dojo.require('fieldmapper.dojoData');
 dojo.require('fieldmapper.OrgUtils');
@@ -321,13 +323,13 @@ function osLoadGrid(data) {
     var model = new dojox.grid.data.DojoData(
         null, store, {rowsPerPage: 100, clientSort: true, query:{name:'*'}});
 
-    osGrid.setModel(model);
+//FIXME    osGrid.setModel(model);
     osGrid.setStructure(osGridLayout);
     osGrid.update();
 }
 
 function osGetGridData(rowIdx) {
-    var data = this.grid.model.getRow(rowIdx);
+    var data = this.grid.getItem(rowIdx);
     if(!data) return '';
     var setting = osSettings[data.name];
     var value = setting[this.field];
@@ -367,7 +369,7 @@ function osGetGridData(rowIdx) {
 }
 
 function osGetEditLink(rowIdx) {
-    var data = this.grid.model.getRow(rowIdx);
+    var data = this.grid.getItem(rowIdx);
     if(!data) return '';
     return data.name;
 }
@@ -515,7 +517,7 @@ function osRevertSetting(context, name, value) {
 }
 
 function osGetHistoryLink(rowIdx) {
-    var data = this.grid.model.getRow(rowIdx);
+    var data = this.grid.getItem(rowIdx);
     if(!data) return '';
     return data.name;
 }
index e54a639..7d89c43 100644 (file)
                         ]]
                     }];
                 </script>
-                <div dojoType='dojox.Grid' jsId='osGrid' ></div>
+                <div dojoType='dojox.grid.DataGrid' jsId='osGrid' ></div>
             </div>
         </div>