var app = angular.module('app', ['ngRoute', 'ngAnimate', 'mgcrea.ngStrap']); app.config(function($routeProvider, $locationProvider) { $locationProvider.hashPrefix(''); // not supported by any of browsers fully yet // $locationProvider.html5Mode({ // enabled: true, // requireBase: false // }); $routeProvider .when('/about', { templateUrl: 'site/templates/body/about.html', controller: 'aboutController' }) .when('/login', { templateUrl: 'site/templates/body/login.html', controller: 'loginController' }) .when('/test/:number', { templateUrl: 'site/templates/body/about.html', controller: 'aboutController' }) .when('/index', { templateUrl: 'site/templates/body/index.html', controller: 'indexController' }) .otherwise({ redirectTo: '/login' }); }); app.controller('aboutController', function($scope) { $scope.message = 'This is aboutController message'; }); app.controller('htmlHeadController', function($scope, $routeParams) { $scope.htmlTitle = 'it works from angular'; }); app.controller('indexController', function($scope, $$userDefinitions) { $scope.message = 'This is indexController message'; $scope.userDefinitions = $$userDefinitions; // $scope.userDefinitions.logout(); // console.log($scope.userDefinitions.getName()); }); app.controller('leftMenuController', function($scope, $routeParams, $$userDefinitions) { $scope.userDefinitions = $$userDefinitions; }); app.controller('loginController', function($scope, $$userDefinitions) { $scope.message = 'This is loginController message'; $scope.userDefinitions = $$userDefinitions; $scope.userDefinitions.init(); }); app.controller('mainBodyController', function($scope, $routeParams, $$userDefinitions) { $scope.userDefinitions = $$userDefinitions; }); app.factory('$$userDefinitions', function($location, $timeout) { var userDefinitions = { details: false, isLoggedIn: false, }; userDefinitions.login = function() { userDefinitions.details = { id: '', name: '', }; localStorage.userDefinitionsDetails = JSON.stringify(userDefinitions.details); userDefinitions.init(); }; userDefinitions.logout = function() { delete localStorage.userDefinitionsDetails; $location.url('/login'); }; // userDefinitions.logout(); userDefinitions.checkLocal = function() { if (void 0 !== localStorage.userDefinitionsDetails) { userDefinitions.details = JSON.parse(localStorage.userDefinitionsDetails); userDefinitions.isLoggedIn = true; } }; userDefinitions.init = function() { userDefinitions.checkLocal(); if (userDefinitions.isLoggedIn === true) { $location.url('/index'); } else { $location.url('/login'); } }; userDefinitions.init(); return userDefinitions; });