2014-08-12 15:06:54 +02:00
|
|
|
define([
|
|
|
|
|
'angular',
|
2016-09-28 15:10:50 +02:00
|
|
|
'lodash',
|
2015-10-30 15:16:05 +01:00
|
|
|
'../core_module',
|
2015-10-30 14:19:02 +01:00
|
|
|
'app/core/config',
|
2014-08-12 15:06:54 +02:00
|
|
|
],
|
2016-09-28 15:10:50 +02:00
|
|
|
function (angular, _, coreModule, config) {
|
2014-08-12 15:06:54 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
2017-10-24 10:45:46 +02:00
|
|
|
config = config.default;
|
|
|
|
|
|
2015-12-16 12:21:13 +01:00
|
|
|
coreModule.default.controller('LoginCtrl', function($scope, backendSrv, contextSrv, $location) {
|
2015-01-22 11:51:44 +01:00
|
|
|
$scope.formModel = {
|
2015-01-21 09:51:31 +01:00
|
|
|
user: '',
|
2015-01-22 11:51:44 +01:00
|
|
|
email: '',
|
|
|
|
|
password: '',
|
2015-01-21 09:51:31 +01:00
|
|
|
};
|
|
|
|
|
|
2015-05-05 10:43:19 +08:00
|
|
|
contextSrv.sidemenu = false;
|
2015-01-28 10:25:53 +01:00
|
|
|
|
2016-09-28 15:10:50 +02:00
|
|
|
$scope.oauth = config.oauth;
|
|
|
|
|
$scope.oauthEnabled = _.keys(config.oauth).length > 0;
|
|
|
|
|
|
2016-09-28 15:27:08 +02:00
|
|
|
$scope.disableLoginForm = config.disableLoginForm;
|
2015-01-29 15:46:36 +01:00
|
|
|
$scope.disableUserSignUp = config.disableUserSignUp;
|
2015-08-20 11:15:36 -07:00
|
|
|
$scope.loginHint = config.loginHint;
|
2015-01-28 10:25:53 +01:00
|
|
|
|
2015-01-22 10:14:24 +01:00
|
|
|
$scope.loginMode = true;
|
2015-01-22 11:51:44 +01:00
|
|
|
$scope.submitBtnText = 'Log in';
|
|
|
|
|
|
|
|
|
|
$scope.init = function() {
|
|
|
|
|
$scope.$watch("loginMode", $scope.loginModeChanged);
|
2015-04-29 10:08:01 +02:00
|
|
|
|
2017-02-01 16:32:51 +03:00
|
|
|
if (config.loginError) {
|
|
|
|
|
$scope.appEvent('alert-warning', ['Login Failed', config.loginError]);
|
2015-04-29 10:08:01 +02:00
|
|
|
}
|
2015-01-22 11:51:44 +01:00
|
|
|
};
|
2014-08-12 15:06:54 +02:00
|
|
|
|
2015-01-21 09:51:31 +01:00
|
|
|
$scope.submit = function() {
|
2015-01-22 10:14:24 +01:00
|
|
|
if ($scope.loginMode) {
|
2015-01-21 09:51:31 +01:00
|
|
|
$scope.login();
|
|
|
|
|
} else {
|
|
|
|
|
$scope.signUp();
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
2015-01-22 11:51:44 +01:00
|
|
|
$scope.loginModeChanged = function(newValue) {
|
|
|
|
|
$scope.submitBtnText = newValue ? 'Log in' : 'Sign up';
|
2015-01-22 10:14:24 +01:00
|
|
|
};
|
|
|
|
|
|
2015-01-21 09:51:31 +01:00
|
|
|
$scope.signUp = function() {
|
|
|
|
|
if (!$scope.loginForm.$valid) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2015-08-28 09:24:30 +02:00
|
|
|
backendSrv.post('/api/user/signup', $scope.formModel).then(function(result) {
|
|
|
|
|
if (result.status === 'SignUpCreated') {
|
|
|
|
|
$location.path('/signup').search({email: $scope.formModel.email});
|
|
|
|
|
} else {
|
|
|
|
|
window.location.href = config.appSubUrl + '/';
|
|
|
|
|
}
|
2015-01-21 09:51:31 +01:00
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
2014-08-12 15:06:54 +02:00
|
|
|
$scope.login = function() {
|
|
|
|
|
delete $scope.loginError;
|
2014-08-16 21:54:05 +02:00
|
|
|
|
2014-08-12 15:06:54 +02:00
|
|
|
if (!$scope.loginForm.$valid) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
2015-01-27 11:59:20 +01:00
|
|
|
backendSrv.post('/login', $scope.formModel).then(function(result) {
|
2016-07-06 10:09:53 +02:00
|
|
|
var params = $location.search();
|
|
|
|
|
|
|
|
|
|
if (params.redirect && params.redirect[0] === '/') {
|
|
|
|
|
window.location.href = config.appSubUrl + params.redirect;
|
|
|
|
|
}
|
|
|
|
|
else if (result.redirectUrl) {
|
2015-01-27 11:59:20 +01:00
|
|
|
window.location.href = result.redirectUrl;
|
|
|
|
|
} else {
|
|
|
|
|
window.location.href = config.appSubUrl + '/';
|
|
|
|
|
}
|
2014-08-12 15:06:54 +02:00
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
2014-08-16 21:54:05 +02:00
|
|
|
$scope.init();
|
2014-08-12 15:06:54 +02:00
|
|
|
});
|
|
|
|
|
});
|