Browse Source

API errors are always jqXHR

Rafał Pitoń 10 years ago
parent
commit
70521e7ca3

+ 1 - 3
misago/emberapp/app/controllers/forgotten-password/change-form.js

@@ -30,10 +30,8 @@ export default Ember.ObjectController.extend({
         self.send('flashSuccess', gettext("Your password has been changed."));
         self.send('flashSuccess', gettext("Your password has been changed."));
 
 
       }, function(jqXHR) {
       }, function(jqXHR) {
-        var rejection = jqXHR.responseJSON;
-
         if (jqXHR.status === 400){
         if (jqXHR.status === 400){
-          this.send('flashError', rejection.detail);
+          this.send('flashError', jqXHR.responseJSON.detail);
         } else {
         } else {
           self.set('password', '');
           self.set('password', '');
 
 

+ 1 - 2
misago/emberapp/app/controllers/forgotten-password/request-link.js

@@ -28,9 +28,8 @@ export default Ember.ObjectController.extend({
         self.set('email', '');
         self.set('email', '');
 
 
       }, function(jqXHR) {
       }, function(jqXHR) {
-        var rejection = jqXHR.responseJSON;
-
         if (jqXHR.status === 400){
         if (jqXHR.status === 400){
+          var rejection = jqXHR.responseJSON;
           if (rejection.code === 'banned') {
           if (rejection.code === 'banned') {
             this.send('showBan', rejection.detail);
             this.send('showBan', rejection.detail);
             this.set('email', '');
             this.set('email', '');

+ 4 - 4
misago/emberapp/app/routes/application.js

@@ -31,17 +31,17 @@ export default Ember.Route.extend({
         return this.intermediateTransitionTo('error-0');
         return this.intermediateTransitionTo('error-0');
       }
       }
 
 
-      if (typeof reason.ban !== 'undefined') {
+      if (typeof reason.responseJSON !== 'undefined' && typeof reason.responseJSON.ban !== 'undefined') {
         this.send('setTitle', gettext('You are banned'));
         this.send('setTitle', gettext('You are banned'));
-        return this.intermediateTransitionTo('error-banned', reason.ban);
+        return this.intermediateTransitionTo('error-banned', reason.responseJSON.ban);
       }
       }
 
 
       if (reason.status === 403) {
       if (reason.status === 403) {
         this.send('setTitle', gettext('Page not available'));
         this.send('setTitle', gettext('Page not available'));
 
 
         var final_error = {status: 403, message: null};
         var final_error = {status: 403, message: null};
-        if (reason.detail !== 'Permission denied') {
-          final_error.message = reason.detail;
+        if (typeof reason.responseJSON !== 'undefined' && typeof reason.responseJSON.detail !== 'undefined' && reason.responseJSON.detail !== 'Permission denied') {
+          final_error.message = reason.responseJSON.detail;
         }
         }
 
 
         return this.intermediateTransitionTo('error-403', final_error);
         return this.intermediateTransitionTo('error-403', final_error);

+ 3 - 3
misago/emberapp/app/routes/forgotten-password/change-form.js

@@ -13,9 +13,9 @@ export default Ember.Route.extend(ResetScroll, {
       return true;
       return true;
     },
     },
 
 
-    error: function(error) {
-      if (error.status === 404) {
-        this.send('flashError', error.detail);
+    error: function(reason) {
+      if (reason.status === 404) {
+        this.send('flashError', reason.responseJSON.detail);
         return this.transitionTo('forgotten-password');
         return this.transitionTo('forgotten-password');
       }
       }