r675 - in trunk: echobase-services/src/main/java/fr/ifremer/echobase/services/removedata echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData echobase-ui/src/main/resources/config echobase-ui/src/main/resources/i18n echobase-ui/src/main/webapp/WEB-INF echobase-ui/src/main/webapp/WEB-INF/jsp/removeData src/doc/reunions
Author: tchemit Date: 2012-09-20 18:03:59 +0200 (Thu, 20 Sep 2012) New Revision: 675 Url: http://forge.codelutin.com/repositories/revision/echobase/675 Log: refs #1437: Suppression des imports (suppression de plusieurs imports ?\195?\160 la fois) Added: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ImportLogs.java trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/importLogs.jsp trunk/src/doc/reunions/reunion-2012-09-20.txt Removed: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/dashboard.jsp Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java trunk/echobase-ui/src/main/resources/config/struts-removeData.xml trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties trunk/echobase-ui/src/main/webapp/WEB-INF/decorators.xml trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/confirmDelete.jsp Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataConfiguration.java 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataConfiguration.java 2012-09-20 16:03:59 UTC (rev 675) @@ -25,6 +25,8 @@ import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration; +import java.util.List; + /** * Configuration for a remve data action. * @@ -35,13 +37,13 @@ private static final long serialVersionUID = 1L; - private String importLogId; + private String[] importLogIds; - public String getImportLogId() { - return importLogId; + public String[] getImportLogIds() { + return importLogIds; } - public void setImportLogId(String importLogId) { - this.importLogId = importLogId; + public void setImportLogIds(String[] importLogIds) { + this.importLogIds = importLogIds; } } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/removedata/RemoveDataService.java 2012-09-20 16:03:59 UTC (rev 675) @@ -94,12 +94,30 @@ public String removeImport(RemoveDataConfiguration model, EchoBaseUser user) { - String importLogId = model.getImportLogId(); + // compute nb steps + int nbSteps = 0; + for (String id : model.getImportLogIds()) { + ImportLog importLog = getEntityById(ImportLog.class, id); + nbSteps += importLog.getImportId().size() + 3; + } + model.setNbSteps(nbSteps); + StringBuilder result = new StringBuilder(); + for (String id : model.getImportLogIds()) { + String importResult = removeImport(model, id, user); + result.append(importResult).append('\n'); + } + return result.toString().trim(); + } + public String removeImport(RemoveDataConfiguration model, + String importLogId, EchoBaseUser user) { + ImportLog importLog = getEntityById(ImportLog.class, importLogId); - int nbSteps = importLog.getImportId().size() + 3; - model.setNbSteps(nbSteps); + if (importLog == null) { + // import was already removed (from a previously remove I guess) + return "\n"; + } ImportType importType = importLog.getImportType(); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java 2012-09-20 16:03:59 UTC (rev 675) @@ -273,7 +273,7 @@ protected void removeImport(String importId) { RemoveDataConfiguration conf = new RemoveDataConfiguration(); - conf.setImportLogId(importId); + conf.setImportLogIds(new String[]{importId}); RemoveDataService service = getService(RemoveDataService.class); Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java 2012-09-20 16:03:59 UTC (rev 675) @@ -31,10 +31,14 @@ import fr.ifremer.echobase.services.DecoratorService; import fr.ifremer.echobase.services.EchoBaseServiceSupport; import fr.ifremer.echobase.ui.actions.AbstractJSONPaginedAction; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.persistence.pager.FilterRule; +import org.nuiton.topia.persistence.pager.FilterRuleOperator; import org.nuiton.util.decorator.Decorator; +import java.util.Arrays; import java.util.Map; /** @@ -56,6 +60,12 @@ /** Datas of the given table. */ protected Map<?, ?>[] datas; + protected String voyageId; + + public void setVoyageId(String voyageId) { + this.voyageId = voyageId; + } + public void setEntityType(EchoBaseEntityEnum entityType) { this.entityType = entityType; } @@ -106,6 +116,13 @@ EchoBaseServiceSupport service = getService(EchoBaseServiceSupport.class); + if (StringUtils.isNotBlank(voyageId)) { + + // add a filter on voyageId + pager.setRules(Arrays.asList(new FilterRule( + FilterRuleOperator.eq, ImportLog.PROPERTY_VOYAGE_ID, voyageId + ))); + } for (Map row : datas) { String importType = (String) row.get(ImportLog.PROPERTY_IMPORT_TYPE); Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java 2012-09-20 16:03:59 UTC (rev 675) @@ -23,18 +23,22 @@ * #L% */ -import com.google.common.base.Preconditions; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import fr.ifremer.echobase.entities.ImportLog; +import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.services.DecoratorService; import fr.ifremer.echobase.services.EchoBaseServiceSupport; import fr.ifremer.echobase.services.removedata.RemoveDataConfiguration; import fr.ifremer.echobase.ui.actions.AbstractConfigureAction; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.util.decorator.Decorator; import java.io.IOException; +import java.util.List; +import java.util.Map; /** * Confirm to delete a import log. @@ -49,28 +53,18 @@ /** Logger. */ private static final Log log = LogFactory.getLog(ConfirmDelete.class); - protected ImportLog importLog; + protected Map<String, String> importTypes; - protected String voyage; + protected List<String> importLogs; - protected String importType; - public ConfirmDelete() { super(RemoveDataConfiguration.class); } - public String getImportType() { - return importType; + public List<String> getImportLogs() { + return importLogs; } - public ImportLog getImportLog() { - return importLog; - } - - public String getVoyage() { - return voyage; - } - @Override protected RemoveDataConfiguration createModel() { return new RemoveDataConfiguration(); @@ -85,22 +79,30 @@ @Override protected void prepareInputAction(RemoveDataConfiguration model) { - String importLogId = model.getImportLogId(); + importTypes = decorateEnums(ImportType.values()); - Preconditions.checkArgument(StringUtils.isNotBlank(importLogId)); + importLogs = Lists.newArrayList(); - if (log.isInfoEnabled()) { - log.info("Load import log " + importLogId); - } EchoBaseServiceSupport service = getService(EchoBaseServiceSupport.class); - importLog = service.getEntityById(ImportLog.class, importLogId); - importType = decorateEnums(importLog.getImportType()).entrySet().iterator().next().getValue(); + Decorator<Voyage> decorator = getService(DecoratorService.class).getDecorator(getLocale(), Voyage.class, null); - Voyage voyageEntity = service.getEntityById(Voyage.class, importLog.getVoyageId()); - this.voyage = getService(DecoratorService.class).decorate(getLocale(), voyageEntity, null); + for (String id : model.getImportLogIds()) { + if (log.isInfoEnabled()) { + log.info("Load import log " + id); + } + ImportLog importLog = service.getEntityById(ImportLog.class, id); + Voyage voyageEntity = service.getEntityById(Voyage.class, importLog.getVoyageId()); + String voyage = decorator.toString(voyageEntity); + String importType = importTypes.get(importLog.getImportType().name()); + String result = _("echobase.common.importLogToDelete", + voyage, + importType, + importLog.getImportDate()); + importLogs.add(result); + } + } - } \ No newline at end of file Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/Delete.java 2012-09-20 16:03:59 UTC (rev 675) @@ -75,12 +75,9 @@ protected void startAction(RemoveDataService service, RemoveDataConfiguration model) throws Exception { - if (log.isInfoEnabled()) { - log.info("Will remove importLog : " + model.getImportLogId()); - } - - model.setResultMessage( - service.removeImport(model, getEchoBaseSession().getUser())); + String resultMessage = service.removeImport( + model, getEchoBaseSession().getUser()); + model.setResultMessage(resultMessage); } @Override Added: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ImportLogs.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ImportLogs.java (rev 0) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ImportLogs.java 2012-09-20 16:03:59 UTC (rev 675) @@ -0,0 +1,41 @@ +package fr.ifremer.echobase.ui.actions.removeData; + +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; + +import java.util.Map; + +/** + * To display imports logs page. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.3 + */ +public class ImportLogs extends EchoBaseActionSupport { + + private static final long serialVersionUID = 1L; + + protected Map<String, String> voyages; + + protected String voyageId; + + public Map<String, String> getVoyages() { + return voyages; + } + + public String getVoyageId() { + return voyageId; + } + + public void setVoyageId(String voyageId) { + this.voyageId = voyageId; + } + + @Override + public String execute() throws Exception { + + voyages = loadSortAndDecorate(Voyage.class); + + return SUCCESS; + } +} Property changes on: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ImportLogs.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Modified: trunk/echobase-ui/src/main/resources/config/struts-removeData.xml =================================================================== --- trunk/echobase-ui/src/main/resources/config/struts-removeData.xml 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-ui/src/main/resources/config/struts-removeData.xml 2012-09-20 16:03:59 UTC (rev 675) @@ -57,9 +57,9 @@ </action> <!-- Get importLogs --> - <action name="importLogs" - class="fr.ifremer.echobase.ui.actions.EchoBaseActionSupport"> - <result>/WEB-INF/jsp/removeData/dashboard.jsp</result> + <action name="importLogs" method="execute" + class="fr.ifremer.echobase.ui.actions.removeData.ImportLogs"> + <result>/WEB-INF/jsp/removeData/importLogs.jsp</result> </action> <!-- Get import logs entries --> Modified: trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties =================================================================== --- trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties 2012-09-20 16:03:59 UTC (rev 675) @@ -79,6 +79,7 @@ echobase.common.importDbFile= echobase.common.importDbMode=Import db mode echobase.common.importError=Error\: +echobase.common.importLogToDelete=Voyage %s - Import type %s - Date %s echobase.common.importNotes=Import notes echobase.common.importResult=Import results echobase.common.importText=import description @@ -304,6 +305,7 @@ echobase.legend.importDb.resume=Results of database import echobase.legend.libreOfficeQuery=Translate a SQL query from Libre Office echobase.legend.removeData.resume=Results of Import removal +echobase.legend.select.voyage=Voyage filter echobase.legend.sqlQuery.configuration=Query definition echobase.legend.sqlQuery.result=Query results echobase.legend.workingDbConfiguration.create=Create a working database configuration @@ -325,11 +327,14 @@ echobase.message.importData.result=Data import successful in %s \:\n%s echobase.message.no.row.selected=No data selected echobase.message.noEntrySelection=No field selected +echobase.action.delete.selectedImport=Delete selected imports echobase.message.removeData.result=Data import removalwas successful in %s\:\n%s echobase.message.warnEmbeddedApplicationInProgress=Please do not close the window to access the new portable database file echobase.message.warnExportInProgress=Please do not close the window to access the export file echobase.message.warnImportInProgress=Please do not close the window to access the imported file echobase.message.warnRemoveDataInProgress=Please do not close the window to access remove data result +echobase.title.confirm.deleteImportLogs=Delete data +echobase.confirm.delete.selected.importData=Delete selected imports echobase.title.confirm.deleteQuery=Delete a query echobase.title.confirm.deleteWorkingDbConfiguration=Delete a configuration echobase.title.connectToDbInformations=Database connection information @@ -364,3 +369,4 @@ echobase.tooltip.disconnectWorkingDb=Change working database echobase.tooltip.logout=Logout echobase.tooltip.selectWorkingDb=Select a working database +echobase.warning.no.importLog.selected=No selected import 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-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties 2012-09-20 16:03:59 UTC (rev 675) @@ -79,6 +79,7 @@ echobase.common.importDbFile= echobase.common.importDbMode=Mode d'import echobase.common.importError=Une erreur est survenue pendant l'import \: +echobase.common.importLogToDelete=Campagne %s - Type d'import %s - Date %s echobase.common.importNotes=Remarques sur l'import echobase.common.importResult=Résultat de l'import echobase.common.importText=Description @@ -304,6 +305,7 @@ echobase.legend.importDb.resume=Résumé de l'import de base de données echobase.legend.libreOfficeQuery=Traduire une requête SQL issue de Libre Office echobase.legend.removeData.resume=Résumé de la suppression d'un import +echobase.legend.select.voyage=Filtre Campagne echobase.legend.sqlQuery.configuration=Définition de la requête echobase.legend.sqlQuery.result=Résultats de la requête echobase.legend.workingDbConfiguration.create=Création d'une configuration de base de travail @@ -330,6 +332,9 @@ echobase.message.warnExportInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de l'export echobase.message.warnImportInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de l'import echobase.message.warnRemoveDataInProgress=Merci de ne pas fermer la fenètre pour pouvoir accéder aux résultats de la suppression de l'import +echobase.title.confirm.deleteImportLogs=Supprimer des données +echobase.action.delete.selectedImport=Supprimer les imports sélectionnés +echobase.confirm.delete.selected.importData=Confirmer la suppression des imports sélectionnés echobase.title.confirm.deleteQuery=Supprimer une requête echobase.title.confirm.deleteWorkingDbConfiguration=Supprimer la configuration echobase.title.connectToDbInformations=Informations de connexion à la base de données @@ -364,3 +369,4 @@ echobase.tooltip.disconnectWorkingDb=Changer de base de travail echobase.tooltip.logout=Se déconnecter echobase.tooltip.selectWorkingDb=Sélectionner une base de travail +echobase.warning.no.importLog.selected=Aucun import sélectionné Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/decorators.xml =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/decorators.xml 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/decorators.xml 2012-09-20 16:03:59 UTC (rev 675) @@ -36,7 +36,7 @@ <pattern>/exportQuery/confirmDelete*</pattern> <pattern>/importData/get*</pattern> <pattern>/workingDb/confirmDelete*</pattern> - <pattern>/removeData/confirmDelete*</pattern> + <!--<pattern>/removeData/confirmDelete*</pattern>--> </excludes> <decorator name="layout-default" page="layout-default.jsp"> Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/confirmDelete.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/confirmDelete.jsp 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/confirmDelete.jsp 2012-09-20 16:03:59 UTC (rev 675) @@ -23,63 +23,35 @@ <%@page contentType="text/html" pageEncoding="UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> -<script type="text/javascript"> +<title><s:text name="echobase.title.confirm.deleteImportLogs"/></title> -function cancel() { -$('#confirmDeleteDialog').dialog('close'); -return false; -} -</script> +<br/> -<div class="dialogContainer ui-corner-all"> +<fieldset> + <legend> + <s:text name="echobase.confirm.delete.selected.importData"/> + </legend> - <s:label key="echobase.confirm.delete.importData" theme="simple"/> + <ul class=""> + <s:iterator value="importLogs"> + <li> + <s:property/> + </li> + </s:iterator> + </ul> - <fieldset class="ui-corner-all"> + <s:form namespace="/removeData"> - <s:label key='echobase.common.importType' value=''/> - <div class="clearBoth"/> - <pre id='importLogImportType' style="font-weight: bold;"> - <s:property value="%{importType}"/> - </pre> - - <s:label key='echobase.common.voyage' value=''/> - <div class="clearBoth"/> - <pre id='importVoyage' style="font-weight: bold;"> - <s:property value="%{voyage}"/> - </pre> - - <s:label key='echobase.common.importDate' value=''/> - <div class="clearBoth"/> - <pre id='importLogDate' style="font-weight: bold;"> - <s:property value="%{importLog.importDate}"/> - </pre> - - <s:label key='echobase.common.importText' value=''/> - <div class="clearBoth"/> - <pre id='importLogText' style="font-weight: bold;"> - <s:property value="%{importLog.importText}"/> - </pre> - - <s:label key='echobase.common.importUser' value=''/> - <div class="clearBoth"/> - <pre id='importLogUser' style="font-weight: bold;"> - <s:property value="%{importLog.importUser}"/> - </pre> - - <s:form namespace="/removeData"> - - <s:hidden key="model.importLogId" label=''/> - <ul class="toolbar floatRight"> - <li> - <s:submit onclick="return cancel();" theme="simple" - key="echobase.action.cancel"/> - </li> - <li> - <s:submit action="confirmDelete" theme="simple" - key="echobase.action.delete"/> - </li> - </ul> - </s:form> - </fieldset> -</div> \ No newline at end of file + <br/> + <ul class="toolbar floatRight"> + <li> + <s:submit action="importLogs" theme="simple" + key="echobase.action.cancel"/> + </li> + <li> + <s:submit action="confirmDelete" theme="simple" + key="echobase.action.delete"/> + </li> + </ul> + </s:form> +</fieldset> Deleted: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/dashboard.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/dashboard.jsp 2012-09-20 10:19:24 UTC (rev 674) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/dashboard.jsp 2012-09-20 16:03:59 UTC (rev 675) @@ -1,135 +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% ---%> -<%@page contentType="text/html" pageEncoding="UTF-8" %> -<%@ taglib prefix="s" uri="/struts-tags" %> -<%@ taglib prefix="sj" uri="/struts-jquery-tags" %> -<%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags" %> -<script type="text/javascript" - src="<s:url value='/js/gridHelper.js' />"></script> -<s:set var="emptySelection"> - <s:text name="echobase.message.noEntrySelection"/> -</s:set> - -<s:url id='deleteImg' value='/images/delete.png'/> -<s:set id='deleteTitle'><s:text name="echobase.action.importLogDelete"/></s:set> -<s:url id='delUrl' action="confirmDelete" namespace="/removeData" method="input" - escapeAmp="false"/> -<script type="text/javascript"> - - function confirmDelete(id) { - var dialog = $("#confirmDeleteDialog"); - dialog.html(''); - var url = "${delUrl}"; - url += '?' + $.param({'model.importLogId':id}); - dialog.load(url); - dialog.dialog('open'); - return false; - } - - jQuery(document).ready(function () { - $.addRowSelectTopic('datas', function (event) { - $('#extraInfos').show(); - var text = $("tr[aria-selected=true] td[aria-describedby='datas_importText']").text(); - $('#importLogText').html(text); - var voyage = $("tr[aria-selected=true] td[aria-describedby='datas_voyage']").text(); - $('#importLogVoyage').html(voyage); - var user = $("tr[aria-selected=true] td[aria-describedby='datas_importUser']").text(); - $('#importLogUser').html(user); - var date = $("tr[aria-selected=true] td[aria-describedby='datas_importDate']").text(); - $('#importLogDate').html(date); - var importType = $("tr[aria-selected=true] td[aria-describedby='datas_importType']").text(); - $('#importLogImportType').html(importType); - - }); - $.addClearSelectTopic('datas', function (event) { - $('#extraInfos').hide(); - }); - $.addSingleRowTopic2('datas', 'Delete', function (event, id) { - return confirmDelete(id); - }); - $.addEvenAndOddClasses('datas'); - }); -</script> - -<title><s:text name="echobase.title.importLogs"/></title> -<s:url id="loadUrl" action="getImportLogs" namespace="/removeData" - escapeAmp="false"/> - -<sjg:grid id="datas" dataType="json" href="%{loadUrl}" gridModel="datas" - pager="true" pagerButtons="true" pagerInput="true" navigator="true" - autowidth="true" rownumbers="false" viewrecords="true" - navigatorEdit="false" navigatorSearch="false" - navigatorDelete="false" navigatorAdd="false" - rowList="10,15,20,50,100,250,500" rowNum="10" - onSelectRowTopics='datas-rowSelect' - onCompleteTopics="datas-clearSelect,datas-CompleteTopics" - navigatorExtraButtons="{ - delete: { title : 'Supprimer', icon: 'ui-icon-trash', topic: 'datas-rowDelete' } - }" - > - - <sjg:gridColumn name="id" title="id" hidden="true"/> - <sjg:gridColumn name="importType" sortable="true" - title="%{getText('echobase.common.importType')}"/> - <sjg:gridColumn name="voyage" sortable="true" - title="%{getText('echobase.common.voyage')}"/> - <sjg:gridColumn name="importDate" sortable="true" - title="%{getText('echobase.common.importDate')}"/> - <sjg:gridColumn name="importText" sortable="true" - title="%{getText('echobase.common.importText')}"/> - <sjg:gridColumn name="importUser" sortable="true" - title="%{getText('echobase.common.importUser')}"/> -</sjg:grid> -<br/> -<fieldset> - <legend><s:text name="echobase.title.importLog.detail"/></legend> - <div id="extraInfos"> - - <s:label key='echobase.common.importType' value=''/> - <div class="clearBoth"/> - <pre id='importLogImportType' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.voyage' value=''/> - <div class="clearBoth"/> - <pre id='importLogVoyage' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.importDate' value=''/> - <div class="clearBoth"/> - <pre id='importLogDate' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.importText' value=''/> - <div class="clearBoth"/> - <pre id='importLogText' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.importUser' value=''/> - <div class="clearBoth"/> - <pre id='importLogUser' style="font-weight: bold;"></pre> - </div> -</fieldset> - -<sj:dialog id="confirmDeleteDialog" autoOpen="false" modal="true" width="780" - title='%{getText("echobase.title.delete.importLog")}'/> \ No newline at end of file Copied: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/importLogs.jsp (from rev 674, trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/dashboard.jsp) =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/importLogs.jsp (rev 0) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/importLogs.jsp 2012-09-20 16:03:59 UTC (rev 675) @@ -0,0 +1,161 @@ +<%-- +#%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% +--%> +<%@page contentType="text/html" pageEncoding="UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> +<%@ taglib prefix="sj" uri="/struts-jquery-tags" %> +<%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags" %> +<script type="text/javascript" + src="<s:url value='/js/gridHelper.js' />"></script> + +<s:set var="emptySelection"> + <s:text name="echobase.message.noEntrySelection"/> +</s:set> + +<script type="text/javascript"> + + function reloadPage(params) { + var url = "<s:url action='importLogs' namespace='/removeData'/>?"; + window.location = url + $.param(params); + return false; + } + + jQuery(document).ready(function () { + + $('[name="voyageId"]').change(function (event) { + reloadPage({'voyageId':this.value}); + }); + + $.addRowSelectTopic('importLogs', function () { + + $('#extraInfos').show(); + var text = $("tr[aria-selected=true] td[aria-describedby='importLogs_importText']").text(); + $('#importLogText').html(text); + var voyage = $("tr[aria-selected=true] td[aria-describedby='importLogs_voyage']").text(); + $('#importLogVoyage').html(voyage); + var user = $("tr[aria-selected=true] td[aria-describedby='importLogs_importUser']").text(); + $('#importLogUser').html(user); + var date = $("tr[aria-selected=true] td[aria-describedby='importLogs_importDate']").text(); + $('#importLogDate').html(date); + var importType = $("tr[aria-selected=true] td[aria-describedby='importLogs_importType']").text(); + $('#importLogImportType').html(importType); + + }); + + $.addClearSelectTopic('importLogs', function (event) { + + $(':checkbox[name^="jqg"]').each(function () { + var elem = $(this); + var prefixLength = "jqg_importLogs_".length; + var newId = this.id.substring(prefixLength); + elem.attr("name", "model.importLogIds"); + elem.attr("value", newId); + }); + $('#extraInfos').hide(); + }); + $.addEvenAndOddClasses('importLogs'); + }); + + function checkOneRowSelected() { + var checked = $(':checked[name="model.importLogIds"]'); + var result = !!checked.length; + if (!result) { + alert('<s:text name="echobase.warning.no.importLog.selected"/>'); + } + return result; + } + +</script> + +<title><s:text name="echobase.title.importLogs"/></title> + +<fieldset> + <legend><s:text name="echobase.legend.select.voyage"/></legend> + <s:select key="voyageId" cssStyle="font-size: 140%" + label="%{getText('echobase.common.voyage')}" + list="voyages" headerKey="" headerValue="" theme="simple"/> +</fieldset> +<s:form method="post" namespace="/removeData" action="confirmDelete"> + + <s:url id="loadUrl" action="getImportLogs" namespace="/removeData" + escapeAmp="false"> + <s:param name="voyageId" value="%{voyageId}"/> + </s:url> + <sjg:grid id="importLogs" dataType="json" href="%{loadUrl}" gridModel="datas" + pager="true" pagerButtons="true" pagerInput="true" navigator="true" + autowidth="true" rownumbers="false" viewrecords="true" + navigatorEdit="false" navigatorSearch="false" + navigatorDelete="false" + navigatorAdd="false" rowList="10,15,20,50,100,250,500" rowNum="10" + multiselect="true" + onSelectRowTopics='importLogs-rowSelect' + onCompleteTopics="importLogs-clearSelect,importLogs-CompleteTopics"> + + <sjg:gridColumn name="id" title="id" hidden="true"/> + <sjg:gridColumn name="importType" sortable="true" + title="%{getText('echobase.common.importType')}"/> + <sjg:gridColumn name="voyage" sortable="true" + title="%{getText('echobase.common.voyage')}"/> + <sjg:gridColumn name="importDate" sortable="true" + title="%{getText('echobase.common.importDate')}"/> + <sjg:gridColumn name="importText" sortable="true" + title="%{getText('echobase.common.importText')}"/> + <sjg:gridColumn name="importUser" sortable="true" + title="%{getText('echobase.common.importUser')}"/> + </sjg:grid> + <br/> + <fieldset> + <legend><s:text name="echobase.title.importLog.detail"/></legend> + <div id="extraInfos"> + + <s:label key='echobase.common.importType' value=''/> + <div class="clearBoth"/> + <pre id='importLogImportType' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.voyage' value=''/> + <div class="clearBoth"/> + <pre id='importLogVoyage' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.importDate' value=''/> + <div class="clearBoth"/> + <pre id='importLogDate' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.importText' value=''/> + <div class="clearBoth"/> + <pre id='importLogText' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.importUser' value=''/> + <div class="clearBoth"/> + <pre id='importLogUser' style="font-weight: bold;"></pre> + </div> + </fieldset> + + <br/> + <s:submit id='confirmDelete' action="confirmDelete" method="input" + onclick="return checkOneRowSelected();" + key="echobase.action.delete.selectedImport" /> + +</s:form> \ No newline at end of file Property changes on: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/removeData/importLogs.jsp ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/src/doc/reunions/reunion-2012-09-20.txt =================================================================== --- trunk/src/doc/reunions/reunion-2012-09-20.txt (rev 0) +++ trunk/src/doc/reunions/reunion-2012-09-20.txt 2012-09-20 16:03:59 UTC (rev 675) @@ -0,0 +1,93 @@ +======== +Echobase +======== + +Jeudi 20 septembre 2012 (Ifremer) + +Présents : Mathieu et Tony + +But +=== + +- Validation des suppressions d'import. +- Lissage des données. + +Tableau de bord +=============== + +Ajout du tableau de bord + +- une ligne par campagne et une colonne par type d'import, on met dans chaque +cellules les imports de ce type avec un lien pour afficher + +Exporter les données +==================== + +- corriger les readonly sur les query.name et query.description +- corriger la pagination qui ne va pas (le nombre d'enregistrement = le nombre affiché à l'écran). + +Suppression des imports +======================= + +Confifirmation les echotypes sont bien +On rajoute un filtre par campagne (si pas sélectionner alors toutes les imports sont disponibles) + +- pouvoir supprimer plusieurs imports d'un coup (on affiche dans la fenetre de confirmation uniquement une ligne par import à supprimer) + +Import Voyage complêt +--------------------- + +Supprimer les Category + voyage + +Import Voyage/Transit/Transect +------------------------------ + +Supprimer les Category + voyage + +Import Transect +--------------- + +on supprime bien tous les résultats du voyage + Category + +Import Opération +---------------- + +Import Catches +-------------- + +Import Acoustic +--------------- + +on supprime bien tous les résultats du voyage + Category + +Import Résultat Voyage +---------------------- + +on supprime bien tous les résultats du voyage + Category + +Import Résultat Esdu +-------------------- + +Import Résultat Région +---------------------- + +Import Résultat Map +------------------- + +A faire +======= + +- Mathieu + - +- Tony + - voir pour créer dynamiquement les bases + - faire pointer les docs uniquements sur les pages (sans les anchors pour pouvoir bien traduire) + - corriger le problème du NPE sur le filtre (transaction nulle) + - corriger le problème sur exporter les requetes (tout est en readonly) + + +Prochaine réunion +================= + +- Lundi 24 septembre 2012 à 10h00 + Property changes on: trunk/src/doc/reunions/reunion-2012-09-20.txt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native
participants (1)
-
tchemit@users.forge.codelutin.com