Author: tchemit Date: 2012-01-12 13:03:27 +0100 (Thu, 12 Jan 2012) New Revision: 261 Url: http://forge.codelutin.com/repositories/revision/echobase/261 Log: - use I18nAble - (re-)add h2 title in decorator - continue data import Removed: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EditActionEnum.java Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonDataCompleteImport.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectedMissionMode.java trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties trunk/echobase-ui/src/main/webapp/WEB-INF/decorators/layout-default.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticData.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticRegionData.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesData.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesIndividualData.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesReference.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonDataComplete.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonDataFromTransect.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/userList.jsp trunk/echobase-ui/src/main/webapp/css/screen.css Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EchoBaseActionSupport.java 2012-01-12 12:03:27 UTC (rev 261) @@ -23,8 +23,10 @@ */ package fr.ifremer.echobase.ui.actions; +import com.google.common.collect.Maps; import com.opensymphony.xwork2.ActionContext; import fr.ifremer.echobase.EchoBaseConfiguration; +import fr.ifremer.echobase.I18nAble; import fr.ifremer.echobase.InputFile; import fr.ifremer.echobase.services.DecoratorService; import fr.ifremer.echobase.services.EchoBaseService; @@ -246,4 +248,12 @@ } } + + protected <E extends Enum<E> & I18nAble> Map<String, String> decorateEnums(E... enumValues) { + Map<String, String> result = Maps.newLinkedHashMap(); + for (E enumValue : enumValues) { + result.put(enumValue.name(), _(enumValue.getI18nKey())); + } + return result; + } } Deleted: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EditActionEnum.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EditActionEnum.java 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/EditActionEnum.java 2012-01-12 12:03:27 UTC (rev 261) @@ -1,39 +0,0 @@ -/* - * #%L - * EchoBase :: UI - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2011 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package fr.ifremer.echobase.ui.actions; - -/** - * Operations possible for a simple CRUD. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.1 - */ -public enum EditActionEnum { - - CREATE, - EDIT, - DETAIL, - DELETE, - CLONE -} Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonDataCompleteImport.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonDataCompleteImport.java 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureCommonDataCompleteImport.java 2012-01-12 12:03:27 UTC (rev 261) @@ -23,10 +23,10 @@ */ package fr.ifremer.echobase.ui.actions.importData; -import com.google.common.collect.Maps; import fr.ifremer.echobase.entities.references.AreaOfOperation; import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.entities.references.MissionImpl; +import fr.ifremer.echobase.services.CommonDataCompleteImportService; import fr.ifremer.echobase.services.EchoBaseServiceSupport; import fr.ifremer.echobase.services.configurations.CommonDataCompleteImportConfiguration; @@ -55,7 +55,7 @@ /** Selected import mode. */ protected SelectedMissionMode importMode; - /** mission to use. */ + /** mission to create (if asked to create a new mission). */ protected Mission mission; public ConfigureCommonDataCompleteImport() { @@ -76,13 +76,9 @@ newService(EchoBaseServiceSupport.class); missions = loadSortAndDecorate(service, Mission.class); - areaOfOperations = loadSortAndDecorate(service, AreaOfOperation.class); - importModes = Maps.newLinkedHashMap(); - for (SelectedMissionMode mode : SelectedMissionMode.values()) { - importModes.put(mode.name(), _(mode.getI18nKey())); - } + importModes = decorateEnums(SelectedMissionMode.values()); if (importMode == null) { importMode = SelectedMissionMode.USE_EXISTING_MISSION; @@ -99,7 +95,9 @@ if (importMode == SelectedMissionMode.CREATE_NEW_MISSION) { // create voyage in db - ImportDataService service = newService(ImportDataService.class); + CommonDataCompleteImportService service = + newService(CommonDataCompleteImportService.class); + Mission missionToCreate = getMission(); Mission missionSaved = service.createMission(missionToCreate); Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectedMissionMode.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectedMissionMode.java 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/SelectedMissionMode.java 2012-01-12 12:03:27 UTC (rev 261) @@ -23,6 +23,8 @@ */ package fr.ifremer.echobase.ui.actions.importData; +import fr.ifremer.echobase.I18nAble; + import static org.nuiton.i18n.I18n.n_; /** @@ -31,7 +33,7 @@ * @author tchemit <chemit@codelutin.com> * @since 0.2 */ -public enum SelectedMissionMode { +public enum SelectedMissionMode implements I18nAble { CREATE_NEW_MISSION(n_("echobase.common.importMode.createNewMission")), USE_EXISTING_MISSION(n_("echobase.common.importMode.useExistingMission")); @@ -42,6 +44,7 @@ this.i18nKey = i18nKey; } + @Override public String getI18nKey() { return i18nKey; } Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties =================================================================== --- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-01-12 12:03:27 UTC (rev 261) @@ -35,6 +35,7 @@ echobase.common.jdbcUrl=Url de connexion echobase.common.password=Mot de passe echobase.common.user=Utilisateur +echobase.common.voyageDescription=Description echobase.error.bad.password=Mot de passe incorrrect echobase.error.email.already.used=Nom d'utilisateur déjà pris echobase.error.export.description.requiredstring=La description de l'export est obligatoire @@ -106,7 +107,9 @@ echobase.legend.importData.configuration.mission=Configurer la mission echobase.legend.importData.configuration.mission.resume=Résumé de la mission à utiliser echobase.legend.importData.configuration.resume=Résumé de la configuration d'import -echobase.legend.importData.configuration.selectImportType=Type d'import +echobase.legend.importData.configuration.selectImportType=Sélection du type d'import +echobase.legend.importData.configure=Configurer l'import +echobase.legend.importData.configure.commonDataComplete.selectMission=Sélection de la mission echobase.legend.importDb.configuration.files=Choix du fichier d'import de la base complête (fichier zip) echobase.legend.importFileResult=Résultat de l'import %s echobase.legend.sqlQuery.configuration=Configuration de la requête Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/decorators/layout-default.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/decorators/layout-default.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/decorators/layout-default.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -39,6 +39,8 @@ <%-- body --%> +<h2><d:title default="EchoBase"/></h2> + <div id="body"> <s:if test="hasActionMessages()"> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticData.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticData.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticData.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -37,7 +37,7 @@ <fieldset> <legend> - <s:text name="echobase.legend.importData.configure.accousticData"/> + <s:text name="echobase.legend.importData.configure"/> </legend> <s:select name="model.voyageId" value="''" required="true" @@ -49,10 +49,10 @@ list="vessels" headerKey="" headerValue=""/> <s:textfield key="model.field1" size="40" required="true" - label='%{getText("echobase.common.name")}'/> + label='%{getText("echobase.common.field1")}'/> <s:textfield key="model.field2" size="40" required="true" - label='%{getText("echobase.common.name")}'/> + label='%{getText("echobase.common.field2")}'/> <s:file key="moviesFile" required="true" label='%{getText("echobase.common.moviesFile")}'/> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticRegionData.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticRegionData.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureAccousticRegionData.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -37,7 +37,7 @@ <fieldset> <legend> - <s:text name="echobase.legend.importData.configure.accousticRegionData"/> + <s:text name="echobase.legend.importData.configure"/> </legend> <s:select key="model.voyageId" value="''" required="true" Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesData.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesData.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesData.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -37,7 +37,7 @@ <fieldset> <legend> - <s:text name="echobase.legend.importData.configure.catchesData"/> + <s:text name="echobase.legend.importData.configure"/> </legend> <s:select key="model.voyageId" value="''" required="true" Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesIndividualData.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesIndividualData.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesIndividualData.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -38,7 +38,7 @@ <fieldset> <legend> <s:text - name="echobase.legend.importData.configure.catchesIndividualData"/> + name="echobase.legend.importData.configure"/> </legend> <s:select key="model.voyageId" value="''" required="true" Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesReference.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesReference.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCatchesReference.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -37,7 +37,7 @@ <fieldset> <legend> - <s:text name="echobase.legend.importData.configure.catchesReference"/> + <s:text name="echobase.legend.importData.configure"/> </legend> <s:file key="lengthAgeKeyFile" required="true" Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonDataComplete.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonDataComplete.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonDataComplete.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -30,6 +30,13 @@ jQuery(document).ready(function () { + $('[name="importMode"]').change(function (event) { + $('[class="importMode"]').hide(); + $('#' + this.value).show(); + }); + var val = $('[name="importMode"][checked="checked"]').val(); + $('[class="importMode"]').hide(); + $("#" + val).show(); }); </script> @@ -37,13 +44,79 @@ <fieldset> <legend> - <s:text name="echobase.legend.importData.configure.commonDataComplete"/> + <s:text name="echobase.legend.importData.configure"/> </legend> - <s:select key="model.missionId" value="''" required="true" - label='%{getText("echobase.common.mission")}' - list="missions" headerKey="" headerValue=""/> + <fieldset> + <legend> + <s:text name="echobase.legend.importData.configure.commonDataComplete.selectMission"/> + </legend> + <s:radio key='importMode' list="importModes" + label='%{getText("echobase.common.importMode")}' + required="true"/> + + <div id='USE_EXISTING_MISSION' class='importMode'> + <s:select key="model.missionId" value="''" required="true" + label='%{getText("echobase.common.mission")}' + list="missions" headerKey="" headerValue=""/> + </div> + + <div id='CREATE_NEW_MISSION' class='importMode'> + + <s:textfield key="mission.name" size="40" required="true" + label='%{getText("echobase.common.name")}'/> + + <s:textfield key="mission.missionAbstract" size="40" required="true" + label='%{getText("echobase.common.missionAbstract")}'/> + + <s:textfield key="mission.litteratureReferences" size="40" + label='%{getText("echobase.common.litteratureReferences")}'/> + + <s:textfield key="mission.project" + label='%{getText("echobase.common.project")}'/> + + <s:textfield key="mission.platform" + label='%{getText("echobase.common.platform")}'/> + + <s:textfield key="mission.institution" + label='%{getText("echobase.common.institution")}'/> + + <s:textfield key="mission.keywords" + label='%{getText("echobase.common.keywords")}'/> + + <s:textfield key="mission.dataCentre" + label='%{getText("echobase.common.dataCentre")}'/> + + <s:textfield key="mission.dataCentreEmail" + label='%{getText("echobase.common.dataCentreEmail")}'/> + + <s:textfield key="mission.author" + label='%{getText("echobase.common.author")}'/> + + <s:textfield key="mission.authorEmail" + label='%{getText("echobase.common.authorEmail")}'/> + + <s:textfield key="mission.principalInvestigator" + label='%{getText("echobase.common.principalInvestigator")}'/> + + <s:textfield key="mission.principalInvestigatorEmail" + label='%{getText("echobase.common.principalInvestigatorEmail")}'/> + + <s:textfield key="mission.organisationReferences" + label='%{getText("echobase.common.organisationReferences")}'/> + + <s:textfield key="mission.distributionStatement" + label='%{getText("echobase.common.distributionStatement")}'/> + + <s:textfield key="mission.organisationLevelAcknowledgements" + label='%{getText("echobase.common.organisationLevelAcknowledgements")}'/> + + <s:textfield key="mission.source" + label='%{getText("echobase.common.source")}'/> + </div> + </fieldset> + <br/> <s:select key="model.areaOfOperationId" value="''" required="true" label='%{getText("echobase.common.areaOfOperation")}' list="areaOfOperations" headerKey="" headerValue=""/> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonDataFromTransect.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonDataFromTransect.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureCommonDataFromTransect.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -38,7 +38,7 @@ <fieldset> <legend> <s:text - name="echobase.legend.importData.configure.commonDataFromTransect"/> + name="echobase.legend.importData.configure"/> </legend> <s:select key="model.voyageId" value="''" required="true" Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/selectImportType.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -29,82 +29,35 @@ <script type="text/javascript"> function updateMode(newValue) { - switch (newValue) { - case "ALL": - $('[class="inputFile"]').show(); - break; - case "ACOUSTIC": - $('[class="inputFile"]').hide(); - $('#acousticFile').show(); - break; - } + // change the action target + $('#selectImportType_configure').attr('name', + 'action:configure-'+newValue+'!input'); } jQuery(document).ready(function () { - - $('[name="importDataMode"]').change(function(event) { + $('[name="mode"]').change(function(event) { updateMode(this.value); }); - var val = $('[name="importDataMode"][checked="checked"]').val(); + var val = $('[name="mode"][checked="checked"]').val(); updateMode(val); }); </script> -<s:form namespace="/importData" method="POST" enctype="multipart/form-data"> +<s:form namespace="/importData" method="POST"> <fieldset> <legend> <s:text name="echobase.legend.importData.configuration.selectImportType"/> </legend> - <s:radio key='mode' list="modes" + <s:radio key='mode' list="modes" cssClass="cleanBoth" label='%{getText("echobase.common.importDataMode")}' - required="true"/> + required="true" template="myradiomap" /> - <s:label value="%{model.mission.name}" - key='echobase.common.name'/> - - <s:label value="%{model.mission.missionAbstract}" - key='echobase.common.missionAbstract'/> </fieldset> - <hr/> - <fieldset> - <legend> - <s:text name="echobase.legend.importData.configuration.files"/> - </legend> - - <s:hidden key="missionId" label=''/> - - <s:radio key='importDataMode' list="importDataModes" - label='%{getText("echobase.common.importDataMode")}' - required="true"/> - <hr/> - <div class="inputFile" id="acousticFile"> - <s:file id="acoustic" name="acoustic" required="true" - key="echobase.label.import.accoustique"/> - </div> - <div class="inputFile" id="captureFile"> - <s:file name="capture" required="true" - key="echobase.label.import.pecherie"/> - </div> - <div class="inputFile" id="lectureAgeGenFile"> - <s:file name="lectureAgeGen" required="true" - key="echobase.label.import.lectureAgeGen"/> - </div> - <div class="inputFile" id="eventsFile"> - <s:file name="events" required="true" - key="echobase.label.import.events"/> - </div> - <div class="inputFile" id="typeEchoSpeciesFile"> - <s:file name="typeEchoSpecies" required="true" - key="echobase.label.import.typeEchoSpecies"/> - - </div> - </fieldset> <br/> - <s:submit action="configureFiles" - value='%{getText("echobase.action.import")}'/> + <s:submit action="configure" value='%{getText("echobase.action.import")}'/> </s:form> \ No newline at end of file Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/userList.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/userList.jsp 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/user/userList.jsp 2012-01-12 12:03:27 UTC (rev 261) @@ -1,4 +1,3 @@ -<%@ page import="fr.ifremer.echobase.ui.actions.EditActionEnum" %> <%-- #%L EchoBase :: UI Modified: trunk/echobase-ui/src/main/webapp/css/screen.css =================================================================== --- trunk/echobase-ui/src/main/webapp/css/screen.css 2012-01-12 12:02:31 UTC (rev 260) +++ trunk/echobase-ui/src/main/webapp/css/screen.css 2012-01-12 12:03:27 UTC (rev 261) @@ -237,3 +237,13 @@ #footer ul li a:hover { /*color: #ffe600;*/ } + +ul#mode_ul { + margin: 5px; + padding-left: 5px; +} +ul#mode_ul li{ + list-style: none; + padding-left: 25px; + margin-left:0px; +}