diff -r faf2cdb47813 -r f7a844a9079e client/app/books/books_controller.js --- a/client/app/books/books_controller.js Fri May 22 12:37:37 2015 +0200 +++ b/client/app/books/books_controller.js Fri May 22 12:47:16 2015 +0200 @@ -7,7 +7,30 @@ data.sort(function (a, b) { return a.date < b.date; }); + + for (var i = 0; i < data.length; i++) { + if (data[i].idArticle === null){ + data[i].slides = ammicoApi.booksSlides.query({idBook:data[i].id, format:'json'}); + } + } }); + + $scope.toggleModal = function (index) { + + var modalInstance = $modal.open({ + templateUrl: 'books/add_book_modal.html', + controller: 'ModalAddBookCtrl', + size: 'sm' + }); + + modalInstance.result.then(function (idBook) { + var newSlide = { + book: idBook, + idInventory: $scope.results.hits[index].metas_dict.inventorynumber + }; + ammicoApi.listSlides.save(newSlide); + }); + }; $scope.searchSubmit = function(){ $location.path('/search/' + $scope.q); @@ -36,15 +59,43 @@ } }; }) - .controller('bookCtrl', function($scope, ammicoApi, $routeParams) { - $scope.slides = ammicoApi.booksSlides.query({idBook:$routeParams.idBook, format:'json'}, function(data){ - data.sort(function (a, b) { - return a.orderIndex > b.orderIndex; + + .controller('bookCtrl', function($scope, $location, ammicoApi, $routeParams, $modal) { + $scope.parentBook = ammicoApi.book.get({idBook:$routeParams.idBook, format:'json'}, function(data){ + data.slides = ammicoApi.booksSlides.query({idBook: data.id, format:'json'}, function(data){ + data.sort(function (a, b) { + return a.orderIndex > b.orderIndex; + }); }); }); + + $scope.toggleFavorite = function (index) { + + $scope.parentBook.slides[index].favorite = !$scope.parentBook.slides[index].favorite; + $scope.parentBook.slides[index].$save({format:'json'}); + //$scope.slide.$save({idSlide:$scope.slide.id, format:'json'}); + }; + + $scope.toggleModal = function (index) { + + var modalInstance = $modal.open({ + templateUrl: 'books/add_book_modal.html', + controller: 'ModalAddBookCtrl', + size: 'sm' + }); + + modalInstance.result.then(function (idBook) { + var newSlide = { + book: idBook, + idInventory: $scope.results.hits[index].metas_dict.inventorynumber + }; + ammicoApi.listSlides.save(newSlide); + }); + }; + $scope.sortableOptions = { stop: function() { - var order = $scope.slides.map(function(i){ + var order = $scope.parentBook.slides.map(function(i){ return i.id; }); ammicoApi.order.save({idBook:$routeParams.idBook}, {order: order}); @@ -52,17 +103,18 @@ }; $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.')){ - ammicoApi.slide.delete({idSlide: $scope.slides[i].id}, function(){ - $scope.slides.splice(i, 1); - }, - function(error) { - if (error.status === 404){ - $scope.slides.splice(i, 1); - } - }); - } + if(window.confirm('Êtes-vous sûr(e) de vouloir effacer cet élément ? Cette action est irrémédiable.')){ + $scope.parentBook.slides[i].$delete(); + //if(0<=i && i<$scope.slides.length){ +// ammicoApi.slide.delete({idSlide: $scope.slides[i].id}, function(){ +// $scope.slides.splice(i, 1); +// }, +// function(error) { +// if (error.status === 404){ +// $scope.slides.splice(i, 1); +// } +// }); +// } } }; }) @@ -75,6 +127,16 @@ }; $scope.cancel = function () { $modalInstance.dismiss('cancel'); + } + ; + $scope.books = ammicoApi.listBooks.query({format:'json'}); + + $scope.addToBook = function(idBook){ + $modalInstance.close(idBook); + }; + + $scope.cancel = function () { + $modalInstance.dismiss('cancel'); }; }); })();