diff --git a/config.js b/config.js index 0de7b49..5ee3b4e 100644 --- a/config.js +++ b/config.js @@ -40,11 +40,19 @@ angular.module('flashy', [ }; }); $locationProvider.html5Mode(true); - $urlRouterProvider.otherwise('/login'); + $urlRouterProvider.otherwise('/404'); var auth_resolve = { - authorize: function($q, UserService) { + authorize: function($q, $state, UserService) { console.log('resolving user before continuing'); - return UserService.getUserData(); + var redirectAsNeeded = function() { + if (!UserService.isLoggedIn()) { + console.log(UserService.getUserData()); + console.log('making the user log in'); + $state.go('login'); + } + }; + if (UserService.isResolved()) return redirectAsNeeded(); + return UserService.getUserData().then(redirectAsNeeded); } }; $stateProvider. @@ -116,22 +124,13 @@ angular.module('flashy', [ url: '/verifyemail/{key}', templateUrl: 'templates/verifyemail.html', controller: 'VerifyEmailController' + }). + state('404', { + url: '/404', + template: "

This page doesn't exist!

" }); }). run(function($rootScope, $state, $stateParams, $location, UserService) { - $rootScope.$on('$stateChangeStart', function(event, toState, toStateParams) { - if (toState.name == 'login') { - if (UserService.isLoggedIn()) return console.log('already logged in') + $state.go('addclass'); - else return console.log('we are going to login anyway'); - } - if (UserService.isLoggedIn()) return console.log('no login required; going straight to ' + toState.name); - $rootScope.returnToState = toState; - $rootScope.returnToStateParams = toStateParams; - console.log('going to ' + toState.name + ' after login'); - event.preventDefault(); - $state.go('login'); - - }); $rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error) { console.log('failed to change state: ' + error); $state.go('login'); diff --git a/home.html b/home.html index 4a2f5e3..476bc8b 100644 --- a/home.html +++ b/home.html @@ -50,19 +50,20 @@ -