// Copyright 2016 Documize Inc. . All rights reserved. // // This software (Documize Community Edition) is licensed under // GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html // // You can operate outside the AGPL restrictions by purchasing // Documize Enterprise Edition and obtaining a commercial license // by contacting . // // https://documize.com import { Promise as EmberPromise } from 'rsvp'; import { inject as service } from '@ember/service'; import Route from '@ember/routing/route'; export default Route.extend({ ajax: service(), session: service(), appMeta: service(), localStorage: service(), queryParams: { mode: { refreshModel: true }, ticket : { refreshModel: true, replace : true, } }, message: '', afterModel(model) { return new EmberPromise((resolve) => { let constants = this.get('constants'); if (this.get('appMeta.authProvider') !== constants.AuthProvider.CAS) { resolve(); } let ticket = model.ticket; if (ticket === '') { resolve(); } let data = {ticket: ticket}; this.get("session").authenticate('authenticator:cas', data).then(() => { this.transitionTo('folders'); }, (reject) => { if (!_.isUndefined(reject.Error)) { this.set('message', reject.Error); } else { this.set('message', reject); } this.set('mode', 'reject'); resolve(); }); }) }, model(params) { return { mode: this.get('mode'), message: this.get('message'), ticket: params.ticket } } });