| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- Ext.define('saas.view.auth.ReLoginController', {
- extend: 'Ext.app.ViewController',
- alias: 'controller.relogin',
- init: function () {
- this.callParent(arguments);
- },
- onAfterRender: function() {
- var me = this,
- view = me.getView(),
- model = me.getViewModel(),
- remember = model.get('remember'),
- password = model.get('repassword'),
- lastSuccess = model.get('lastSuccess'),
- form = me.lookup('reloginform'),
- passwordField = form.getForm().findField('password');
- if(remember && lastSuccess) {
- passwordField.setValue(password);
- }
- },
- onLogin: function () {
- var me = this,
- view = me.getView(),
- viewModel = me.getViewModel(),
- form = me.lookup('reloginform'),
- values = form.getValues();
- if(!form.isValid()) {
- return;
- }
- view.mask('请稍等...');
- saas.model.Session.login(values.username, values.password)
- .then(function (session) {
- view.isMasked() && view.unmask();
- viewModel.set('session', session);
-
- var cos = session.get("account").companies;
- if (cos && cos.length) {
- if (cos.length == 1) {
- session.get('account').companyId = cos[0].id;
- me.fireEvent('login', session);
- } else {
- Ext.create({
- xtype: 'companypicker',
- viewModel: {
- stores: {
- companies: Ext.create('saas.store.Company', {
- data: cos
- })
- }
- }
- });
- }
- } else {
- me.fireEvent('login', session);
- }
- me.successReLogin();
- })
- .catch(function (error) {
- view.isMasked() && view.unmask();
- saas.util.BaseUtil.showErrorToast('登录失败: ' + error.message);
- me.failureReLogin();
- });
- },
- successReLogin: function() {
- var me = this,
- view = me.getView(),
- form = me.lookup('reloginform'),
- values = form.getValues();
- viewModel = me.getViewModel();
- viewModel.set('repassword', values.password);
- viewModel.set('lastSuccess', true);
- view.close();
- },
- failureReLogin: function() {
- var me = this,
- viewModel = me.getViewModel();
- viewModel.set('lastSuccess', false);
- },
- onCancel: function() {
- var me = this,
- view = me.getView();
- view.close();
- },
- });
|