add delete request to delete a slide - rename some .ressources fonctions
authorrougeronj
Mon, 23 Mar 2015 17:08:16 +0100
changeset 32 802ba9793507
parent 31 8d016c195d79
child 33 c71a015191f6
add delete request to delete a slide - rename some .ressources fonctions
client/app/app.js
client/app/books/book.html
client/app/books/books_controller.js
--- a/client/app/app.js	Mon Mar 23 17:07:36 2015 +0100
+++ b/client/app/app.js	Mon Mar 23 17:08:16 2015 +0100
@@ -16,11 +16,11 @@
         controller: 'bookCtrl',
         templateUrl: 'books/book.html'
       }).
-      when('/slides/:idSlide', {
+      when('/slide/:idSlide', {
           controller: 'slidesCtrl',
           templateUrl: 'slides/slides.html'
        }).
-       when('/slides/edit/:idSlide', {
+       when('/slide/edit/:idSlide', {
            controller: 'slideEditCtrl',
            templateUrl: 'slides/slides.html'
         }).
@@ -96,8 +96,11 @@
                     }
                 });
         };
-        this.getResource = $resource(context.urls.ammicoUrl+'/:action', {action:'@action'});
-        this.postResource = $resource(context.urls.ammicoUrl+'/:action', {action:'@action'});
+        this.listBooks = $resource(context.urls.ammicoUrl+'/books/');
+        this.book = $resource(context.urls.ammicoUrl+'/books/:idBook/', {idBook:'@idBook'});
+        this.booksSlides = $resource(context.urls.ammicoUrl+'/books/:idBook/slides/', {idBook:'@idBook'});
+        this.listSlides= $resource(context.urls.ammicoUrl+'/slides/');
+        this.slide = $resource(context.urls.ammicoUrl+'/slides/:idSlide/', {idSlide:'@idSlide'});
     });
 
 })();
--- a/client/app/books/book.html	Mon Mar 23 17:07:36 2015 +0100
+++ b/client/app/books/book.html	Mon Mar 23 17:08:16 2015 +0100
@@ -6,8 +6,8 @@
         <img class="img img-responsive image" ng-src="{{ i.details.firstImg }}" />
         <p>{{ i.details.title }}</p>
         <div class="gallery-buttons">
-          <a class="btn btn-default" href="#/slide/edit/{{ $index }}"><span class="glyphicon glyphicon-pencil"></span></a>
-          <a class="btn btn-default" href="#/slide/{{ $index }}"><span class="glyphicon glyphicon-eye-open"></span></a>
+          <a class="btn btn-default" href="#/slide/edit/{{ i.id }}"><span class="glyphicon glyphicon-pencil"></span></a>
+          <a class="btn btn-default" href="#/slide/{{ i.id }}"><span class="glyphicon glyphicon-eye-open"></span></a>
           <a class="btn btn-default" ng-click="deleteItem($index)"><span class="glyphicon glyphicon-trash"></span></a>
         </div>
     </div>
--- a/client/app/books/books_controller.js	Mon Mar 23 17:07:36 2015 +0100
+++ b/client/app/books/books_controller.js	Mon Mar 23 17:08:16 2015 +0100
@@ -3,7 +3,7 @@
 
 	angular.module('ammicoBooks',['ngRoute'])
 	.service('booksModel', function(searchApi) {
-		this.books = searchApi.getResource.query({action:'books', format:'json'}); 
+		this.books = searchApi.listBooks.query({format:'json'}); 
 	})
 	.controller('booksCtrl', function($scope, $location, booksModel){
 		$scope.books = booksModel.books;
@@ -12,7 +12,7 @@
 		};
 	})
 	.controller('bookCtrl', function($scope, searchApi, $routeParams, booksModel) {
-		$scope.slides = searchApi.getResource.query({action:'books/'+$routeParams.idBook+'/slides', format:'json'}, function(data){
+		$scope.slides = searchApi.booksSlides.query({idBook:$routeParams.idBook, format:'json'}, function(data){
 			if (typeof(booksModel.slide) === 'undefined')
 				booksModel.slides = []; 
 			booksModel.slides[$routeParams.idBook] = data;
@@ -21,7 +21,11 @@
 		$scope.deleteItem = function(i){
 			if(0<=i && i<$scope.slides.length){
 				if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){
-					$scope.slides.splice(i, 1);
+					searchApi.slide.delete({idSlide: $scope.slides[i].id}, function(res){
+						if (res.status === '200'){
+							$scope.slides.splice(i, 1);
+						}
+					});
 				}
 			}
 		};