3200: X-Editable renders errors even without a message array.
authorBrett Smith <brett@curoverse.com>
Wed, 23 Jul 2014 20:29:12 +0000 (16:29 -0400)
committerBrett Smith <brett@curoverse.com>
Thu, 24 Jul 2014 14:58:45 +0000 (10:58 -0400)
The previous version was causing the X-Editable popup to spin
infinitely when the JSON errors were null.  See #3207, #3251.

apps/workbench/app/assets/javascripts/editable.js

index ab66833c286a6c4666c3162309fe8267be03fea9..76a129b2bfbb0b895b66484c2214a2dc7f23131e 100644 (file)
@@ -58,7 +58,16 @@ $(document).
                     return;
                 },
                 error: function(response, newValue) {
-                    return response.responseJSON.errors.join();
+                    var errlist = response.responseJSON.errors;
+                    var errmsg;
+                    if (Array.isArray(errlist)) {
+                        errmsg = errlist.join();
+                    } else {
+                        errmsg = ("The server returned an error when making " +
+                                  "this update (status " + response.status +
+                                  ": " + errlist + ").");
+                    }
+                    return errmsg;
                 }
             }).
             on('hidden', function(e, reason) {