選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

app.js 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. 'use strict';
  2. /* App Module */
  3. var luticate = angular.module('luticate', [
  4. 'ui.bootstrap',
  5. 'ui.router',
  6. 'luticateUtils',
  7. 'luticateAuth',
  8. 'LocalStorageModule',
  9. 'dialogs.main',
  10. 'ngSanitize',
  11. 'ui.validate'
  12. ]);
  13. luticate.config(['$stateProvider', '$urlRouterProvider', '$httpProvider',
  14. function($stateProvider, $urlRouterProvider, $httpProvider) {
  15. $stateProvider.state('root', {
  16. abstract: true,
  17. template: '<div ui-view=""></div>',
  18. resolve: ['luticateAuthUsers', function(luticateAuthUsers)
  19. {
  20. return luticateAuthUsers.loadUserData(null);
  21. }]
  22. });
  23. $stateProvider.state('login',{
  24. url:'/',
  25. parent: 'root',
  26. templateUrl:'views/login.html',
  27. controller:'LoginController'
  28. });
  29. $stateProvider.state('home',{
  30. url:'/home',
  31. parent: 'root',
  32. templateUrl:'views/home.html',
  33. controller:'HomeController'
  34. });
  35. $stateProvider.state('users',{
  36. url:'/users',
  37. parent: 'root',
  38. templateUrl:'views/users.html',
  39. controller:'UsersController'
  40. });
  41. $stateProvider.state('groups',{
  42. url:'/groups',
  43. parent: 'root',
  44. templateUrl:'views/groups.html',
  45. controller:'GroupsController'
  46. });
  47. $stateProvider.state('permissions',{
  48. url:'/permissions',
  49. parent: 'root',
  50. templateUrl:'views/permissions.html',
  51. controller:'PermissionsController'
  52. });
  53. $stateProvider.state('settings',{
  54. url:'/settings',
  55. parent: 'root',
  56. templateUrl:'views/settings.html',
  57. controller:'SettingsController'
  58. });
  59. $stateProvider.state('test',{
  60. url:'/test',
  61. parent: 'root',
  62. templateUrl:'views/test.html',
  63. controller:'TestController'
  64. });
  65. $urlRouterProvider.otherwise('/');
  66. $httpProvider.interceptors.push(['luticateAuthCache', '$injector', '$q',
  67. function (luticateAuthCache, $injector, $q) {
  68. return {
  69. 'request': function (config) {
  70. var token = luticateAuthCache.getToken();
  71. if (token != null)
  72. config.headers['X-Authorization'] = token;
  73. return config;
  74. },
  75. 'responseError': function(rejection) {
  76. /*if (rejection.status == 401) {
  77. luticateAuthCache.removeUser();
  78. $injector.get('$state').transitionTo('login');
  79. }*/
  80. return $q.reject(rejection);
  81. }
  82. };
  83. }]);
  84. }])
  85. .run(['$rootScope', '$state', 'luticateAuthUsers',function ($rootScope, $state, luticateAuthUsers) {
  86. $rootScope.$on('$stateChangeError', function (e, curr, prev) {
  87. //$state.go('login');
  88. });
  89. }]);