--- a/client/app/app.js Wed May 27 19:02:43 2015 +0200
+++ b/client/app/app.js Wed May 27 19:03:08 2015 +0200
@@ -1,8 +1,19 @@
(function(){
'use strict';
- angular.module('ammico', [ 'ngRoute','ammicoHome', 'ammicoMyvisit', 'ammicoBooks', 'ammicoVisites', 'ammicoSlides', 'ammicoSlideshow', 'ammicoSearch', 'ammicoAuth', 'ammicoModels', 'templates' ])
- .config(function($routeProvider) {
+ angular.module('ammico', [ 'ngRoute','ammicoHome', 'ammicoMyvisit', 'ammicoBooks', 'ammicoVisites', 'ammicoSlides', 'ammicoSlideshow', 'ammicoSearch', 'ammicoAuth', 'ammicoCommon', 'templates' ])
+ .config(function($routeProvider, $httpProvider) {
+ $httpProvider.interceptors.push(function($q, $location) {
+ return {
+ responseError: function(rejection) {
+ if (rejection.status == 401) {
+ localStorage.removeItem('token');
+ }
+ return $q.reject(rejection);
+ }
+ };
+ });
+
$routeProvider.
when('/', {
controller: 'homeCtrl',
@@ -16,7 +27,8 @@
}).
when('/books', {
controller: 'booksCtrl',
- templateUrl: 'books/books.html'
+ templateUrl: 'books/books.html',
+ authRequired: true
}).
when('/books/:idBook', {
controller: 'bookCtrl',
@@ -62,11 +74,11 @@
redirectTo: '/'
});
})
- .run( function($rootScope, $location, $window, $http) {
+ .run( function($rootScope, $location, $window, $http, authApi) {
$rootScope.globals = {};
- if ($window.sessionStorage.token) {
+ if (localStorage.getItem('token')) {
$rootScope.globals.userLogged = true;
- $http.defaults.headers.common.Authorization = 'Token ' + $window.sessionStorage.token;
+ $http.defaults.headers.common.Authorization = 'Token ' + localStorage.getItem('token');
}
$rootScope.$on( '$routeChangeStart', function(event, next) {
if (next.authRequired && !$rootScope.globals.userLogged) {
@@ -74,57 +86,4 @@
}
});
})
- .service('searchApi', function($resource, context) {
- this.searchResource = function(params){
- return $resource(context.urls.searchUrl,
- {
- callback: 'JSON_CALLBACK'
- },
- {
- getJsonp: {
- method: 'JSONP',
- params: params,
- isArray: false,
- transformResponse: function(data){
- // Transform meta list into meta dict
- var nb = data.hits.length;
- for(var i=0;i<nb;i++){
- var nb_metas = data.hits[i].metas.length;
- data.hits[i].metas_dict = {};
- for(var j=0;j<nb_metas;j++){
- if(typeof data.hits[i].metas[j].images==='undefined'){
- data.hits[i].metas_dict[data.hits[i].metas[j].name] = data.hits[i].metas[j].value;
- }
- else{
- data.hits[i].metas_dict.images = data.hits[i].metas[j].images[0].value;
- }
- }
- }
- return data;
- }
- }
- });
- };
- })
- .service('ammicoApi', function($resource, context, $sce) {
- this.listBooks = $resource(context.urls.ammicoUrl+'/books');
- this.book = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@id'});
- this.order = $resource(context.urls.ammicoUrl+'/books/:idBook/order', {idBook:'@id'});
- this.booksSlides = $resource(context.urls.ammicoUrl+'/books/:idBook/slides', {idBook:'@id'});
- this.listSlides= $resource(context.urls.ammicoUrl+'/slides');
- this.slide = $resource(context.urls.ammicoUrl+'/slides/:idSlide', {idSlide:'@id'});
- this.sanitizeUrls = function(data){
- data.details.audio = $sce.trustAsResourceUrl(data.details.audio);
- data.details.video = $sce.trustAsResourceUrl(data.details.video);
- data.audio = $sce.trustAsResourceUrl(data.audio);
- data.video = $sce.trustAsResourceUrl(data.video);
- return data;
- };
- })
- .service('authApi', function($resource, context) {
- this.login = $resource(context.urls.ammicoUrl+'/auth/api-token-auth');
- this.logout = $resource(context.urls.ammicoUrl+'/auth/logout');
- this.user = $resource(context.urls.ammicoUrl+'/auth/user');
- this.test = $resource(context.urls.ammicoUrl+'/auth/auth');
- });
})();