summaryrefslogtreecommitdiffstats
path: root/app/login/controllers/login-controller.js
blob: 594d3a12126ee9a9d81d5f542f90d5ddfa488d5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/**
 * Controller for the login page
 *
 * @module app/login/controllers/index
 * @exports LoginController
 * @name LoginController
 */

window.angular && (function (angular) {
    'use strict';

    angular
        .module('app.login')
        .controller('LoginController', [
            '$scope',
            '$window',
            'APIUtils',
            'dataService',
            'userModel',
            '$routeParams',
            function($scope, $window, APIUtils, dataService, userModel, $routeParams){
                $scope.dataService = dataService;
                $scope.host = $scope.dataService.host.replace(/^https?\:\/\//ig, '');

                $scope.tryLogin = function(host, username, password, event){
                    if(event.keyCode === 13){
                        $scope.login(host, username, password);
                    }
                };
                $scope.login = function(host, username, password){
                    $scope.error = false;
                    $scope.description = false;

                    if(!username || username == "" ||
                       !password || password == "" ||
                       !host || host == ""
                       ){
                        return false;
                    }else{
                        $scope.dataService.setHost(host);
                        userModel.login(username, password, function(status, description){
                            if(status){
                                $scope.$emit('user-logged-in',{});
                                $window.location.hash = '#/overview/server';
                            }else{
                                $scope.error = true;
                                if(description){
                                   $scope.description = description;
                                }
                           };
                        });
                    }
                }
            }
        ]
    );

})(angular);
OpenPOWER on IntegriCloud