From 16918e6561e795f2de40d2ce0f5092d93d298271 Mon Sep 17 00:00:00 2001 From: miker Date: Thu, 4 Mar 2010 19:33:29 +0000 Subject: [PATCH] convert from permacrud to pcrud -- not as big as it looks -- and move some startup logic to the top (even though yslow will hate me) git-svn-id: svn://svn.open-ils.org/ILS/trunk@15697 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../web/conify/global/permission/grp_tree.html | 315 ++++++++------------- Open-ILS/web/conify/global/permission/grp_tree.js | 42 +-- 2 files changed, 133 insertions(+), 224 deletions(-) diff --git a/Open-ILS/web/conify/global/permission/grp_tree.html b/Open-ILS/web/conify/global/permission/grp_tree.html index 7b550c39b..b4b9cd816 100644 --- a/Open-ILS/web/conify/global/permission/grp_tree.html +++ b/Open-ILS/web/conify/global/permission/grp_tree.html @@ -73,116 +73,84 @@ - + - dojo.addOnUnload( function (event) { save_them_all(); }); - } - - }).send(); -]]> - + + + + +
+ +
@@ -194,7 +162,7 @@ current_group = item; window.current_fm_group = new pgt().fromStoreItem(item); - perm_map_model.query = { grp : current_group ? current_group.id[0] : -1 }; + perm_map_model.query = { grp : current_group ? group_store.getValue(current_group,'id') : -1 }; perm_map_model.refresh(); perm_grid.refresh(); @@ -397,50 +365,40 @@ var modified_pgt = new pgt().fromStoreItem( current_group ); modified_pgt.isdeleted( 1 ); - server.pCRUD.request({ - method : 'open-ils.permacrud.delete.pgt', - timeout : 10, - params : [ ses, modified_pgt ], + server.pcrud.eliminate( modified_pgt, { onerror : function (r) { highlighter.editor_pane.red.play(); status_update( dojo.string.substitute( pgt_strings.CONFIRM_DELETE, [group_store.getValue( current_group, 'name' )]) ); }, oncomplete : function (r) { - var res = r.recv(); - if ( res && res.content() ) { - - var old_name = group_store.getValue( current_group, 'name' ); - - group_store.fetch({ - query : { id : group_store.getValue( current_group, 'id' ) }, - queryOptions : { deep : true }, - onItem : function (item, req) { try { if (this.isItem( item )) this.deleteItem( item ); } catch (e) { /* meh */ } }, - scope : group_store - }); - - current_group = null; - - new_kid_button.disabled = true; - save_group_button.disabled = true; - delete_group_button.disabled = true; - - var main_settings_fields = [ 'name', 'perm_interval', 'description' ]; - for ( var i in main_settings_fields ) { - var field = main_settings_fields[i]; - window["editor_pane_" + field].setValue( '' ); // unset the value - window["editor_pane_" + field].setDisplayedValue( '' ); // unset the value - } - - window["editor_pane_usergroup"].setChecked( false ); // unset the value - - highlighter.editor_pane.green.play(); - status_update( dojo.string.substitute( pgt_strings.STATUS_DELETED, [old_name]) ); - } else { - highlighter.editor_pane.red.play(); - status_update( dojo.string.substitute( pgt_strings.ERROR_DELETING, [old_name]) ); + var old_name = group_store.getValue( current_group, 'name' ); + + group_store.fetch({ + query : { id : group_store.getValue( current_group, 'id' ) }, + queryOptions : { deep : true }, + onItem : function (item, req) { try { if (this.isItem( item )) this.deleteItem( item ); } catch (e) { /* meh */ } }, + scope : group_store + }); + + current_group = null; + + new_kid_button.disabled = true; + save_group_button.disabled = true; + delete_group_button.disabled = true; + + var main_settings_fields = [ 'name', 'perm_interval', 'description' ]; + for ( var i in main_settings_fields ) { + var field = main_settings_fields[i]; + window["editor_pane_" + field].setValue( '' ); // unset the value + window["editor_pane_" + field].setDisplayedValue( '' ); // unset the value } + + window["editor_pane_usergroup"].setChecked( false ); // unset the value + + highlighter.editor_pane.green.play(); + status_update( dojo.string.substitute( pgt_strings.STATUS_DELETED, [old_name]) ); } - }).send(); + }); } ]]> @@ -464,30 +422,18 @@ }); var err = false; - server.pCRUD.request({ - method : 'open-ils.permacrud.create.pgt', - timeout : 10, - params : [ ses, new_fm_obj ], + + server.pcrud.create( new_fm_obj, { onerror : function (r) { highlighter.editor_pane.red.play(); status_update( pgt_strings.ERROR_CALLING_METHOD_PGT ); err = true; }, - oncomplete : function (r) { - var res = r.recv(); - if ( res && res.content() ) { - group_store.newItem( - res.content().toHash(), - { parent : current_group, attribute : 'children' } - ); - } else { - highlighter.editor_pane.red.play(); - status_update( pgt_strings.ERROR_CREATING_CHILD_GROUP ); - err = true; - } - }, - }).send(); - + oncomplete : function (r,list) { + group_store.newItem( list[0].toHash(), { parent : current_group, attribute : 'children' } ); + } + }); + if (!err) { highlighter.editor_pane.green.play(); highlighter.group_tree.green.play(); @@ -501,7 +447,7 @@
@@ -645,36 +591,26 @@ }); var err = false; - server.pCRUD.request({ - method : 'open-ils.permacrud.create.pgpm', - timeout : 10, - params : [ ses, new_fm_obj ], + server.pcrud.create(new_fm_obj, { onerror : function (r) { highlighter.group_tree.red.play(); status_update( pgt_strings.ERROR_CALLING_METHOD_PERM_MAP ); err = true; }, - oncomplete : function (r) { + oncomplete : function (r, list) { - var res = r.recv(); - if ( res && res.content() ) { - var new_item_hash = res.content().toHash(); - perm_map_store.newItem( new_item_hash ); - status_update( pgt_strings.SUCCESS_NEW_PERM_MAP ); - highlighter.group_tree.green.play(); + var new_item_hash = list[0].toHash(); + perm_map_store.newItem( new_item_hash ); + status_update( pgt_strings.SUCCESS_NEW_PERM_MAP ); + highlighter.group_tree.green.play(); - perm_map_model.query = { grp : current_group ? current_group.id[0] : -1 }; - perm_grid.model.sort(-1); - perm_map_model.refresh(); - perm_grid.refresh(); + perm_map_model.query = { grp : current_group ? group_store.getValue(current_group,'id') : -1 }; + perm_grid.model.sort(-1); + perm_map_model.refresh(); + perm_grid.refresh(); - } else { - highlighter.group_tree.red.play(); - status_update( pgt_strings.ERROR_CREATING_PERM_MAP ); - err = true; - } } - }).send(); + }); new_popup._closeDropDown(); ]]> @@ -708,34 +644,25 @@ var modified_pgpm = new pgpm().fromStoreItem( window.current_perm_map ); modified_pgpm.isdeleted( 1 ); - server.pCRUD.request({ - method : 'open-ils.permacrud.delete.pgpm', - timeout : 10, - params : [ ses, modified_pgpm ], + server.pcrud.eliminate( modified_pgpm, { onerror : function (r) { highlighter.editor_pane.red.play(); status_update( dojo.string.substitute( pgt_strings.ERROR_DELETING_PERM_MAPPING, [perm_map_store.getValue( window.current_perm_map, 'id' )] ) ); }, - oncomplete : function (r) { - var res = r.recv(); - if ( res && res.content() ) { + oncomplete : function (r, list) { - perm_map_store.fetch({ - query : { id : perm_map_store.getValue( window.current_perm_map, 'id' ) }, - onItem : function (item, req) { try { if (this.isItem( item )) this.deleteItem( item ); } catch (e) { /* meh */ } }, - scope : perm_map_store - }); + perm_map_store.fetch({ + query : { id : perm_map_store.getValue( window.current_perm_map, 'id' ) }, + onItem : function (item, req) { try { if (this.isItem( item )) this.deleteItem( item ); } catch (e) { /* meh */ } }, + scope : perm_map_store + }); - window.current_perm_map = null; + window.current_perm_map = null; - highlighter.editor_pane.green.play(); - status_update( pgt_strings.SUCCESS_DELETED_PERM_MAP ); - } else { - highlighter.editor_pane.red.play(); - status_update( dojo.string.substitute( pgt_strings.ERROR_DELETING_PERM_MAPPING, [perm_map_store.getValue( window.current_perm_map, 'id' )]) ); - } + highlighter.editor_pane.green.play(); + status_update( pgt_strings.SUCCESS_DELETED_PERM_MAP ); } - }).send(); + }); } ]]> diff --git a/Open-ILS/web/conify/global/permission/grp_tree.js b/Open-ILS/web/conify/global/permission/grp_tree.js index b56e1df04..bf6cc77b2 100644 --- a/Open-ILS/web/conify/global/permission/grp_tree.js +++ b/Open-ILS/web/conify/global/permission/grp_tree.js @@ -17,6 +17,7 @@ dojo.require('fieldmapper.AutoIDL'); dojo.require('fieldmapper.dojoData'); +dojo.require('openils.PermaCrud'); dojo.require('openils.widget.TranslatorPopup'); dojo.require('dojo.parser'); dojo.require('dojo.data.ItemFileWriteStore'); @@ -45,12 +46,11 @@ var cgi = new CGI(); var cookieManager = new HTTP.Cookies(); var ses = cookieManager.read('ses') || cgi.param('ses'); var server = {}; -server.pCRUD = new OpenSRF.ClientSession('open-ils.permacrud'); +server.pcrud = new openils.PermaCrud({ authtoken : ses }); server.actor = new OpenSRF.ClientSession('open-ils.actor'); var pgt_strings = dojo.i18n.getLocalization('openils.conify', 'conify'); -var current_group; var virgin_out_id = -1; var highlighter = {}; @@ -68,26 +68,17 @@ function save_group () { save_group_button.disabled = false; delete_group_button.disabled = false; - server.pCRUD.request({ - method : 'open-ils.permacrud.update.pgt', - timeout : 10, - params : [ ses, modified_pgt ], + server.pcrud.update(modified_pgt, { onerror : function (r) { highlighter.editor_pane.red.play(); status_update( dojo.string.substitute( pgt_strings.ERROR_SAVING_DATA, [group_store.getValue( current_group, 'name' )]) ); }, oncomplete : function (r) { - var res = r.recv(); - if ( res && res.content() ) { - group_store.setValue( current_group, 'ischanged', 0 ); - highlighter.editor_pane.green.play(); - status_update( dojo.string.substitute(pgt_strings.SUCCESS_SAVE, [group_store.getValue( current_group, 'name' )]) ); - } else { - highlighter.editor_pane.red.play(); - status_update( dojo.string.substitute(pgt_strings.ERROR_SAVING_DATA, [group_store.getValue( current_group, 'name' )]) ); - } + group_store.setValue( current_group, 'ischanged', 0 ); + highlighter.editor_pane.green.play(); + status_update( dojo.string.substitute(pgt_strings.SUCCESS_SAVE, [group_store.getValue( current_group, 'name' )]) ); }, - }).send(); + }); } function save_perm_map (storeItem) { @@ -95,26 +86,17 @@ function save_perm_map (storeItem) { var modified_pgpm = new pgpm().fromStoreItem( storeItem ); modified_pgpm.ischanged( 1 ); - server.pCRUD.request({ - method : 'open-ils.permacrud.update.pgpm', - timeout : 10, - params : [ ses, modified_pgpm ], + server.pcrud.update(modified_pgpm, { onerror : function (r) { highlighter.editor_pane.red.play(); status_update( dojo.string.substitute(pgt_strings.ERROR_SAVING_PERM_DATA, [group_store.getValue( current_group, 'name' )]) ); }, oncomplete : function (r) { - var res = r.recv(); - if ( res && res.content() ) { - perm_map_store.setValue( storeItem, 'ischanged', 0 ); - highlighter.editor_pane.green.play(); - status_update( dojo.string.substitute(pgt_strings.SUCCESS_SAVE_PERM, [group_store.getValue( current_group, 'name' )]) ); - } else { - highlighter.editor_pane.red.play(); - status_update( dojo.string.substitute(pgt_strings.ERROR_SAVING_PERM_DATA, [group_store.getValue( current_group, 'name' )]) ); - } + perm_map_store.setValue( storeItem, 'ischanged', 0 ); + highlighter.editor_pane.green.play(); + status_update( dojo.string.substitute(pgt_strings.SUCCESS_SAVE_PERM, [group_store.getValue( current_group, 'name' )]) ); }, - }).send(); + }); } function save_them_all (event) { -- 2.11.0