'use strict';
/**
 * @ngdoc controller
 * @name LoginController
 * @description
 *  로그인, 비밀번호 리셋 관련
 */
app.controller('LoginController', function ($rootScope, $scope, $state, $stateParams, toastr, Systems, Auth, User) {
  // 로그인이 필요한 url 에 로그인 없이 접근하면 e=401 파리미터를 가지고 /login 으로 오는데 그때에 대한 처리
  if (!_.isEmpty($stateParams)) {
    if ($stateParams.e === '401') {
      $scope.error = '<div class="alert alert-warning"><i class="fa fa-lg fa-warning"></i>&nbsp;&nbsp;You must log in to access this page.</div>';
    }
  }

  // 이미 로그인한 사용자면 system-overview 메뉴로 이동시킴
  Auth.currentUser().then(function(user) {
    if(user) {
      $state.go('home');
    }
  });

  // 로그인 화면에서 아이디/패스워드 입력 후 Sign in 버튼 클릭하면 실행되는 함수
	$scope.login = function() {
		var jsonData = JSON.stringify( $scope.credentials );  // 아이디/패스워드
		console.log(jsonData);

    // 로그인
		User.login(jsonData)
      .then( function(data) {
        if(data.result) {
          $state.go('home');
				} else {
          toastr.error(data.error);
          $scope.credentials.password = '';
          $scope.loginForm.$setPristine();
				}
			})
      .catch(toastr.error);
	};

});
