Author: Bavencoff Date: 2013-05-22 18:04:44 +0200 (Wed, 22 May 2013) New Revision: 182 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: refs #2454 : Cancel mouvement order Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/WithdrawItemAction.java trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp trunk/magalie-web/src/main/webapp/js/withdraw-item-input.js Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-05-22 14:25:58 UTC (rev 181) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/ArticleStorageService.java 2013-05-22 16:04:44 UTC (rev 182) @@ -25,30 +25,14 @@ import com.franciaflex.magalie.persistence.MagaliePersistenceContext; import com.franciaflex.magalie.persistence.StoredArticles; -import com.franciaflex.magalie.persistence.dao.LocationDao; -import com.franciaflex.magalie.persistence.dao.StorageMovementDao; -import com.franciaflex.magalie.persistence.dao.StorageMovementOrderDao; -import com.franciaflex.magalie.persistence.dao.StoredArticleDao; -import com.franciaflex.magalie.persistence.dao.UnavailableArticleDao; -import com.franciaflex.magalie.persistence.entity.Article; -import com.franciaflex.magalie.persistence.entity.Building; -import com.franciaflex.magalie.persistence.entity.Location; -import com.franciaflex.magalie.persistence.entity.MagalieUser; -import com.franciaflex.magalie.persistence.entity.StorageMovement; -import com.franciaflex.magalie.persistence.entity.StorageMovementOrder; -import com.franciaflex.magalie.persistence.entity.StoredArticle; -import com.franciaflex.magalie.persistence.entity.UnavailableArticle; +import com.franciaflex.magalie.persistence.dao.*; +import com.franciaflex.magalie.persistence.entity.*; import com.franciaflex.magalie.services.MagalieService; import com.franciaflex.magalie.services.MagalieServiceContext; import com.franciaflex.magalie.services.StorageMovementConfirmation; import com.franciaflex.magalie.services.StorageMovementTask; import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Ordering; -import com.google.common.collect.Sets; +import com.google.common.collect.*; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -475,4 +459,23 @@ persistenceContext.commit(); } + + public void cancelStorageMovement(String storageMovementOrderId) { + + MagaliePersistenceContext persistenceContext = serviceContext.getPersistenceContext(); + + StorageMovementOrderDao storageMovementOrderDao = + persistenceContext.getStorageMovementOrderDao(); + + StorageMovementOrder storageMovementOrder = storageMovementOrderDao.findById(storageMovementOrderId); + + RequestedArticleService requestedArticleService + = serviceContext.newService(RequestedArticleService.class); + + requestedArticleService.cancelStorageMovement(storageMovementOrder); + + storageMovementOrderDao.remove(storageMovementOrder); + + persistenceContext.commit(); + } } Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java =================================================================== --- trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java 2013-05-22 14:25:58 UTC (rev 181) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java 2013-05-22 16:04:44 UTC (rev 182) @@ -470,4 +470,21 @@ } + public void cancelStorageMovement(StorageMovementOrder storageMovementOrder) { + + MagaliePersistenceContext persistenceContext = + serviceContext.getPersistenceContext(); + + DeliveredRequestedArticleDao deliveredRequestedArticleDao = + persistenceContext.getDeliveredRequestedArticleDao(); + + DeliveredRequestedArticle deliveredRequestedArticle = + deliveredRequestedArticleDao.find(storageMovementOrder); + + if (deliveredRequestedArticle != null) { + deliveredRequestedArticleDao.remove(deliveredRequestedArticle); + } + + } + } Modified: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/WithdrawItemAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/WithdrawItemAction.java 2013-05-22 14:25:58 UTC (rev 181) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/WithdrawItemAction.java 2013-05-22 16:04:44 UTC (rev 182) @@ -91,6 +91,10 @@ } + public String getStorageMovementOrderId() { + return storageMovementOrderId; + } + public StorageMovementTask getStorageMovementTask() { return storageMovementTask; } @@ -129,8 +133,6 @@ articleStorageService.confirmStorageMovement(confirmation, magalieUser); - String resultName = session.getActivity().name(); - DeliveredRequestedList deliveredRequestedList = requestedArticleService.getDeliveredRequestedList(confirmation.getStorageMovementOrderId()); @@ -144,7 +146,19 @@ } + String resultName = session.getActivity().name(); + return resultName; } + + public String cancel(){ + + articleStorageService.cancelStorageMovement(storageMovementOrderId); + + String resultName = session.getActivity().name(); + + return resultName; + + } } Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp =================================================================== --- trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp 2013-05-22 14:25:58 UTC (rev 181) +++ trunk/magalie-web/src/main/webapp/WEB-INF/content/withdraw-item-input.jsp 2013-05-22 16:04:44 UTC (rev 182) @@ -50,6 +50,10 @@ <s:hidden name="confirmation" /> <div class="btn-group"> + <s:url namespace="/" action="withdraw-item!cancel" id="cancelUrl" > + <s:param name="storageMovementOrderId" value="%{storageMovementOrderId}" /> + </s:url> + <s:a href="%{cancelUrl}" cssClass="btn btn-small" id="cancelLink" >Abandonner (Esc)</s:a> <input type="button" id="reportError" value="Anomalie (F5)" class="btn btn-danger btn-small" /> <s:submit name="next" value="Suivant" cssClass="btn btn-primary btn-small" /> </div> Modified: trunk/magalie-web/src/main/webapp/js/withdraw-item-input.js =================================================================== --- trunk/magalie-web/src/main/webapp/js/withdraw-item-input.js 2013-05-22 14:25:58 UTC (rev 181) +++ trunk/magalie-web/src/main/webapp/js/withdraw-item-input.js 2013-05-22 16:04:44 UTC (rev 182) @@ -261,15 +261,21 @@ view.refresh(); } - } + }, + onCancel : function() { + + }, + }; // bindings $(document).ready(function() { $('#withdraw-item').submit(controller.onSubmit); $('#reportError').click(controller.onReportError); + $('#reportCancel').click(controller.onCancel); $('#withdraw-item_next').click(controller.onNext); bindKey('F5', controller.onReportError); + bindKey('Esc', controller.onCancel); view.refresh(); });