/** * @ngdoc directive * @name izzyposWebApp.directive:adminPosHeader * @description * # adminPosHeader */ angular.module('sentinelDashboardApp') .directive('header', ['VersionService', 'AuthService', function () { return { templateUrl: 'app/scripts/directives/header/header.html', restrict: 'E', replace: true, controller: function ($scope, $state, $window, VersionService, AuthService) { VersionService.version().success(function (data) { if (data.code == 0) { $scope.dashboardVersion = data.data; } }); if (!$window.localStorage.getItem("session_sentinel_admin")) { AuthService.check().success(function (data) { if (data.code == 0) { $window.localStorage.setItem('session_sentinel_admin', JSON.stringify(data.data)); handleLogout($scope, data.data.id) } else { $state.go('login'); } }); } else { try { var id = JSON.parse($window.localStorage.getItem("session_sentinel_admin")).id; handleLogout($scope, id); } catch (e) { // Historical version compatibility processing, fixes issue-1449 // If error happens while parsing, remove item in localStorage and redirect to login page. $window.localStorage.removeItem("session_sentinel_admin"); $state.go('login'); } } function handleLogout($scope, id) { if (id == 'FAKE_EMP_ID') { $scope.showLogout = false; } else { $scope.showLogout = true; } } $scope.logout = function () { AuthService.logout().success(function (data) { if (data.code == 0) { $window.localStorage.removeItem("session_sentinel_admin"); $state.go('login'); } else { alert('logout error'); } }); } } } }]);