client/app/app.js
author rougeronj
Fri, 22 May 2015 17:41:19 +0200
changeset 93 4b167851ee7d
parent 91 f7a844a9079e
child 100 537d330ad7f0
permissions -rw-r--r--
Starting a better management of the 'models' and the requests
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
cef349423167 add basic file org + client prototype
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
(function(){
91
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
     2
    'use strict';
0
cef349423167 add basic file org + client prototype
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
93
4b167851ee7d Starting a better management of the 'models' and the requests
rougeronj
parents: 91
diff changeset
     4
    angular.module('ammico', [ 'ngRoute','ammicoHome', 'ammicoMyvisit', 'ammicoBooks', 'ammicoVisites', 'ammicoSlides', 'ammicoSlideshow', 'ammicoSearch', 'ammicoAuth', 'ammicoModels', 'templates' ])
91
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
     5
    .config(function($routeProvider) {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
     6
        $routeProvider.
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
     7
        when('/', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
     8
            controller: 'homeCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
     9
            templateUrl: 'home/home.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    10
            authRequired: false
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    11
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    12
        when('/my_visit', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    13
            controller: 'my_visitCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    14
            templateUrl: 'my_visit/my_visit.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    15
            authRequired: true
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    16
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    17
        when('/books', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    18
            controller: 'booksCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    19
            templateUrl: 'books/books.html'
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    20
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    21
        when('/books/:idBook', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    22
            controller: 'bookCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    23
            templateUrl: 'books/book.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    24
            authRequired: true
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    25
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    26
        when('/visites', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    27
            controller: 'visitesCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    28
            templateUrl: 'visites/visites.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    29
            authRequired: true
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    30
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    31
        when('/visites/:idVisit', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    32
            controller: 'visiteCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    33
            templateUrl: 'visites/visite.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    34
            authRequired: true
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    35
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    36
        when('/slide/:idSlide', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    37
            controller: 'slidesCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    38
            templateUrl: 'slides/slides.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    39
            authRequired: true
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    40
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    41
        when('/slideshow/', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    42
            controller: 'slideshowCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    43
            templateUrl: 'slideshow/slideshow.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    44
            authRequired: true
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    45
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    46
        when('/slideshow/:iSlide', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    47
            controller: 'slideshowCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    48
            templateUrl: 'slideshow/slideshow.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    49
            authRequired: true
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    50
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    51
        when('/search/:q', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    52
            controller: 'searchCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    53
            templateUrl: 'search/search.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    54
            authRequired: true
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    55
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    56
        when('/auth/:action', {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    57
            controller: 'authCtrl',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    58
            templateUrl: 'home/home.html',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    59
            authRequired: false
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    60
        }).
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    61
        otherwise({
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    62
            redirectTo: '/'
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    63
        });
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    64
    })
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    65
    .run( function($rootScope, $location, $window, $http) {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    66
        $rootScope.globals = {};
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    67
        if ($window.sessionStorage.token) {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    68
            $rootScope.globals.userLogged = true;
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    69
            $http.defaults.headers.common.Authorization = 'Token ' + $window.sessionStorage.token;
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    70
        }
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    71
        $rootScope.$on( '$routeChangeStart', function(event, next) {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    72
            if (next.authRequired && !$rootScope.globals.userLogged) {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    73
                $location.path( '/auth/login' );
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    74
            }
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    75
        });
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    76
    })
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    77
    .service('searchApi', function($resource, context) {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    78
        this.searchResource = function(params){
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    79
            return $resource(context.urls.searchUrl,  
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    80
                    {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    81
                callback: 'JSON_CALLBACK'
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    82
                    },
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    83
                    {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    84
                        getJsonp: {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    85
                            method: 'JSONP',
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    86
                            params: params,
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    87
                            isArray: false,
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    88
                            transformResponse: function(data){
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    89
                                // Transform meta list into meta dict
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    90
                                var nb = data.hits.length;
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    91
                                for(var i=0;i<nb;i++){
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    92
                                    var nb_metas = data.hits[i].metas.length;
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    93
                                    data.hits[i].metas_dict = {};
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    94
                                    for(var j=0;j<nb_metas;j++){
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    95
                                        if(typeof data.hits[i].metas[j].images==='undefined'){
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    96
                                            data.hits[i].metas_dict[data.hits[i].metas[j].name] = data.hits[i].metas[j].value;
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    97
                                        }
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    98
                                        else{
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
    99
                                            data.hits[i].metas_dict.images = data.hits[i].metas[j].images[0].value;
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   100
                                        }
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   101
                                    }
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   102
                                }
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   103
                                return data;
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   104
                            }
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   105
                        }
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   106
                    });
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   107
        };
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   108
    })
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   109
    .service('ammicoApi', function($resource, context, $sce) {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   110
        this.listBooks = $resource(context.urls.ammicoUrl+'/books');
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   111
        this.book = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@id'});
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   112
        this.order = $resource(context.urls.ammicoUrl+'/books/:idBook/order', {idBook:'@id'});
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   113
        this.booksSlides = $resource(context.urls.ammicoUrl+'/books/:idBook/slides', {idBook:'@id'});
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   114
        this.listSlides= $resource(context.urls.ammicoUrl+'/slides');
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   115
        this.slide = $resource(context.urls.ammicoUrl+'/slides/:idSlide', {idSlide:'@id'});
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   116
        this.sanitizeUrls = function(data){
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   117
            data.details.audio = $sce.trustAsResourceUrl(data.details.audio);
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   118
            data.details.video = $sce.trustAsResourceUrl(data.details.video);
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   119
            data.audio = $sce.trustAsResourceUrl(data.audio);
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   120
            data.video = $sce.trustAsResourceUrl(data.video);
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   121
            return data;
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   122
        };
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   123
    })
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   124
    .service('authApi', function($resource, context) {
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   125
        this.login = $resource(context.urls.ammicoUrl+'/auth/api-token-auth');
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   126
        this.logout = $resource(context.urls.ammicoUrl+'/auth/logout');
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   127
        this.user = $resource(context.urls.ammicoUrl+'/auth/user');
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   128
        this.test = $resource(context.urls.ammicoUrl+'/auth/auth');
f7a844a9079e merge the changes of Camille
rougeronj
parents: 57
diff changeset
   129
    });
0
cef349423167 add basic file org + client prototype
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
})();