diff --git a/app/templates/client/app/admin(auth)/admin(js).js b/app/templates/client/app/admin(auth)/admin(js).js index 270e8a974..c9257b1d7 100644 --- a/app/templates/client/app/admin(auth)/admin(js).js +++ b/app/templates/client/app/admin(auth)/admin(js).js @@ -12,6 +12,7 @@ angular.module('<%= scriptAppName %>') .state('admin', { url: '/admin', templateUrl: 'app/admin/admin.html', - controller: 'AdminCtrl' + controller: 'AdminCtrl', + authorize: 'admin' }); - });<% } %> \ No newline at end of file + });<% } %> diff --git a/app/templates/client/app/app(js).js b/app/templates/client/app/app(js).js index eef485d7c..dd128f0f5 100644 --- a/app/templates/client/app/app(js).js +++ b/app/templates/client/app/app(js).js @@ -50,6 +50,11 @@ angular.module('<%= scriptAppName %>', [<%= angularModules %>]) if (next.authenticate && !loggedIn) { $location.path('/login'); } + if (next.authorize) { + if(next.authorize === 'admin' && !Auth.isAdmin()) { + $location.path('/'); + } + } }); }); - })<% } %>; \ No newline at end of file + })<% } %>; diff --git a/app/templates/client/components/navbar/navbar.controller(js).js b/app/templates/client/components/navbar/navbar.controller(js).js index 4ce9dbcb5..6a30a4537 100644 --- a/app/templates/client/components/navbar/navbar.controller(js).js +++ b/app/templates/client/components/navbar/navbar.controller(js).js @@ -18,6 +18,11 @@ angular.module('<%= scriptAppName %>') };<% } %> $scope.isActive = function(route) { - return route === $location.path(); + if (route !== '/') { + return -1 !== $location.path().indexOf(route); + } + else { + return route === $location.path(); + } }; - }); \ No newline at end of file + });