From d4a4882852b79c9604d35c376e7e61a82edeadb8 Mon Sep 17 00:00:00 2001 From: miker Date: Wed, 25 Nov 2009 20:45:18 +0000 Subject: [PATCH] add object collection for create/update/delete to the last object in the list ... thinko git-svn-id: svn://svn.open-ils.org/ILS/trunk@15029 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/js/dojo/openils/PermaCrud.js | 44 ++++++++++++++++++------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/Open-ILS/web/js/dojo/openils/PermaCrud.js b/Open-ILS/web/js/dojo/openils/PermaCrud.js index fb07bf6c78..1dfefe97ab 100644 --- a/Open-ILS/web/js/dojo/openils/PermaCrud.js +++ b/Open-ILS/web/js/dojo/openils/PermaCrud.js @@ -221,32 +221,40 @@ if(!dojo._hasResource["openils.PermaCrud"]) { if (++pos == obj_list.length) { req.oncomplete = function (r) { + var res = r.recv(); - _pcrud.session.request({ - method : 'open-ils.pcrud.transaction.commit', - timeout : 10, - params : [ _pcrud.auth() ], - onerror : function (r) { - _pcrud.disconnect(); - throw 'Transaction commit error'; - }, - oncomplete : function (r) { - var res = r.recv(); - if ( res && res.content() ) { - if(req._final_complete) - req._final_complete(req); - _pcrud.disconnect(); - } else { + if ( res && res.content() ) { + _return_list.push( res.content() ); + _pcrud.session.request({ + method : 'open-ils.pcrud.transaction.commit', + timeout : 10, + params : [ _pcrud.auth() ], + onerror : function (r) { _pcrud.disconnect(); throw 'Transaction commit error'; - } - }, - }).send(); + }, + oncomplete : function (r) { + var res = r.recv(); + if ( res && res.content() ) { + if(req._final_complete) + req._final_complete(req); + _pcrud.disconnect(); + } else { + _pcrud.disconnect(); + throw 'Transaction commit error'; + } + }, + }).send(); + } else { + _pcrud.disconnect(); + throw '_CUD: Error creating, deleting or updating ' + js2JSON(obj); + } }; req.onerror = function (r) { if (r._final_error) r._final_error(r); _pcrud.disconnect(); + throw '_CUD: Error creating, deleting or updating ' + js2JSON(obj); }; } else { -- 2.11.0