client/app/books/books_controller.js
changeset 91 f7a844a9079e
parent 74 44ebb0d0b836
child 99 c7c424e9eed5
--- 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');
 		};
 	});
 })();