branch feature/8180 updated (e70d317 -> aec1002)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from e70d317 Fix tooltip, delete quote in string new aec1002 Add support to display a mooring The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit aec1002786b98ef516a906bb0c95d3fdf3ccb189 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 12:08:32 2016 +0200 Add support to display a mooring Summary of changes: .../echobase/ui/actions/dbeditor/GetEntities.java | 2 - .../ui/actions/workingDb/GetImportLogDetail.java | 14 ++- .../workingDb/{GetVoyage.java => GetMooring.java} | 27 ++--- .../src/main/resources/config/struts-workingDb.xml | 9 +- .../resources/i18n/echobase-ui_en_GB.properties | 3 + .../resources/i18n/echobase-ui_fr_FR.properties | 3 + .../webapp/WEB-INF/jsp/workingDb/dashboard.jsp | 118 ++++++++++++++------- 7 files changed, 110 insertions(+), 66 deletions(-) copy echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/{GetVoyage.java => GetMooring.java} (70%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit aec1002786b98ef516a906bb0c95d3fdf3ccb189 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 12:08:32 2016 +0200 Add support to display a mooring --- .../echobase/ui/actions/dbeditor/GetEntities.java | 2 - .../ui/actions/workingDb/GetImportLogDetail.java | 14 ++- .../{GetImportLogDetail.java => GetMooring.java} | 46 +++----- .../src/main/resources/config/struts-workingDb.xml | 9 +- .../resources/i18n/echobase-ui_en_GB.properties | 3 + .../resources/i18n/echobase-ui_fr_FR.properties | 3 + .../webapp/WEB-INF/jsp/workingDb/dashboard.jsp | 118 ++++++++++++++------- 7 files changed, 113 insertions(+), 82 deletions(-) diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java index 6a1871a..ac6083c 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/dbeditor/GetEntities.java @@ -23,10 +23,8 @@ package fr.ifremer.echobase.ui.actions.dbeditor; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; -import com.google.common.collect.Multimaps; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.ImportLog; -import fr.ifremer.echobase.entities.ImportLogs; import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.services.service.DbEditorService; import fr.ifremer.echobase.services.service.DecoratorService; diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java index 9a18313..79a52e8 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java @@ -51,7 +51,13 @@ public class GetImportLogDetail extends EchoBaseActionSupport { public void setImportLogId(String importLogId) { this.importLogId = importLogId; } + + protected String entityId; + public void setEntityId(String entityId) { + this.entityId = entityId; + } + protected Map data; public Map<?, ?> getData() { @@ -71,11 +77,9 @@ public class GetImportLogDetail extends EchoBaseActionSupport { data.put(ImportLog.PROPERTY_IMPORT_TYPE, importTypes.get(importType)); // decorate foreign keys - String id = (String) data.get(ImportLog.PROPERTY_ENTITY_ID); - if (id != null && !id.isEmpty()) { - TopiaEntity entity = userDbPersistenceService.getEntity(id); - decoratorService.decorateForeignKey(data, ImportLog.PROPERTY_ENTITY_ID, entity, null); - } + TopiaEntity entity = userDbPersistenceService.getEntity(entityId); + String entityName = decoratorService.decorate(entity, null); + data.put("entityName", entityName); // get import files Collection<ImportFile> importFiles = userDbPersistenceService.getImportFiles(importLogId); diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetMooring.java similarity index 59% copy from echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java copy to echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetMooring.java index 9a18313..87f9adc 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetImportLogDetail.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetMooring.java @@ -22,9 +22,9 @@ package fr.ifremer.echobase.ui.actions.workingDb; */ import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; -import fr.ifremer.echobase.entities.ImportFile; import fr.ifremer.echobase.entities.ImportLog; -import fr.ifremer.echobase.entities.ImportType; +import fr.ifremer.echobase.entities.data.Mooring; +import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.services.service.DbEditorService; import fr.ifremer.echobase.services.service.DecoratorService; import fr.ifremer.echobase.services.service.UserDbPersistenceService; @@ -32,24 +32,22 @@ import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import org.nuiton.topia.persistence.metadata.TableMeta; import javax.inject.Inject; -import java.util.Collection; import java.util.Map; -import org.nuiton.topia.persistence.TopiaEntity; /** * Obtain details of a given {@link ImportLog}. * - * @author Tony Chemit - chemit@codelutin.com - * @since 1.3 + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 */ -public class GetImportLogDetail extends EchoBaseActionSupport { +public class GetMooring extends EchoBaseActionSupport { private static final long serialVersionUID = 1L; - protected String importLogId; + protected String mooringId; - public void setImportLogId(String importLogId) { - this.importLogId = importLogId; + public void setMooringId(String mooringId) { + this.mooringId = mooringId; } protected Map data; @@ -61,28 +59,14 @@ public class GetImportLogDetail extends EchoBaseActionSupport { @Override public String execute() throws Exception { - TableMeta<EchoBaseUserEntityEnum> tableMeta = - dbEditorService.getTableMeta(EchoBaseUserEntityEnum.ImportLog); - data = dbEditorService.getData(tableMeta, importLogId); - - // decorate import type - Map<String, String> importTypes = decoratorService.decorateEnums(ImportType.values()); - String importType = (String) data.get(ImportLog.PROPERTY_IMPORT_TYPE); - data.put(ImportLog.PROPERTY_IMPORT_TYPE, importTypes.get(importType)); + TableMeta<EchoBaseUserEntityEnum> tableMeta = dbEditorService.getTableMeta(EchoBaseUserEntityEnum.Mooring); + data = dbEditorService.getData(tableMeta, mooringId); // decorate foreign keys - String id = (String) data.get(ImportLog.PROPERTY_ENTITY_ID); - if (id != null && !id.isEmpty()) { - TopiaEntity entity = userDbPersistenceService.getEntity(id); - decoratorService.decorateForeignKey(data, ImportLog.PROPERTY_ENTITY_ID, entity, null); - } - - // get import files - Collection<ImportFile> importFiles = userDbPersistenceService.getImportFiles(importLogId); - data.put(ImportLog.PROPERTY_IMPORT_FILE, importFiles); + Mission mission = userDbPersistenceService.getMission((String) data.get(Mooring.PROPERTY_MISSION)); + decoratorService.decorateForeignKey(data, Mooring.PROPERTY_MISSION, mission, null); return SUCCESS; - } //------------------------------------------------------------------------// @@ -91,10 +75,8 @@ public class GetImportLogDetail extends EchoBaseActionSupport { @Inject protected transient UserDbPersistenceService userDbPersistenceService; - - @Inject - protected transient DbEditorService dbEditorService; - @Inject protected transient DecoratorService decoratorService; + @Inject + protected transient DbEditorService dbEditorService; } diff --git a/echobase-ui/src/main/resources/config/struts-workingDb.xml b/echobase-ui/src/main/resources/config/struts-workingDb.xml index 60d5979..1e58547 100644 --- a/echobase-ui/src/main/resources/config/struts-workingDb.xml +++ b/echobase-ui/src/main/resources/config/struts-workingDb.xml @@ -175,13 +175,18 @@ <result type="json"/> </action> - <!-- Get voyage detail --> + <!-- Get entity detail --> <action name="getDashboardVoyage" method="execute" class="fr.ifremer.echobase.ui.actions.workingDb.GetVoyage"> <interceptor-ref name="basicStackLogguedWithdb"/> <result type="json"/> </action> - + <action name="getDashboardMooring" method="execute" + class="fr.ifremer.echobase.ui.actions.workingDb.GetMooring"> + <interceptor-ref name="basicStackLogguedWithdb"/> + <result type="json"/> + </action> + <!-- Show dashboard --> <action name="dashboard" method="execute" class="fr.ifremer.echobase.ui.actions.workingDb.DashBoard"> diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties index c81e67d..59e0086 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties @@ -105,6 +105,7 @@ echobase.common.importDataMode=Import type echobase.common.importDate=Import date echobase.common.importDbFile= echobase.common.importDbMode=Import db mode +echobase.common.importEntity= echobase.common.importError=Error\: echobase.common.importLogToDelete=Voyage %s - Import type %s - Date %s echobase.common.importNotes=Import notes @@ -414,6 +415,7 @@ echobase.message.no.spatial.database.support=The working db you are using is not echobase.message.noEntrySelection=No field selected echobase.message.noImportFilesFound=No import file found (import was done before version 2.8) echobase.message.noImportLogSelected=No import selected +echobase.message.noMooringSelected= echobase.message.noVoyageSelected=No voyage selected 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 @@ -457,6 +459,7 @@ echobase.title.importLogs=Import logs echobase.title.importTable=Import a table echobase.title.login=Connection echobase.title.modification.detail=Modification details +echobase.title.mooring.detail= echobase.title.newLibreOfficeQuery=Translate a SQL query from Libre Office echobase.title.removeDataProgress=Remove import data echobase.title.removeDataResult=Result of remove import data diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties index 36c6a70..8c9e6df 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties @@ -105,6 +105,7 @@ echobase.common.importDataMode=Type d'import echobase.common.importDate=Date de l'import echobase.common.importDbFile= echobase.common.importDbMode=Mode d'import +echobase.common.importEntity= 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 @@ -417,6 +418,7 @@ echobase.message.no.spatial.database.support=La base de travail que vous utilise echobase.message.noEntrySelection=Pas de champ sélectionné echobase.message.noImportFilesFound=Pas de fichiers conservés (import effectué avant la version 2.8) echobase.message.noImportLogSelected=Pas d'import sélectionné +echobase.message.noMooringSelected= echobase.message.noVoyageSelected=Pas de campagne sélectionné echobase.message.removeData.result=La suppression de l'import s'est déroule avec succès en %s \:\n%s echobase.message.warnEmbeddedApplicationInProgress=Merci de ne pas fermer la fenêtre pour pouvoir accéder aux résultats de la création de l'application embarquée @@ -460,6 +462,7 @@ echobase.title.importLogs=Liste des imports echobase.title.importTable=Importer une table echobase.title.login=Connexion echobase.title.modification.detail=Détails de la modification +echobase.title.mooring.detail= echobase.title.newLibreOfficeQuery=Traduire une requête SQL issue de Libre Office echobase.title.removeDataProgress=Suppression d'un import en cours... echobase.title.removeDataResult=Résultat de la suppression d'un import diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp index f9d674f..a2bbd38 100644 --- a/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/workingDb/dashboard.jsp @@ -31,11 +31,14 @@ <script type="text/javascript"> - function loadImportLogDetail(importLogId) { + function loadImportLogDetail(importLogId, entityId) { $.ajax( { url:'<s:url action="getDashboardImportLog" namespace="/workingDb"/>', - data:{importLogId:importLogId}, + data:{ + importLogId: importLogId, + entityId: entityId + }, async:false, dataType:"json", success:function (data, textStatus) { @@ -44,13 +47,7 @@ $('.importLogDetail').show(); var json = data.data; - if ($('#noVoyageDetail').is(":visible")) { - - // need to load voyage - loadVoyageDetail(json['voyageId']); - } - - $('#importLogVoyage').html(json['voyageId_lbl']); + $('#importLogEntity').html(json['entityName']); $('#importLogText').html(json['importText']); $('#importLogUser').html(json['importUser']); $('#importLogDate').html(json['importDate']); @@ -92,7 +89,6 @@ } }); - return false; } function loadVoyageDetail(voyageId) { @@ -103,9 +99,6 @@ async:false, dataType:"json", success:function (data, textStatus) { - - $('#noVoyageDetail').hide(); - $('#voyageDetail').show(); var json = data.data; $('#voyageMission').html(json['mission_lbl']); @@ -115,27 +108,46 @@ $('#voyageDatum').html(json['datum']); $('#voyageName').html(json['name']); $('#voyageDescription').html(json['description']); - } }); return false; } + function loadMooringDetail(mooringId) { + $.ajax( + { + url:'<s:url action="getDashboardMooring" namespace="/workingDb"/>', + data:{mooringId: mooringId}, + async:false, + dataType:"json", + success:function (data, textStatus) { + var json = data.data; + + $('#mooringMission').html(json['mission_lbl']); + $('#mooringCode').html(json['code']); + $('#mooringDescription').html(json['description']); + } + }); + return false; + } + function formatImportLogs(cellvalue, options, rowObject) { var result = "<ul>"; - var importMapping = rowObject['importLogs']; + var importMapping = rowObject.importLogs; + var entityId = rowObject.id; $(cellvalue).each(function () { var importId = this; var val = importMapping[importId]; - result += "<li><a href='#' title='${importTooltip}' onclick='return loadImportLogDetail(\"" + importId + - "\")' class='fontsize11'>" + val + "</a></li>"; + result += "<li><a href='#' title='${importTooltip}' " + + "onclick='loadImportLogDetail(\"" + importId + "\", \"" + entityId + "\")' " + + "class='fontsize11'>" + val + "</a></li>"; }); result += "</ul>"; return result; } - function formatVoyageName(cellvalue, options, rowObject) { - return rowObject['id_lbl']; + function formatName(cellvalue, options, rowObject) { + return rowObject.id_lbl; } jQuery(document).ready(function () { @@ -146,14 +158,20 @@ loadVoyageDetail(voyageId); }); - $.addClearSelectTopic('voyages', function (event) { - - $('.noImportLogDetail').show(); - $('.importLogDetail').hide(); - $('#noVoyageDetail').show(); - $('#voyageDetail').hide(); + // display mooring infos + $.addRowSelectTopic('moorings', function () { + var mooringId = $("tr[aria-selected=true] td[aria-describedby='moorings_id']").text(); + loadMooringDetail(mooringId); }); - $.addEvenAndOddClasses('voyages'); + +// $.addClearSelectTopic('voyages', function (event) { +// +// $('.noImportLogDetail').show(); +// $('.importLogDetail').hide(); +// $('#noVoyageDetail').show(); +// $('#voyageDetail').hide(); +// }); +// $.addEvenAndOddClasses('voyages'); }); </script> @@ -170,7 +188,7 @@ onCompleteTopics="voyages-clearSelect,voyages-CompleteTopics"> <sjg:gridColumn name="id" title="id" hidden="true"/> - <sjg:gridColumn name="name" sortable="true" formatter="formatVoyageName" + <sjg:gridColumn name="name" sortable="true" formatter="formatName" title="%{getText('echobase.common.voyage')}"/> <s:iterator value="%{importVoyageTypes}" var="entry"> @@ -188,12 +206,12 @@ navigatorEdit="false" navigatorSearch="false" navigatorDelete="false" navigatorAdd="false" rowList="10,15,20,50,100,250,500" rowNum="10" - onSelectRowTopics="voyages-rowSelect" - onCellSelectTopics="voyages-rowSelect" - onCompleteTopics="voyages-clearSelect,voyages-CompleteTopics"> + onSelectRowTopics="moorings-rowSelect" + onCellSelectTopics="moorings-rowSelect" + onCompleteTopics="moorings-clearSelect,moorings-CompleteTopics"> <sjg:gridColumn name="id" title="id" hidden="true"/> - <sjg:gridColumn name="name" sortable="true" formatter="formatVoyageName" + <sjg:gridColumn name="name" sortable="true" formatter="formatName" title="%{getText('echobase.common.mooring')}"/> <s:iterator value="%{importMooringTypes}" var="entry"> @@ -247,6 +265,32 @@ </fieldset> <fieldset> + <legend><s:text name="echobase.title.mooring.detail"/></legend> + + <div id="noMooringDetail"> + <pre> + <s:text name="echobase.message.noMooringSelected"/> + </pre> + </div> + <div id="mooringDetail"> + + <s:label key='echobase.common.name' value=''/> + <pre id='mooringCode' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.description' value=''/> + <pre id='mooringDescription' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.mission' value=''/> + <pre id='mooringMission' style="font-weight: bold;"></pre> + <br/> + + </div> + +</fieldset> + +<fieldset> <legend><s:text name="echobase.title.importLog.detail"/></legend> <div class="noImportLogDetail"> @@ -260,8 +304,8 @@ <pre id='importLogImportType' style="font-weight: bold;"></pre> <br/> - <s:label key='echobase.common.voyage' value=''/> - <pre id='importLogVoyage' style="font-weight: bold;"></pre> + <s:label key='echobase.common.importEntity' value=''/> + <pre id='importLogEntity' style="font-weight: bold;"></pre> <br/> <s:label key='echobase.common.importDate' value=''/> @@ -290,12 +334,8 @@ </pre> </div> <div class="importLogDetail"> - <ul id='importLogFiles' style="font-weight: bold;"></ul> - </div> - - </fieldset> <fieldset id="exportLogFilesFieldset"> @@ -307,10 +347,6 @@ </pre> </div> <div class="importLogDetail"> - <ul id='exportLogFiles' style="font-weight: bold;"></ul> - </div> - - </fieldset> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm