12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import Ember from 'ember';
- export default Ember.Route.extend({
- actions: {
- // Error handlers
- error: function(reason) {
- if (reason.status === 0) {
- this.get('page-title').setTitle(gettext('Connection lost'));
- return this.intermediateTransitionTo('error-0');
- }
- if (typeof reason.responseJSON !== 'undefined' && typeof reason.responseJSON.ban !== 'undefined') {
- this.get('page-title').setTitle(gettext('You are banned'));
- return this.intermediateTransitionTo('error-banned', reason.responseJSON.ban);
- }
- if (reason.status === 403) {
- this.get('page-title').setTitle(gettext('Page not available'));
- var final_error = {status: 403, message: null};
- 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);
- }
- if (reason.status === 404) {
- this.get('page-title').setTitle(gettext('Page not found'));
- return this.intermediateTransitionTo('error-404');
- }
- this.get('page-title').setTitle(gettext('Error'));
- return true;
- },
- toastError: function(reason) {
- var errorMessage = gettext('Unknown error has occured.');
- if (reason.status === 0) {
- errorMessage = gettext('Lost connection with application.');
- }
- if (reason.status === 403) {
- if (typeof reason.responseJSON !== 'undefined' && typeof reason.responseJSON.detail !== 'undefined' && reason.responseJSON.detail !== 'Permission denied') {
- errorMessage = reason.responseJSON.detail;
- } else {
- errorMessage = gettext("You don't have permission to perform this action.");
- }
- }
- if (reason.status === 404) {
- errorMessage = gettext('Action link is invalid.');
- }
- this.get('toast').error(errorMessage);
- },
- showBan: function(ban) {
- this.get('page-title').setTitle(gettext('You are banned'));
- this.intermediateTransitionTo('error-banned', ban);
- },
- // Auth
- openLoginModal: function() {
- this.controllerFor("loginModal").send('open');
- },
- logOut: function() {
- this.get('auth').logout();
- Ember.$('#hidden-logout-form').submit();
- }
- }
- });
|