back-porting: r17391 17397 17398; pcrud/fieldmapper bug fixes; autogrid suppress...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 2 Sep 2010 21:08:33 +0000 (21:08 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 2 Sep 2010 21:08:33 +0000 (21:08 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_2_0@17458 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/js/dojo/fieldmapper/Fieldmapper.js
Open-ILS/web/js/dojo/openils/PermaCrud.js
Open-ILS/web/js/dojo/openils/widget/AutoGrid.js

index 9471b81..5ef69d7 100644 (file)
@@ -53,7 +53,7 @@ if(!dojo._hasResource["fieldmapper.Fieldmapper"]){
                                        obj.a[i] = thing.clone();
                                } else {
 
-                                       if(instanceOf(thing, Array)) {
+                                       if(dojo.isArray(thing)) {
                                                obj.a[i] = new Array();
 
                                                for( var j in thing ) {
index 6213c8f..834c6cd 100644 (file)
@@ -366,7 +366,9 @@ if(!dojo._hasResource["openils.PermaCrud"]) {
                 if (obj.ischanged()) method = 'update';
                 if (obj.isnew())     method = 'create';
                 if (obj.isdeleted()) method = 'delete';
-                if (!method) throw 'No action detected';
+                if (!method) {
+                    return _auto_CUD_recursive(obj_list, pos+1, final_complete, final_error);
+                }
 
                 var req_hash = {
                     method : 'open-ils.pcrud.' + method + '.' + obj.classname,
@@ -393,16 +395,15 @@ if(!dojo._hasResource["openils.PermaCrud"]) {
                             oncomplete : function (r) {
                                 var res = r.recv();
                                 if ( res && res.content() ) {
-                                    _auto_CUD_recursive( list, 0 );
+                                    if (r._final_complete) 
+                                        req._final_complete(req, _return_list);
+                                    _pcrud.disconnect();
                                 } else {
                                     _pcrud.disconnect();
                                     throw 'Transaction commit error';
                                 }
                             },
                         }).send();
-
-                        if (r._final_complete) r._final_complete(r);
-                        _pcrud.disconnect();
                     };
 
                     req.onerror = function (r) {
index 8f70175..923c9b4 100644 (file)
@@ -20,6 +20,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) {
             editStyle : 'dialog',
             editReadOnly : false,
             suppressFields : null,
+            suppressEditFields : null,
             hideSelector : false,
             selectorWidth : '1.5',
             showColumnPicker : false,
@@ -384,6 +385,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) {
                     overrideWidgetArgs : this.overrideWidgetArgs,
                     disableWidgetTest : this.disableWidgetTest,
                     requiredFields : this.requiredFields,
+                    suppressFields : this.suppressEditFields,
                     onPostSubmit : function() {
                         for(var i in fmObject._fields) {
                             var field = fmObject._fields[i];
@@ -424,6 +426,7 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) {
                     overrideWidgetArgs : this.overrideWidgetArgs,
                     disableWidgetTest : this.disableWidgetTest,
                     requiredFields : this.requiredFields,
+                    suppressFields : this.suppressEditFields,
                     onPostSubmit : function(req, cudResults) {
                         var fmObject = cudResults[0];
                         if(grid.onPostCreate)