grafana/public/app/controllers/loginCtrl.js

87 lines
2.0 KiB
JavaScript
Raw Normal View History

2014-08-12 08:06:54 -05:00
define([
'angular',
2015-01-05 00:58:15 -06:00
'config',
2014-08-12 08:06:54 -05:00
],
2015-01-05 00:58:15 -06:00
function (angular, config) {
2014-08-12 08:06:54 -05:00
'use strict';
var module = angular.module('grafana.controllers');
module.controller('LoginCtrl', function($scope, backendSrv, contextSrv, $location) {
2015-01-22 04:51:44 -06:00
$scope.formModel = {
user: '',
2015-01-22 04:51:44 -06:00
email: '',
password: '',
};
contextSrv.sidemenu = false;
$scope.googleAuthEnabled = config.googleAuthEnabled;
$scope.githubAuthEnabled = config.githubAuthEnabled;
2015-01-29 08:46:36 -06:00
$scope.disableUserSignUp = config.disableUserSignUp;
$scope.loginMode = true;
2015-01-22 04:51:44 -06:00
$scope.submitBtnText = 'Log in';
$scope.init = function() {
$scope.$watch("loginMode", $scope.loginModeChanged);
var params = $location.search();
if (params.failedMsg) {
$scope.appEvent('alert-warning', ['Login Failed', params.failedMsg]);
delete params.failedMsg;
$location.search(params);
}
2015-01-22 04:51:44 -06:00
};
2014-08-12 08:06:54 -05:00
2015-01-05 03:46:16 -06:00
// build info view model
$scope.buildInfo = {
version: config.buildInfo.version,
commit: config.buildInfo.commit,
buildstamp: new Date(config.buildInfo.buildstamp * 1000)
};
$scope.submit = function() {
if ($scope.loginMode) {
$scope.login();
} else {
$scope.signUp();
}
};
2015-01-22 04:51:44 -06:00
$scope.loginModeChanged = function(newValue) {
$scope.submitBtnText = newValue ? 'Log in' : 'Sign up';
};
$scope.signUp = function() {
if (!$scope.loginForm.$valid) {
return;
}
backendSrv.post('/api/user/signup', $scope.formModel).then(function() {
window.location.href = config.appSubUrl + '/';
});
};
2014-08-12 08:06:54 -05:00
$scope.login = function() {
delete $scope.loginError;
2014-08-16 14:54:05 -05:00
2014-08-12 08:06:54 -05:00
if (!$scope.loginForm.$valid) {
return;
}
backendSrv.post('/login', $scope.formModel).then(function(result) {
if (result.redirectUrl) {
window.location.href = result.redirectUrl;
} else {
window.location.href = config.appSubUrl + '/';
}
2014-08-12 08:06:54 -05:00
});
};
2014-08-16 14:54:05 -05:00
$scope.init();
2014-08-12 08:06:54 -05:00
});
});