client/app/components/app_service.js
changeset 146 c6fa8ee3f562
parent 106 cb13a9009bf5
child 172 ffdfe491869c
equal deleted inserted replaced
145:a8b5b11ef6b2 146:c6fa8ee3f562
     2 (function(){
     2 (function(){
     3     'use strict';
     3     'use strict';
     4     
     4     
     5     angular.module('ammicoCommon', ['ngRoute'])
     5     angular.module('ammicoCommon', ['ngRoute'])
     6     .factory('Book', function($resource, context) {
     6     .factory('Book', function($resource, context) {
     7         var books = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@id'}, {update: { method: 'PUT'}});
     7         var books = $resource(context.urls.ammicoUrl+'books/:idBook', {idBook:'@id', idExpo: context.idExpo}, {update: { method: 'PUT'}});
     8         return books;
     8         return books;
     9     })
     9     })
    10     .factory('Slide', function($resource, context) {
    10     .factory('Slide', function($resource, context, $modal) {
    11         var slides = $resource(context.urls.ammicoUrl+'/slides/:idSlide', {idSlide:'@id'}, {update: { method: 'PUT'}});
    11         var slides = $resource(context.urls.ammicoUrl+'slides/:idSlide', {idSlide:'@id'}, {update: { method: 'PUT'}});
    12         
    12         
    13         angular.extend(slides.prototype, {
    13         angular.extend(slides.prototype, {
    14 
    14 
    15             toggleFavorite: function () {
    15             toggleFavorite: function () {
    16                 this.favorite = !this.favorite;
    16                 this.favorite = !this.favorite;
    17                 this.$update();
    17                 this.$update();
       
    18             },
       
    19             addToBook: function () {
       
    20                 var _this = this;
       
    21                 var modalInstance = $modal.open({
       
    22                     templateUrl: 'books/add_book_modal.html',
       
    23                     controller: 'ModalAddBookCtrl',
       
    24                     size: 'sm'
       
    25                 });
       
    26 
       
    27                 modalInstance.result.then(function (idBook) {
       
    28                     var newSlide = _this;
       
    29                     newSlide.book = idBook;
       
    30                     delete newSlide["id"];
       
    31                     slides.save(newSlide);
       
    32                 });
       
    33             },
       
    34             update: function(){
       
    35                 console.log('test');
    18             },
    36             },
    19             remove: function (array) {
    37             remove: function (array) {
    20                 var _this = this;
    38                 var _this = this;
    21                 if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){
    39                 if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){
    22                     this.$delete(function(){
    40                     this.$delete(function(){
    23                         if (array){
    41                         if (array){
    24                             array.splice(array.indexOf(_this), 1);
    42                             array.splice(array.indexOf(_this), 1);
    25                         }
    43                         }
       
    44                         //$scope.$emit("slideDeleted", array);
    26                     },
    45                     },
    27                     function(error) {
    46                     function(error) {
    28                         if (error.status === 404 && array){
    47                         if (error.status === 404 && array){
    29                                 array.splice(array.indexOf(_this), 1);
    48                                 array.splice(array.indexOf(_this), 1);
    30                         }
    49                         }
    34         });
    53         });
    35         
    54         
    36         return slides;
    55         return slides;
    37     })
    56     })
    38     .factory('Order', function($resource, context) {
    57     .factory('Order', function($resource, context) {
    39         return $resource(context.urls.ammicoUrl+'/books/:idBook/order', {idBook:'@id'});
    58         return $resource(context.urls.ammicoUrl+'books/:idBook/order', {idBook:'@id'});
    40     })
    59     })
    41     .service('Utils', function($resource, context, $sce) {
    60     .service('Utils', function($resource, context, $sce) {
    42         this.sanitizeUrls = function(data){
    61         this.sanitizeUrls = function(data){
    43             data.details.audio = $sce.trustAsResourceUrl(data.details.audio);
    62             data.details.audio = $sce.trustAsResourceUrl(data.details.audio);
    44             data.details.video = $sce.trustAsResourceUrl(data.details.video);
    63             data.details.video = $sce.trustAsResourceUrl(data.details.video);
    46             data.video = $sce.trustAsResourceUrl(data.video);
    65             data.video = $sce.trustAsResourceUrl(data.video);
    47             return data;
    66             return data;
    48         };
    67         };
    49     })
    68     })
    50     .service('authApi', function($resource, context) {
    69     .service('authApi', function($resource, context) {
    51         this.login = $resource(context.urls.ammicoUrl+'/auth/api-token-auth');
    70         this.login = $resource(context.urls.ammicoUrl+'auth/api-token-auth', {idExpo: context.idExpo});
    52         this.logout = $resource(context.urls.ammicoUrl+'/auth/logout');
    71         this.logout = $resource(context.urls.ammicoUrl+'auth/logout');
    53         this.user = $resource(context.urls.ammicoUrl+'/auth/user');
    72         this.user = $resource(context.urls.ammicoUrl+'auth/user');
    54         this.test = $resource(context.urls.ammicoUrl+'/auth/auth');
    73         this.test = $resource(context.urls.ammicoUrl+'auth/auth');
    55     })
    74     })
    56     .service('searchApi', function($resource, context) {
    75     .service('searchApi', function($resource, context) {
    57         this.searchResource = function(params){
    76         this.searchResource = function(params){
    58             return $resource(context.urls.searchUrl,  
    77             return $resource(context.urls.searchUrl,  
    59                     {
    78                     {