From 0678b097c445d261686295536d5e0b67239de40a Mon Sep 17 00:00:00 2001 From: erickson Date: Fri, 19 Dec 2008 21:09:28 +0000 Subject: [PATCH] implemented save git-svn-id: svn://svn.open-ils.org/ILS/trunk@11635 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../default/conify/global/config/circ_modifier.js | 32 ++++++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/Open-ILS/web/js/ui/default/conify/global/config/circ_modifier.js b/Open-ILS/web/js/ui/default/conify/global/config/circ_modifier.js index a9acefc8c8..a9ab1b6837 100644 --- a/Open-ILS/web/js/ui/default/conify/global/config/circ_modifier.js +++ b/Open-ILS/web/js/ui/default/conify/global/config/circ_modifier.js @@ -33,12 +33,38 @@ function cmGridChanged(item, attr, oldVal, newVal) { cm.ischanged(true); cmSaveButton.setDisabled(false); } - function saveChanges() { - cmGrid.doclick(0); // force still-focused changes - /* loop through the changed objects in cmCache and update them in the DB */ + cmGrid.doclick(0); + var changedObjects = []; + for(var i in cmCache){ + var cm = cmCache[i]; + if(cm.ischanged()) + changedObjects.push(cm); + } + _saveChanges(changedObjects, 0); } +function _saveChanges(changedObjects, idx) { + + if(idx >= changedObjects.length) { + // we've made it through the list + cmSaveButton.setDisabled(true); + return; + } + var item = changedObjects[idx]; + + fieldmapper.standardRequest( + ['open-ils.permacrud', 'open-ils.permacrud.update.ccm'], + { async: true, + params: [openils.User.authtoken, item], + oncomplete: function(r) { + if(stat = openils.Util.readResponse(r)) { + _saveChanges(changedObjects, ++idx); + } + } + } + ); +} function formatMagneticMedia(inDatum) { switch (inDatum) { case 't': -- 2.11.0