Author: bleny Date: 2013-04-18 15:15:08 +0200 (Thu, 18 Apr 2013) New Revision: 113 Url: http://forge.codelutin.com/projects/franciaflex-magalie/repository/revisions... Log: allow to remove user affectation Added: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/RemoveUserAffectationAction.java Modified: trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java trunk/magalie-web/src/main/webapp/WEB-INF/content/deliver-requested-article-input.jsp 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-04-18 12:43:33 UTC (rev 112) +++ trunk/magalie-services/src/main/java/com/franciaflex/magalie/services/service/RequestedArticleService.java 2013-04-18 13:15:08 UTC (rev 113) @@ -374,4 +374,26 @@ } + public void removeAffectation(MagalieUser magalieUser) { + + MagaliePersistenceContext persistenceContext = + serviceContext.getPersistenceContext(); + + DeliveredRequestedListDao dao = + persistenceContext.getDeliveredRequestedListDao(); + + DeliveredRequestedList affectedTo = dao.findByAffectedTo(magalieUser); + + if (affectedTo != null && affectedTo.getStatus() == DeliveredRequestedListStatus.AFFECTED) { + + affectedTo.setAffectedTo(null); + + affectedTo.setStatus(DeliveredRequestedListStatus.PENDING); + + } + + persistenceContext.commit(); + + } + } Added: trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/RemoveUserAffectationAction.java =================================================================== --- trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/RemoveUserAffectationAction.java (rev 0) +++ trunk/magalie-web/src/main/java/com/franciaflex/magalie/web/action/RemoveUserAffectationAction.java 2013-04-18 13:15:08 UTC (rev 113) @@ -0,0 +1,38 @@ +package com.franciaflex.magalie.web.action; + +import com.franciaflex.magalie.persistence.entity.MagalieUser; +import com.franciaflex.magalie.services.service.RequestedArticleService; +import com.franciaflex.magalie.web.MagalieActionSupport; +import com.franciaflex.magalie.web.MagalieSession; +import org.apache.struts2.convention.annotation.Result; +import org.apache.struts2.convention.annotation.Results; + +@Results({ + @Result(name="success", type="redirectAction", params = { "actionName", "choose-activity" }) +}) +public class RemoveUserAffectationAction extends MagalieActionSupport { + + protected MagalieSession session; + + protected RequestedArticleService service; + + public void setSession(MagalieSession session) { + this.session = session; + } + + public void setService(RequestedArticleService service) { + this.service = service; + } + + @Override + public String execute() { + + MagalieUser magalieUser = session.getMagalieUser(); + + service.removeAffectation(magalieUser); + + return SUCCESS; + + } + +} Modified: trunk/magalie-web/src/main/webapp/WEB-INF/content/deliver-requested-article-input.jsp =================================================================== --- trunk/magalie-web/src/main/webapp/WEB-INF/content/deliver-requested-article-input.jsp 2013-04-18 12:43:33 UTC (rev 112) +++ trunk/magalie-web/src/main/webapp/WEB-INF/content/deliver-requested-article-input.jsp 2013-04-18 13:15:08 UTC (rev 113) @@ -2,7 +2,7 @@ <%@ taglib prefix="s" uri="/struts-tags" %> <s:url namespace="/" action="deliver-requested-article" id="deliverRequestedArticleUrl"/> -<s:url namespace="/" action="choose-activity" id="chooseActivityUrl"/> +<s:url namespace="/" action="remove-user-affectation" id="removeUserAffectationUrl"/> <s:a href="%{deliverRequestedArticleUrl}" cssClass="btn btn-block">Demander un article à servir</s:a> -<s:a href="%{chooseActivityUrl}" cssClass="btn btn-block">Changer d'activité</s:a> +<s:a href="%{removeUserAffectationUrl}" cssClass="btn btn-block">Changer d'activité</s:a>