Ghost/ghost/admin/app/mixins/unauthenticated-route-mixin.js
John O'Nolan 181de6f5ea View site inside Ghost Admin
no refs.
- added "View site" as the first and default menu item in navigation bar to be able to browse the site without leaving the Admin
- rearranged left sidebar items according to new structure (moved Labs down to bottom)
- removed "View site" from publication main menu because it's become redundant
- added Night shift toggle in line with Labs menu to be able quickly access it
2019-03-21 10:33:14 +01:00

36 lines
1.1 KiB
JavaScript

import Mixin from '@ember/object/mixin';
import {inject as service} from '@ember/service';
export default Mixin.create({
ajax: service(),
ghostPaths: service(),
session: service(),
routeIfAlreadyAuthenticated: 'home',
beforeModel() {
let authUrl = this.get('ghostPaths.url').api('authentication', 'setup');
// check the state of the setup process via the API
return this.ajax.request(authUrl).then((result) => {
let [setup] = result.setup;
if (setup.status !== true) {
this.transitionTo('setup');
} else {
// NOTE: this is the same as ESA's UnauthenticatedRouteMixin,
// adding that mixin to this and calling _super wasn't calling
// the ESA mixin's beforeModel method
if (this.session.get('isAuthenticated')) {
let routeIfAlreadyAuthenticated = this.routeIfAlreadyAuthenticated;
return this.transitionTo(routeIfAlreadyAuthenticated);
} else {
return this._super(...arguments);
}
}
});
}
});