~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/app/javascript/client.js

  • Committer: Launchpad Patch Queue Manager
  • Date: 2011-04-11 15:46:35 UTC
  • mfrom: (12510.8.41 js-usage)
  • Revision ID: launchpad@pqm.canonical.com-20110411154635-vru5up8c5adbz3tl
[r=deryck][bug=732639] Allow inline editing of translation settings.

Show diffs side-by-side

added added

removed removed

Lines of Context:
229
229
  var full_uri = module.get_absolute_uri(original_uri);
230
230
  for (var name in LP.cache) {
231
231
    var cached_object = LP.cache[name];
 
232
    if (!Y.Lang.isValue(cached_object))
 
233
        continue;
232
234
    if (cached_object['self_link'] == full_uri) {
233
235
      Y.log(name + ' cached object has been updated.');
234
236
      update_cached_object(name, cached_object, entry);
763
765
            } else if (o.status >= 500) {
764
766
                var server_error =
765
767
                    'Server error, please contact an administrator.';
766
 
                if (o.getResponseHeader('X-Lazr-OopsId')) {
767
 
                    server_error = server_error + ' OOPS ID:' +
768
 
                        o.getResponseHeader('X-Lazr-OOPSid');
 
768
                var oops_id = self.get_oops_id(o);
 
769
                if (oops_id) {
 
770
                    server_error = server_error + ' OOPS ID:' + oops_id;
769
771
                }
770
772
                self.showError(server_error);
771
773
            // Otherwise we send some sane text as an error
 
774
            } else if (o.status == 412){
 
775
                self.showError(o.status + ' ' + o.statusText);
772
776
            } else {
773
 
                self.showError(o.responseText);
 
777
                self.showError(self.get_generic_error(o));
774
778
            }
775
779
        };
 
780
    },
 
781
    get_oops_id: function(response) {
 
782
        return response.getResponseHeader('X-Lazr-OopsId');
 
783
    },
 
784
    get_generic_error: function(response) {
 
785
        return response.responseText;
776
786
    }
777
787
};
778
788
 
779
789
module.ErrorHandler = ErrorHandler;
780
790
 
 
791
 
 
792
var FormErrorHandler = function() {};
 
793
 
 
794
 
 
795
FormErrorHandler.prototype = new ErrorHandler();
 
796
 
 
797
 
 
798
FormErrorHandler.prototype.get_oops_id = function(response) {
 
799
    var oops_re = /code class\="oopsid">(OOPS-[^<]*)/;
 
800
    var result = response.responseText.match(oops_re);
 
801
    if (result === null) {
 
802
        return null;
 
803
    }
 
804
    return result[1];
 
805
}
 
806
 
 
807
 
 
808
FormErrorHandler.prototype.get_generic_error = function(response) {
 
809
    if (response.status !== 403){
 
810
        return "Sorry, you don't have permission to make this change.";
 
811
    }
 
812
    else {
 
813
        return response.status + ' ' + response.statusText;
 
814
    }
 
815
}
 
816
 
 
817
 
 
818
module.FormErrorHandler = FormErrorHandler;
 
819
 
 
820
 
781
821
}, "0.1" ,{"requires":["attribute", "io", "json-parse", "json-stringify"]});
782
822
 
783
823