MORE: convert from permacrud to pcrud -- not as big as it looks -- and move some...
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 4 Mar 2010 20:05:51 +0000 (20:05 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 4 Mar 2010 20:05:51 +0000 (20:05 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@15699 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/conify/global/config/copy_status.html
Open-ILS/web/conify/global/config/copy_status.js

index 1df6d02..dfc79c7 100644 (file)
 
                <script type="text/javascript" src="copy_status.js"></script>
 
-       </head>
+        <script type="dojo/method">
+<![CDATA[
+            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 } );
 
-       <body class="tundra" id='pagebody'>
+            var dirtyStore = [];
 
-               <div dojoType="dijit.layout.LayoutContainer" id="grid_container" jsId="grid_container" orientation="vertical">
-                       <script type="dojo/method">
-<![CDATA[
-                               window.highlighter= {};
-                               window.highlighter.green = dojox.fx.highlight( { color : '#B4FFB4', node : 'grid_container', duration : 500 } );
-                               window.highlighter.red = dojox.fx.highlight( { color : '#FF2018', node : 'grid_container', duration : 500 } );
+            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 });
 
-                               window.dirtyStore = [];
+            status_store.onSet = function (item, attr, o, n) {
+                if (attr == 'ischanged') return;
+                if (n == o) return;
+                this.setValue( item, 'ischanged', 1);
 
-                pCRUD.request({
-                    method : 'open-ils.permacrud.search.ccs.atomic',
-                    timeout : 10,
-                    params : [ ses, { id : { "!=" : null } }, { order_by : { ccs : 'name' } } ],
-                    onerror : function (r) { status_update(ccs_strings.ERROR_FETCHING_STATUSES) },
-                    oncomplete : function (r) {
+                if (attr == 'holdable' && typeof n != 'string')
+                    this.setValue(item, 'holdable', n ? 't' : 'f');
 
-                        window._status_list = r.recv().content();
-                        window._status_data = ccs.toStoreData( window._status_list, 'name' );
-                        window.status_store = new dojo.data.ItemFileWriteStore({ data : window._status_data });
+                if (attr == 'opac_visible' && typeof n != 'string')
+                    this.setValue(item, 'opac_visible', n ? 't' : 'f');
 
-                           window.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');
+            dojo.addOnUnload( function (event) {
 
-                            if (attr == 'opac_visible' && typeof n != 'string')
-                                this.setValue(item, 'opac_visible', n ? 't' : 'f');
+                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
+                    );
 
-                        dojo.addOnUnload( function (event) {
+                    if (confirmation) {
+                        for (var i in window.dirtyStore) {
+                            current_status = dirtyStore[i];
+                            save_status(true);
+                        }
+                    }
+                }
 
-                            status_store.fetch({
-                                query : { ischanged : 1 },
-                                onItem : function (item, req) { try { if (this.isItem( item )) window.dirtyStore.push( item ); } catch (e) { /* meh */ } },
-                                scope : status_store
-                            });
+            });
+]]>
+        </script>
 
-                            if (dirtyStore.length > 0) {
-                                var confirmation = confirm(
-                                                                       ccs_strings.CONFIRM_EXIT_CCS
-                                );
+       </head>
 
-                                if (confirmation) {
-                                    for (var i in window.dirtyStore) {
-                                        window.current_status = window.dirtyStore[i];
-                                        save_status(true);
-                                    }
-                                }
-                            }
+       <body class="tundra" id='pagebody'>
 
-                        });
-                    }
-                }).send();
-]]>
-                       </script>
+               <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">
                                <span>&conify.copy_status.new_status.label;</span>
                            });
     
                        var err = false;
-                           pCRUD.request({
-                           method : 'open-ils.permacrud.create.ccs',
-                               timeout : 10,
-                           params : [ ses, new_fm_obj ],
+                           pCRUD.create(new_fm_obj, {
                                onerror : function (r) {
                                highlighter.red.play();
                                    status_update( ccs_strings.ERROR_CALLING_METHOD_CCS );
                                err = true;
                                },
-                               oncomplete : function (r) {
-                               var res = r.recv();
-                                   if ( res && res.content() ) {
-                                   var new_item_hash = res.content().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();
-                               } else {
-                                       highlighter.red.play();
-                                   status_update( ccs_strings.ERROR_CREATING_STATUS );
-                                       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();
                                }
-                       }).send();
+                       });
 ]]> 
                        </script>
                                </button>
                                                                var modified_ccs = new ccs().fromStoreItem( current_status );
                                                                modified_ccs.isdeleted( 1 );
                        
-                                                               pCRUD.request({
-                                                                       method : 'open-ils.permacrud.delete.ccs',
-                                                                       timeout : 10,
-                                                                       params : [ ses, modified_ccs ],
+                                                               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 res = r.recv();
-                                                                               if ( res && res.content() ) {
-                       
-                                                                                       var old_name = status_store.getValue( current_status, 'name' );
+                                                                               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
-                                                                                       });
+                                                                               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;
+                                                                               current_status = null;
                        
-                                                                                       highlighter.green.play();
-                                                                                       status_update( dojo.string.substitute(ccs_strings.STATUS_DELETED, [old_name]) );
-                                                                               } else {
-                                                                                       highlighter.red.play();
-                                                                                       status_update( dojo.string.substitute(ccs_strings.ERROR_DELETING, [old_name]) );
-                                                                               }
+                                                                               highlighter.green.play();
+                                                                               status_update( dojo.string.substitute(ccs_strings.STATUS_DELETED, [old_name]) );
                                                                        }
-                                                               }).send();
+                                                               });
                
                                                        }
                                                }
index 4b50a96..a934f1a 100644 (file)
@@ -18,6 +18,7 @@
 dojo.require('fieldmapper.AutoIDL');
 dojo.require('fieldmapper.dojoData');
 dojo.require('openils.widget.TranslatorPopup');
+dojo.require('openils.PermaCrud');
 dojo.require('dojo.parser');
 dojo.require('dojo.string');
 dojo.require('dojo.data.ItemFileWriteStore');
@@ -36,7 +37,7 @@ dojo.requireLocalization("openils.conify", "conify");
 var cgi = new CGI();
 var cookieManager = new HTTP.Cookies();
 var ses = cookieManager.read('ses') || cgi.param('ses');
-var pCRUD = new OpenSRF.ClientSession('open-ils.permacrud');
+var pCRUD = new openils.PermaCrud({authtoken:ses});
 
 var current_status;
 var virgin_out_id = -1;
@@ -54,26 +55,17 @@ function save_status () {
        var modified_ccs = new ccs().fromStoreItem( current_status );
        modified_ccs.ischanged( 1 );
 
-       pCRUD.request({
-               method : 'open-ils.permacrud.update.ccs',
-               timeout : 10,
-               params : [ ses, modified_ccs ],
+       pCRUD.update(modified_ccs, {
                onerror : function (r) {
                        highlighter.red.play();
                        status_update( dojo.string.substitute(ccs_strings.ERROR_SAVING_STATUS, [status_store.getValue( current_status, 'name' )]) );
                },
                oncomplete : function (r) {
-                       var res = r.recv();
-                       if ( res && res.content() ) {
-                               status_store.setValue( current_status, 'ischanged', 0 );
-                               highlighter.green.play();
-                               status_update( dojo.string.substitute(ccs_strings.SUCCESS_SAVE, [status_store.getValue( current_status, 'name' )]) );
-                       } else {
-                               highlighter.red.play();
-                               status_update( dojo.string.substitute(ccs_strings.ERROR_SAVING_STATUS, [status_store.getValue( current_status, 'name' )]) );
-                       }
-               },
-       }).send();
+                       status_store.setValue( current_status, 'ischanged', 0 );
+                       highlighter.green.play();
+                       status_update( dojo.string.substitute(ccs_strings.SUCCESS_SAVE, [status_store.getValue( current_status, 'name' )]) );
+               }
+       });
 }
 
 function save_them_all (event) {