Author: bleny Date: 2014-03-13 17:25:22 +0100 (Thu, 13 Mar 2014) New Revision: 1723 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1723 Log: refs #4483 show sample-row log Added: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/CommentSampleRowAction.java trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowLogAction.java trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sample-row-log.jsp Removed: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateSampleRowCommand.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoServiceSupport.java trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoInterceptor.java trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/news.jsp Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java 2014-03-12 17:47:30 UTC (rev 1722) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java 2014-03-13 16:25:22 UTC (rev 1723) @@ -170,4 +170,9 @@ public boolean isAuthorizedToCreateSampleRow() { return userProfile.isAdmin(); } + + public boolean isAuthorizedToCommentSampleRow() { + return userProfile.isCoordinator(); + } + } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java 2014-03-12 17:47:30 UTC (rev 1722) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java 2014-03-13 16:25:22 UTC (rev 1723) @@ -55,7 +55,7 @@ String sampleRowId = optionalSampleRowId.get(); - SampleRow sampleRow = getSampleRowDao().findByTopiaId(sampleRowId); + SampleRow sampleRow = getSampleRow(sampleRowId); updateSampleRowCommand.setSampleRow(sampleRow); @@ -280,4 +280,27 @@ } + public SampleRow getSampleRow(String sampleRowId) { + + SampleRow sampleRow = getSampleRowDao().findByTopiaId(sampleRowId); + + return sampleRow; + + } + + public void commentSampleRow(AuthenticatedWaoUser authenticatedWaoUser, String sampleRowId, String comment) { + + SampleRow sampleRow = getSampleRow(sampleRowId); + + SampleRowLog sampleRowLog = new SampleRowLogImpl(); + sampleRowLog.setFromAdmin(authenticatedWaoUser.isAdmin()); + sampleRowLog.setComment(comment); + sampleRowLog.setAuthor(authenticatedWaoUser.getWaoUser()); + + sampleRow.addSampleRowLog(sampleRowLog); + + commit(); + + } + } Deleted: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java 2014-03-12 17:47:30 UTC (rev 1722) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java 2014-03-13 16:25:22 UTC (rev 1723) @@ -1,5 +0,0 @@ -package fr.ifremer.wao.services.service; - -public class SamplingPlanService extends WaoServiceSupport { - -} Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateSampleRowCommand.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateSampleRowCommand.java 2014-03-12 17:47:30 UTC (rev 1722) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UpdateSampleRowCommand.java 2014-03-13 16:25:22 UTC (rev 1723) @@ -27,6 +27,8 @@ protected boolean creation; + protected SampleRow sampleRowMemento; + protected SampleRow sampleRow; protected SampleRowLog sampleRowLog; @@ -81,8 +83,6 @@ sampleRow.setCompany(company); } - // TODO brendan 10/03/14 supprimer les sample months si effort = "" - public void setCode(String code) { Preconditions.checkState(isCreation(), "cannot change code for sample row " + sampleRow); sampleRow.setCode(code); @@ -177,4 +177,11 @@ return sampleRow.hasSampleMonthRealTideTime(); } + public SampleRow getSampleRowMemento() { + return sampleRowMemento; + } + + public void setSampleRowMemento(SampleRow sampleRowMemento) { + this.sampleRowMemento = sampleRowMemento; + } } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoServiceSupport.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoServiceSupport.java 2014-03-12 17:47:30 UTC (rev 1722) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoServiceSupport.java 2014-03-13 16:25:22 UTC (rev 1723) @@ -85,10 +85,6 @@ return newService(CompaniesService.class); } - protected SamplingPlanService getSamplingPlanService() { - return newService(SamplingPlanService.class); - } - protected EmailService getEmailService() { return newService(EmailService.class); } Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoInterceptor.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoInterceptor.java 2014-03-12 17:47:30 UTC (rev 1722) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoInterceptor.java 2014-03-13 16:25:22 UTC (rev 1723) @@ -55,6 +55,9 @@ if (waoSession.getAuthenticatedWaoUser() == null) { // login à l'arrache WaoUser admin = serviceContext.getPersistenceContext().getWaoUserDao().forLoginEquals("admin").findUnique(); + admin.sizeUserProfile(); + admin.sizeCanReadBoats(); + admin.getCompany().getTopiaId(); UserProfile userProfile = new UserProfileImpl(); userProfile.setUserRole(UserRole.ADMIN); userProfile.setObsProgram(ObsProgram.OBSMER); Added: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/CommentSampleRowAction.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/CommentSampleRowAction.java (rev 0) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/CommentSampleRowAction.java 2014-03-13 16:25:22 UTC (rev 1723) @@ -0,0 +1,50 @@ +package fr.ifremer.wao.web.action.obsmer; + +import com.google.common.base.Preconditions; +import fr.ifremer.wao.services.service.ObsMerSamplingPlanService; +import fr.ifremer.wao.web.WaoJspActionSupport; +import org.apache.commons.lang3.StringUtils; +import org.apache.struts2.convention.annotation.Result; +import org.apache.struts2.convention.annotation.Results; + +@Results({ + @Result(name="success", type="redirectAction", params = { "actionName", "sampling-plan" }) +}) +public class CommentSampleRowAction extends WaoJspActionSupport { + + protected ObsMerSamplingPlanService service; + + protected String sampleRowId; + + protected String comment; + + public void setService(ObsMerSamplingPlanService service) { + this.service = service; + } + + public void setSampleRowId(String sampleRowId) { + this.sampleRowId = sampleRowId; + } + + public void setComment(String comment) { + this.comment = comment; + } + + @Override + public String execute() { + + Preconditions.checkState(getAuthenticatedWaoUser().isAuthorizedToCommentSampleRow()); + + if (StringUtils.isNotBlank(comment)) { + + service.commentSampleRow(getAuthenticatedWaoUser(), sampleRowId, comment); + + session.addMessage(t("wao.ui.form.addComment.success")); + + } + + return SUCCESS; + + } + +} Added: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowLogAction.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowLogAction.java (rev 0) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/SampleRowLogAction.java 2014-03-13 16:25:22 UTC (rev 1723) @@ -0,0 +1,39 @@ +package fr.ifremer.wao.web.action.obsmer; + +import fr.ifremer.wao.entity.SampleRow; +import fr.ifremer.wao.services.service.ObsMerSamplingPlanService; +import fr.ifremer.wao.web.WaoJspActionSupport; + +public class SampleRowLogAction extends WaoJspActionSupport { + + protected ObsMerSamplingPlanService service; + + protected String sampleRowId; + + protected SampleRow sampleRow; + + public void setService(ObsMerSamplingPlanService service) { + this.service = service; + } + + public void setSampleRowId(String sampleRowId) { + this.sampleRowId = sampleRowId; + } + + @Override + public String execute() { + + sampleRow = service.getSampleRow(sampleRowId); + + return SUCCESS; + } + + public SampleRow getSampleRow() { + return sampleRow; + } + + public String getSampleRowId() { + return sampleRowId; + } + +} Modified: trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties =================================================================== --- trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-03-12 17:47:30 UTC (rev 1722) +++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-03-13 16:25:22 UTC (rev 1723) @@ -48,6 +48,7 @@ wao.ui.action.enlargeView=Enlarge view wao.ui.action.exportBoats=Export boats with private infos wao.ui.action.filter=Filter +wao.ui.action.goBackToSamplingPlan=Back to sampling plan wao.ui.action.hideFilters=Hide filters wao.ui.action.login=Connection wao.ui.action.logout=Logout @@ -219,6 +220,7 @@ wao.ui.form.WaoUser.preferences=Preferences wao.ui.form.WaoUser.rights=Rights wao.ui.form.addComment=Add a comment +wao.ui.form.addComment.success=Comment saved wao.ui.form.addRole=Add this ru00F4le wao.ui.form.boardingFrom=Boardings since wao.ui.form.contactsFile=Contacts file Modified: trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties =================================================================== --- trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-03-12 17:47:30 UTC (rev 1722) +++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-03-13 16:25:22 UTC (rev 1723) @@ -48,6 +48,7 @@ wao.ui.action.enlargeView=Agrandir la vue wao.ui.action.exportBoats=Exporter les $s navires avec leurs informations privées wao.ui.action.filter=Filtrer +wao.ui.action.goBackToSamplingPlan=Retourner au plan d'échantillonnage wao.ui.action.hideFilters=Masquer les filtres wao.ui.action.login=Connexion wao.ui.action.logout=Déconnexion @@ -219,6 +220,7 @@ wao.ui.form.WaoUser.preferences=Préférences wao.ui.form.WaoUser.rights=Droits wao.ui.form.addComment=Ajouter un commentaire +wao.ui.form.addComment.success=Commentaire enregistré wao.ui.form.addRole=Ajouter ce rôle wao.ui.form.boardingFrom=Sollicitations du navire depuis le wao.ui.form.contactsFile=Fichier des contacts Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/news.jsp =================================================================== --- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/news.jsp 2014-03-12 17:47:30 UTC (rev 1722) +++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/news.jsp 2014-03-13 16:25:22 UTC (rev 1723) @@ -17,9 +17,9 @@ <s:iterator value="recentNews" var="aRecentNews"> <div class="news"> - <h1> + <h2> <s:property value="title" /> - </h1> + </h2> <s:property value="content" escapeHtml="false" /> @@ -31,7 +31,6 @@ <s:text name="wao.ui.publishedByYourCompany" /> </s:else> <s:text name="wao.ui.misc.onDate" /> - <s:property value="text('wao.ui.misc.onDate')" /> <s:property value="topiaCreateDate" /> <s:if test="authenticatedWaoUser.isAuthorizedToEditOrDeleteNews(#aRecentNews)"> Added: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sample-row-log.jsp =================================================================== --- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sample-row-log.jsp (rev 0) +++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sample-row-log.jsp 2014-03-13 16:25:22 UTC (rev 1723) @@ -0,0 +1,78 @@ +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@taglib uri="/struts-tags" prefix="s" %> + +<html> + + <head> + <title> + <s:property value="%{t('wao.ui.sampleRowLog.title', sampleRow.code)}" /> + </title> + </head> + + <h1> + <s:property value="%{t('wao.ui.sampleRowLog.title', sampleRow.code)}" /> + </h1> + + <s:iterator value="sampleRow.sampleRowLog" var="sampleRowLogEntry"> + + <article> + <h2> + <s:if test="fromAdmin"> + <s:text name="wao.ui.misc.changeOn" /> + </s:if> + <s:else> + <s:text name="wao.ui.misc.commentAddedOn" /> + </s:else> + <s:property value="topiaCreateDate" /> + <s:text name="wao.ui.misc.by" /> + <s:property value="author.fullName" /> + </h2> + + <s:property value="logText" /> + + <s:property value="comment" /> + + </article> + + </s:iterator> + + <s:if test="authenticatedWaoUser.authorizedToCommentSampleRow"> + + <s:form action="comment-sample-row"> + + <fieldset> + <legend><s:text name="wao.ui.form.addComment" /></legend> + + <s:hidden name="sampleRowId" value="%{sampleRowId}" /> + + <s:textarea name="comment" label="%{getText('wao.ui.misc.comment')}" /> + + <div class="form-actions"> + <s:url namespace="/obsmer" action="sampling-plan" id="samplingPlanUrl" /> + <s:a href="%{samplingPlanUrl}" cssClass="btn"> + <i class="icon-chevron-left"></i> <s:text name="wao.ui.action.goBackToSamplingPlan" /> + </s:a> + + <s:submit type="button" cssClass="btn"> + <i class="icon-hdd"></i> <s:text name="wao.ui.action.save" /> + </s:submit> + </div> + + </fieldset> + + </s:form> + + </s:if> + + <s:else> + + <div class="form-actions"> + <s:url namespace="/obsmer" action="sampling-plan" id="samplingPlanUrl" /> + <s:a href="%{samplingPlanUrl}" cssClass="btn"> + <i class="icon-chevron-left"></i> <s:text name="wao.ui.action.goBackToSamplingPlan" /> + </s:a> + </div> + + </s:else> + +</html>