[Suiviobsmer-commits] r697 - in trunk/wao-ui/src/main: java/fr/ifremer/wao/ui/pages webapp
Author: bleny Date: 2010-10-19 15:58:34 +0000 (Tue, 19 Oct 2010) New Revision: 697 Log: bugfix ano2540 (from branch) ; data reliability form in contact lists + validation Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java trunk/wao-ui/src/main/webapp/Contacts.tml Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-10-19 13:42:47 UTC (rev 696) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2010-10-19 15:58:34 UTC (rev 697) @@ -30,6 +30,7 @@ import fr.ifremer.wao.bean.ContactFilter; import fr.ifremer.wao.bean.ContactFilterImpl; import fr.ifremer.wao.bean.ContactState; +import fr.ifremer.wao.bean.DataReliability; import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.entity.Boat; @@ -414,6 +415,10 @@ return validation == null; } + public boolean isBoardingDone() { + return contact.getContactState() == ContactState.BOARDING_DONE; + } + /**************************** CONTACT ROW ACTION **************************/ /** @@ -684,29 +689,21 @@ " du jour"); } - if (logger.isDebugEnabled()) { - logger.debug("IsUnfinished : " + contactState.isUnfinishedState()); - logger.debug("OldUnfinished : " + oldState.isUnfinishedState()); - - String newComment = contactEdited.getComment(); - boolean commentDefined = StringUtils.isNotEmpty(newComment); - boolean commentChanged = commentDefined && !newComment.equals(oldComment); - - logger.debug("commentDefined : " + commentDefined); - logger.debug("commentChanged : " + commentChanged); - } - // Non abouti, Refus ou Refus Définitif if (contactState.isUnfinishedState()) { String newComment = contactEdited.getComment(); - boolean commentChanged = - StringUtils.isNotEmpty(newComment) && + boolean commentDefined = StringUtils.isNotEmpty(newComment); + boolean commentChanged = commentDefined && !newComment.equals(oldComment); + // Ano #2540 : NPE on oldState, extract boolean for + // previous unfinishedState case + boolean previousUnfinishedState = commentDefined && + oldState != null && oldState.isUnfinishedState(); + // Ano #2440 : no restriction if previous state is unfinished - if (oldState.isUnfinishedState() && - StringUtils.isNotEmpty(newComment) || commentChanged) { + if (previousUnfinishedState || commentChanged) { // RAZ des champs contactEdited.setTideBeginDate(null); @@ -715,6 +712,7 @@ contactEdited.setMammalsCapture(false); contactEdited.setMammalsObservation(false); contactEdited.setDataInputDate(null); + } else { contactsForm.recordError(comment, "Vous devez ajouter" + " un commentaire pour l'état" + @@ -737,6 +735,19 @@ " avoir aucun observateur pour l'état" + " '" + contactState.libelle() + "'"); } + + if (contactEdited.isValidationProgram()) { + + // it's an admin validation, data-reliability field must be filled + if (logger.isDebugEnabled()) { + logger.debug("field data reliability is " + contactEdited.getDataReliability()); + } + + if (contactEdited.getDataReliability() == null || + contactEdited.getDataReliability() == DataReliability.UNKNOWN) { + contactsForm.recordError("Il faut préciser la qualité des données avant de valider"); + } + } } } } Modified: trunk/wao-ui/src/main/webapp/Contacts.tml =================================================================== --- trunk/wao-ui/src/main/webapp/Contacts.tml 2010-10-19 13:42:47 UTC (rev 696) +++ trunk/wao-ui/src/main/webapp/Contacts.tml 2010-10-19 15:58:34 UTC (rev 697) @@ -290,12 +290,18 @@ </t:if> </p:commentCell> <p:dataReliabilityCell> - <t:if t:test="editionMode"> - <input t:type="select" t:id="dataReliability" t:value="contactEdited.dataReliability" /><!-- validate="required"/> --> - <p:else> - ${contact.dataReliability.label} - </p:else> - </t:if> + <t:if t:test="boardingDone"> + <t:if t:test="contact.validationCompany"> + <t:if t:test="contact.validationProgram"> + ${contact.dataReliability.label} + <p:else> + <t:if t:test="canValidate()"> + <input t:type="select" t:id="dataReliability" t:value="contact.dataReliability" validate="required" /> --> + </t:if> + </p:else> + </t:if> + </t:if> + </t:if> </p:dataReliabilityCell> <p:commentCoordinatorCell> <span t:type="ck/Tooltip" title="Commentaire société" t:value="${getCommentTooltip(contact.commentCoordinator)}" t:effect="appear">
participants (1)
-
bleny@users.labs.libre-entreprise.org