Author: bleny Date: 2011-01-26 14:01:53 +0000 (Wed, 26 Jan 2011) New Revision: 950 Log: fix misc UI and i18n issues Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/IndicatorLevels.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/IndicatorLevels.tml trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties trunk/wao-ui/src/main/webapp/Administration.tml trunk/wao-ui/src/main/webapp/Synthesis.tml Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java 2011-01-26 14:01:53 UTC (rev 950) @@ -118,7 +118,6 @@ } public static String translate(String i18nKey, Object... args) { - // return l_(context.getLocale(), i18nKey, args); - return l_(Locale.FRENCH, i18nKey, args); + return l_(context.getLocale(), i18nKey, args); } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterImpl.java 2011-01-26 14:01:53 UTC (rev 950) @@ -56,6 +56,7 @@ getActualSamplingStrategy() != null || isNoSamplingCompleteness() || isCompleteSampling() || - isIncompleteSampling(); + isIncompleteSampling() || + isSortedByBoardingDate(); } } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java 2011-01-26 14:01:53 UTC (rev 950) @@ -64,7 +64,12 @@ throw new IllegalArgumentException("ordinal " + userRoleOrdinal); } - public String toString() { + // bleny 2011-01-26 calling this method toString make UI unstable. + // In Administration form, when choosing a role, changing the form value lead to + // an Enum.valueOf exception. It seems that Tapestry use toString() + // instead of name() to know witch value is chosen + public String getTranslation() { return WaoUtils.translate(i18nKey); } + } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java 2011-01-26 14:01:53 UTC (rev 950) @@ -1,8 +1,11 @@ package fr.ifremer.wao.entity; +import fr.ifremer.wao.WaoUtils; import fr.ifremer.wao.bean.ObsProgram; import fr.ifremer.wao.bean.UserRole; +import static org.nuiton.i18n.I18n.n_; + public class UserProfileImpl extends UserProfileAbstract { public UserProfileImpl() {} @@ -75,24 +78,28 @@ @Override public String getDescription() { - StringBuilder result = new StringBuilder(); + String role; if (getUserRoleOrdinal() == null) { - result.append("<no user role>"); + role = "<no user role>"; } else { - result.append(getUserRole()); + role = getUserRole().getTranslation(); } - result.append(" sur "); + String program; if (getObsProgramOrdinal() == null) { - result.append("<no program>"); + program = "<no program>"; } else { - result.append(getObsProgram().toString()); + program = getObsProgram().toString(); } + String readOnly = ""; if (getCanWrite() == null) { - result.append("<no write access specified>"); + program = "<no write access specified>"; } else if (isReadOnly()) { - result.append(" (lecture seule)"); + readOnly = WaoUtils.translate(n_("wao.business.readOnly")); } - return result.toString(); + + String result = WaoUtils.translate(n_("wao.business.entity.UserProfile.description"), + role, program, readOnly); + return result; } public String toString() { Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2011-01-26 14:01:53 UTC (rev 950) @@ -51,6 +51,7 @@ import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.entity.WaoUserDAO; import fr.ifremer.wao.entity.WaoUserImpl; +import org.apache.commons.lang.StringUtils; import org.apache.commons.mail.EmailException; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; @@ -172,7 +173,7 @@ "\tUn nouveau mot de passe a été généré pour votre" + " identifiant " + login + " :\n" + "\t\t * mot de passe = " + password + "\n\n" + - "Vous pouvez modifier votre password en accédant à " + + "Vous pouvez modifier votre mot de passe en accédant à " + "la page de gestion de votre profile utilisateur :\n\n" + "\t\thttp://" + WaoProperty.SERVER_PATH.getValue() + "\n\n" + "Cordialement,\n\n" + @@ -234,9 +235,21 @@ user.setPassword(passwordEncoded); } - log.debug("will store " + user.getTopiaId()); + if ( ! isNewUser) { + // In UI, some browser fill the field of the form where user + // can change its password. In this case, it the user doesn't + // blank the field, Following code prevent the sending of + // an email saying that password changed if user has not + // actually fill the field with another password. User + // may have just changed profiles or phone number... +// WaoUserDAO waoUserDAO = WaoDAOHelper.getWaoUserDAO(transaction); +// WaoUser oldUser = waoUserDAO.findByTopiaId(user.getTopiaId()); +// if (StringUtils.equals(user.getPassword(), oldUser.getPassword())) { +// user.setPasswordChanged(false); +// } + } + dao.update(user); - log.debug("had stored " + user.getTopiaId()); transaction.commitTransaction(); Modified: trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-01-26 14:01:53 UTC (rev 950) @@ -99,7 +99,9 @@ fr.ifremer.wao.entity.FishingGearDCF.TMS=Shrimp trawls fr.ifremer.wao.entity.FishingGearDCF.TX=Other trawls (not specified) fr.ifremer.wao.entity.TargetSpeciesDCF.=Not specified +wao.business.entity.UserProfile.description=%s on %s%s wao.business.other=Other +wao.business.readOnly=(read-only) wao.error.boat.canCreateContact= wao.error.boat.getNbBoarding= wao.error.boatInfos.getNbBoardingForCompany= Modified: trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-01-26 14:01:53 UTC (rev 950) @@ -7,7 +7,7 @@ ContactState.BOAT_REFUSED=Refus ContactState.BOAT_UNAVAILABLE=Non abouti ContactState.CONTACT_START=Contact pris -DataReliability.CORRECTION_ASKED= +DataReliability.CORRECTION_ASKED=Correction demand\u00E9e DataReliability.DOUBTFUL=Douteuse DataReliability.NOT_PROVIDED=Non contr\u00F4l\u00E9e DataReliability.NOT_RELIABLE=Non exploitable @@ -111,7 +111,9 @@ fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands p\u00E9lagiques fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00E9lagiques +wao.business.entity.UserProfile.description=%s sur %s%s wao.business.other=Autre +wao.business.readOnly=(lecture seule) wao.error.boat.canCreateContact=Impossible de cr\u00E9er un nouveau contact pour la soci\u00E9t\u00E9 %1$s et le navire %2$s (%3$d) wao.error.boat.getNbBoarding=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s pour la soci\u00E9t\u00E9 %2$s Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/IndicatorLevels.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/IndicatorLevels.java 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/IndicatorLevels.java 2011-01-26 14:01:53 UTC (rev 950) @@ -99,8 +99,4 @@ return indicatorLevel.equals(highlightLevel); } - public String getLabelForEnum(Enum value) { - return messages.get(value.getDeclaringClass().getSimpleName() + "." + value.name()); - } - } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-01-26 14:01:53 UTC (rev 950) @@ -616,7 +616,7 @@ } private OptionModel newUserRoleOption(UserRole role) { - return new OptionModelImpl(role.toString(), role); + return new OptionModelImpl(role.getTranslation(), role); } @Log 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 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-01-26 14:01:53 UTC (rev 950) @@ -171,6 +171,7 @@ contactFilter.setFromDate(initialFromDate.getTime()); contactFilter.setObsProgram(user.getProfile().getObsProgram()); + contactFilter.setEstimatedTides(true); } return contactFilter; } @@ -237,13 +238,13 @@ private UploadedFile contactsCsvFile; /** - * Only administrator and coordinator with no readOnly rights + * Only administrator with no readOnly rights * can import/export contacts. * * @return true if import/export of contacts can be done */ public boolean canImportExport() { - return (user.isAdmin() || user.isCoordinator()) && ! user.isReadOnly(); + return user.isAdmin() && ! user.isReadOnly(); } @Log Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SamplingPlan.java 2011-01-26 14:01:53 UTC (rev 950) @@ -210,6 +210,7 @@ period.setFromDate(initialFromDate.getTime()); filter.setPeriod(period); filter.setObsProgram(user.getProfile().getObsProgram()); + filter.setEstimatedTides(true); } return filter; } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2011-01-26 14:01:53 UTC (rev 950) @@ -85,7 +85,7 @@ * * @author fdesbois <fdesbois at codelutin.com> */ - at RequiresAuthentication(allowedPrograms = {ObsProgram.OBSMER}, allowedRoles = {UserRole.ADMIN, UserRole.COORDINATOR, UserRole.OBSERVER}) + at RequiresAuthentication(allowedRoles = {UserRole.ADMIN, UserRole.COORDINATOR, UserRole.OBSERVER}) @Import(stylesheet = "context:css/synthesis.css") public class Synthesis extends AbstractFilteredPage { @@ -258,6 +258,7 @@ dataSamplingFilter.setCompany(user.getCompany()); } dataSamplingFilter.setObsProgram(user.getProfile().getObsProgram()); + dataSamplingFilter.setEstimatedTides(true); } return dataSamplingFilter; } @@ -540,13 +541,4 @@ return globalLevel == getGlobalSynthesisResult().getGlobalLevel(); } - /*************************************** I18N ****************************/ - - @Inject - private Messages messages; - - public String getLabelForEnum(Enum value) { - return messages.get(value.getDeclaringClass().getSimpleName() + "." + value.name()); - } - } \ No newline at end of file Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/IndicatorLevels.tml =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/IndicatorLevels.tml 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/IndicatorLevels.tml 2011-01-26 14:01:53 UTC (rev 950) @@ -26,7 +26,7 @@ <tbody> <tr> <th /> - <th colspan="${indicator.indicatorLevel.size()}">${message:wao.ui.indicator.indicator} : ${getLabelForEnum(indicator.synthesisId)}</th> + <th colspan="${indicator.indicatorLevel.size()}">${message:wao.ui.indicator.indicator} : ${indicator.synthesisId}</th> <th>${message:wao.ui.indicator.coefficient}</th> </tr> <tr> Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties 2011-01-26 14:01:53 UTC (rev 950) @@ -56,3 +56,4 @@ actualSamplingStrategy-label: Strat\u00e9gie d'\u00e9chantillonnage utilis\u00e9e completeSampling-label: \u00c9chantillonnage complet terrestrialLocation-label: Lieu +mainObserver-label: Observateurs \ No newline at end of file Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties =================================================================== --- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-01-26 14:01:53 UTC (rev 950) @@ -144,7 +144,7 @@ wao.ui.import.fullDescription=Import %s (%s format with UTF-8 characters set) wao.ui.import.longTitle=CSV Import/Export (UTF-8) wao.ui.import.samplingPlanLabel=of the sampling plan -wao.ui.import.title=%s import +wao.ui.import.title=Import %s wao.ui.indicator.andMore=%s and more wao.ui.indicator.bounds=Bounds wao.ui.indicator.coefficient=Coefficient Modified: trunk/wao-ui/src/main/webapp/Administration.tml =================================================================== --- trunk/wao-ui/src/main/webapp/Administration.tml 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/webapp/Administration.tml 2011-01-26 14:01:53 UTC (rev 950) @@ -120,7 +120,7 @@ <label for="userRole">${message:wao.ui.form.roles}</label> <div style="width: 48%; float: left;"> <select t:type="select" t:id="userRole" t:value="role" t:model="userRoleSelectModel" - t:zone="so-admin-userRoleZone"/> + t:zone="so-admin-userRoleZone" /> <br /> <!--label for="readOnly">${message:wao.ui.form.readOnly} :</label--> <span for="readOnly">${message:wao.ui.form.readOnly} :</span> Modified: trunk/wao-ui/src/main/webapp/Synthesis.tml =================================================================== --- trunk/wao-ui/src/main/webapp/Synthesis.tml 2011-01-26 10:46:37 UTC (rev 949) +++ trunk/wao-ui/src/main/webapp/Synthesis.tml 2011-01-26 14:01:53 UTC (rev 950) @@ -266,7 +266,7 @@ <th class="company">${message:wao.ui.entity.Company}</th> </t:if> <th t:type="loop" t:source="contactStates" t:value="contactState"> - ${getLabelForEnum(contactState)} + ${contactState} </th> <th>${message:wao.ui.misc.total}</th> </tr> @@ -396,11 +396,10 @@ <t:loop t:source="globalLevels" t:value="globalLevel"> <t:if test="highlightGlobalLevel()"> <td class="highlight selected"> - ${getLabelForEnum(globalLevel)} + ${globalLevel} </td> <p:else> <td> - ${getLabelForEnum(globalLevel)} ${globalLevel} </td> </p:else>