diff -r e165f7647ae3 -r c7c424e9eed5 client/app/components/app_service.js --- a/client/app/components/app_service.js Wed May 27 19:01:25 2015 +0200 +++ b/client/app/components/app_service.js Wed May 27 19:02:43 2015 +0200 @@ -2,15 +2,106 @@ (function(){ 'use strict'; - angular.module('ammicoModels', ['ngRoute']) + angular.module('ammicoCommon', ['ngRoute']) .factory('Book', function($resource, context) { - var books = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@id'}); - //return $resource('/api/posts/:id'); + var books = $resource(context.urls.ammicoUrl+'/books/:idBook', {idBook:'@id'}, {update: { method: 'PUT'}}); return books; }) .factory('Slide', function($resource, context) { - return $resource(context.urls.ammicoUrl+'/slides/:idSlide', {idSlide:'@id'}); - //return $resource('/api/posts/:id'); + var slides = $resource(context.urls.ammicoUrl+'/slides/:idSlide', {idSlide:'@id'}, {update: { method: 'PUT'}}); + + angular.extend(slides.prototype, { + + toggleFavorite: function () { + this.favorite = !this.favorite; + this.$update(); + }, + remove: function (array) { + var _this = this; + if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){ + this.$delete(function(){ + if (array){ + array.splice(array.indexOf(_this), 1); + } + }, + function(error) { + if (error.status === 404 && array){ + array.splice(array.indexOf(_this), 1); + } + }); + } + } + }); + + return slides; + }) + .factory('Order', function($resource, context) { + return $resource(context.urls.ammicoUrl+'/books/:idBook/order', {idBook:'@id'}); + }) + .service('Utils', function($resource, context, $sce) { + 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); + console.log(data); + 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'); + }) + .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 h){ + $(this).addClass('img-landscape'); + } + }); + } + } }); })();