| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- define([
- 'angular',
- '../core_module',
- 'app/core/config',
- ],
- function (angular, coreModule, config) {
- 'use strict';
- coreModule.default.controller('LoginCtrl', function($scope, backendSrv, contextSrv, $location) {
- $scope.formModel = {
- user: '',
- email: '',
- password: '',
- };
- contextSrv.sidemenu = false;
- $scope.googleAuthEnabled = config.googleAuthEnabled;
- $scope.githubAuthEnabled = config.githubAuthEnabled;
- $scope.oauthEnabled = config.githubAuthEnabled || config.googleAuthEnabled;
- $scope.disableUserSignUp = config.disableUserSignUp;
- $scope.loginHint = config.loginHint;
- $scope.loginMode = true;
- $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);
- }
- };
- $scope.submit = function() {
- if ($scope.loginMode) {
- $scope.login();
- } else {
- $scope.signUp();
- }
- };
- $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(result) {
- if (result.status === 'SignUpCreated') {
- $location.path('/signup').search({email: $scope.formModel.email});
- } else {
- window.location.href = config.appSubUrl + '/';
- }
- });
- };
- $scope.login = function() {
- delete $scope.loginError;
- if (!$scope.loginForm.$valid) {
- return;
- }
- backendSrv.post('/login', $scope.formModel).then(function(result) {
- var params = $location.search();
- if (params.redirect && params.redirect[0] === '/') {
- window.location.href = config.appSubUrl + params.redirect;
- }
- else if (result.redirectUrl) {
- window.location.href = result.redirectUrl;
- } else {
- window.location.href = config.appSubUrl + '/';
- }
- });
- };
- $scope.init();
- });
- });
|