mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-12 06:25:51 +03:00
49e4403730
Closes #2943 - `AuthenticatedRoute` now stores the user's original destination on the `ApplicationController`. - The `SignIn` route's `login` action checks if the `loginTransition` property is set on the `ApplicationController`, and if so, retries that transition after a successful login.
25 lines
742 B
JavaScript
25 lines
742 B
JavaScript
var AuthenticatedRoute = Ember.Route.extend({
|
|
beforeModel: function (transition) {
|
|
var user = this.container.lookup('user:current');
|
|
|
|
if (!user || !user.get('isSignedIn')) {
|
|
this.redirectToSignin(transition);
|
|
}
|
|
},
|
|
redirectToSignin: function (transition) {
|
|
this.notifications.showError('Please sign in');
|
|
if (transition) {
|
|
this.controllerFor('application').set('loginTransition', transition);
|
|
}
|
|
this.transitionTo('signin');
|
|
},
|
|
actions: {
|
|
error: function (error) {
|
|
if (error.jqXHR && error.jqXHR.status === 401) {
|
|
this.redirectToSignin();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
export default AuthenticatedRoute; |