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 e18c8288b532eca8c39cc70b18531569221b2f72 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Thu Jun 23 14:27:47 2016 +0200 Add support to display a mooring --- .../services/service/UserDbPersistenceService.java | 9 ++ .../echobase/ui/actions/workingDb/GetVoyage.java | 15 +- .../webapp/WEB-INF/jsp/workingDb/dashboard.jsp | 177 +++++++++------------ 3 files changed, 101 insertions(+), 100 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java index 68e9f52..288a9c3 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java @@ -74,6 +74,7 @@ import fr.ifremer.echobase.entities.references.Gear; import fr.ifremer.echobase.entities.references.GearMetadata; import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.entities.references.OperationMetadata; +import fr.ifremer.echobase.entities.references.Port; import fr.ifremer.echobase.entities.references.SampleDataType; import fr.ifremer.echobase.entities.references.SampleType; import fr.ifremer.echobase.entities.references.SexCategory; @@ -711,6 +712,14 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { } //------------------------------------------------------------------------// + //--- Port ---------------------------------------------------------------// + //------------------------------------------------------------------------// + + public Port getPort(String id) { + return persistenceContext.getPortDao().forTopiaIdEquals(id).findUnique(); + } + + //------------------------------------------------------------------------// //--- AcousticInstrument -------------------------------------------------// //------------------------------------------------------------------------// diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java index 8ec9d16..b9e525a 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/workingDb/GetVoyage.java @@ -26,6 +26,7 @@ import fr.ifremer.echobase.entities.ImportLog; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.AreaOfOperation; import fr.ifremer.echobase.entities.references.Mission; +import fr.ifremer.echobase.entities.references.Port; import fr.ifremer.echobase.services.service.DbEditorService; import fr.ifremer.echobase.services.service.DecoratorService; import fr.ifremer.echobase.services.service.UserDbPersistenceService; @@ -65,12 +66,22 @@ public class GetVoyage extends EchoBaseActionSupport { data = dbEditorService.getData(tableMeta, voyageId); // decorate foreign keys - Mission mission = userDbPersistenceService.getMission((String) data.get(Voyage.PROPERTY_MISSION)); + String missionId = (String) data.get(Voyage.PROPERTY_MISSION); + Mission mission = userDbPersistenceService.getMission(missionId); decoratorService.decorateForeignKey(data, Voyage.PROPERTY_MISSION, mission, null); - AreaOfOperation areaOfOperation = userDbPersistenceService.getAreaOfOperation((String) data.get(Voyage.PROPERTY_AREA_OF_OPERATION)); + String areaOfOperationId = (String) data.get(Voyage.PROPERTY_AREA_OF_OPERATION); + AreaOfOperation areaOfOperation = userDbPersistenceService.getAreaOfOperation(areaOfOperationId); decoratorService.decorateForeignKey(data, Voyage.PROPERTY_AREA_OF_OPERATION, areaOfOperation, null); + String startPortId = (String) data.get(Voyage.PROPERTY_START_PORT); + Port startPort = userDbPersistenceService.getPort(startPortId); + decoratorService.decorateForeignKey(data, Voyage.PROPERTY_START_PORT, startPort, null); + + String endPortId = (String) data.get(Voyage.PROPERTY_END_PORT); + Port endPort = userDbPersistenceService.getPort(endPortId); + decoratorService.decorateForeignKey(data, Voyage.PROPERTY_END_PORT, endPort, null); + return SUCCESS; } 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 a2bbd38..3be2aa4 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 @@ -42,9 +42,11 @@ async:false, dataType:"json", success:function (data, textStatus) { - - $('.noImportLogDetail').hide(); - $('.importLogDetail').show(); + + $('#voyageDetail').hide(); + $('#mooringDetail').hide(); + $('#importLogDetail').show(); + var json = data.data; $('#importLogEntity').html(json['entityName']); @@ -86,7 +88,6 @@ exportResult = "<s:text name='echobase.message.noImportFilesFound'/>"; } $('#exportLogFiles').html(exportResult); - } }); } @@ -103,11 +104,15 @@ $('#voyageMission').html(json['mission_lbl']); $('#voyageAreaOfOperation').html(json['areaOfOperation_lbl']); - $('#voyageStartEndPort').html(json['startPort'] + " - " + json['endPort']); + $('#voyageStartEndPort').html(json['startPort_lbl'] + " - " + json['endPort_lbl']); $('#voyageStartEndDate').html(json['startDate'] + " - " + json['endDate']); $('#voyageDatum').html(json['datum']); $('#voyageName').html(json['name']); $('#voyageDescription').html(json['description']); + + $('#voyageDetail').show(); + $('#mooringDetail').hide(); + $('#importLogDetail').show(); } }); return false; @@ -126,6 +131,10 @@ $('#mooringMission').html(json['mission_lbl']); $('#mooringCode').html(json['code']); $('#mooringDescription').html(json['description']); + + $('#voyageDetail').hide(); + $('#mooringDetail').show(); + $('#importLogDetail').show(); } }); return false; @@ -138,9 +147,8 @@ $(cellvalue).each(function () { var importId = this; var val = importMapping[importId]; - result += "<li><a href='#' title='${importTooltip}' " + - "onclick='loadImportLogDetail(\"" + importId + "\", \"" + entityId + "\")' " + - "class='fontsize11'>" + val + "</a></li>"; + result += "<li onclick='loadImportLogDetail(\"" + importId + "\", \"" + entityId + "\")' " + + "class='fontsize11'>" + val + "</li>"; }); result += "</ul>"; return result; @@ -150,28 +158,31 @@ return rowObject.id_lbl; } - jQuery(document).ready(function () { + jQuery(document).ready(function () { + $('#voyageDetail').hide(); + $('#mooringDetail').hide(); + $('#importLogDetail').hide(); + + var lastEntityId = null; + // display voyage infos $.addRowSelectTopic('voyages', function () { var voyageId = $("tr[aria-selected=true] td[aria-describedby='voyages_id']").text(); - loadVoyageDetail(voyageId); + if (lastEntityId !== voyageId) { + loadVoyageDetail(voyageId); + } + lastEntityId = voyageId; }); // display mooring infos $.addRowSelectTopic('moorings', function () { var mooringId = $("tr[aria-selected=true] td[aria-describedby='moorings_id']").text(); - loadMooringDetail(mooringId); + if (lastEntityId !== mooringId) { + loadMooringDetail(mooringId); + } + lastEntityId = mooringId; }); - -// $.addClearSelectTopic('voyages', function (event) { -// -// $('.noImportLogDetail').show(); -// $('.importLogDetail').hide(); -// $('#noVoyageDetail').show(); -// $('#voyageDetail').hide(); -// }); -// $.addEvenAndOddClasses('voyages'); }); </script> @@ -222,16 +233,10 @@ </sjg:grid> <br/> -<fieldset> +<fieldset id="voyageDetail"> <legend><s:text name="echobase.title.voyage.detail"/></legend> - <div id="noVoyageDetail"> - <pre> - <s:text name="echobase.message.noVoyageSelected"/> - </pre> - </div> - <div id="voyageDetail"> - + <div> <s:label key='echobase.common.name' value=''/> <pre id='voyageName' style="font-weight: bold;"></pre> <br/> @@ -261,18 +266,11 @@ <br/> </div> - </fieldset> -<fieldset> +<fieldset id="mooringDetail"> <legend><s:text name="echobase.title.mooring.detail"/></legend> - - <div id="noMooringDetail"> - <pre> - <s:text name="echobase.message.noMooringSelected"/> - </pre> - </div> - <div id="mooringDetail"> + <div> <s:label key='echobase.common.name' value=''/> <pre id='mooringCode' style="font-weight: bold;"></pre> @@ -287,66 +285,49 @@ <br/> </div> - </fieldset> -<fieldset> - <legend><s:text name="echobase.title.importLog.detail"/></legend> - - <div class="noImportLogDetail"> - <pre> - <s:text name="echobase.message.noImportLogSelected"/> - </pre> - </div> - <div class="importLogDetail"> - - <s:label key='echobase.common.importType' value=''/> - <pre id='importLogImportType' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.importEntity' value=''/> - <pre id='importLogEntity' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.importDate' value=''/> - <pre id='importLogDate' style="font-weight: bold;"></pre> - <br/> - - <s:label key='echobase.common.importText' value=''/> - <div class="floatLeft"> - <pre id='importLogText' style="font-weight: bold;"></pre> - </div> - <br/> - - <div class="clearBoth"/> - <s:label key='echobase.common.importUser' value=''/> - <pre id='importLogUser' style="font-weight: bold;"></pre> - </div> - -</fieldset> - -<fieldset id="importLogFilesFieldset"> - <legend><s:text name="echobase.title.importLog.files"/></legend> - - <div class="noImportLogDetail"> - <pre> - <s:text name="echobase.message.noImportLogSelected"/> - </pre> - </div> - <div class="importLogDetail"> - <ul id='importLogFiles' style="font-weight: bold;"></ul> - </div> -</fieldset> - -<fieldset id="exportLogFilesFieldset"> - <legend><s:text name="echobase.title.exportLog.files"/></legend> - - <div class="noImportLogDetail"> - <pre> - <s:text name="echobase.message.noImportLogSelected"/> - </pre> - </div> - <div class="importLogDetail"> - <ul id='exportLogFiles' style="font-weight: bold;"></ul> - </div> -</fieldset> +<div id="importLogDetail"> + <fieldset> + <legend><s:text name="echobase.title.importLog.detail"/></legend> + <div> + + <s:label key='echobase.common.importType' value=''/> + <pre id='importLogImportType' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.importEntity' value=''/> + <pre id='importLogEntity' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.importDate' value=''/> + <pre id='importLogDate' style="font-weight: bold;"></pre> + <br/> + + <s:label key='echobase.common.importText' value=''/> + <div class="floatLeft"> + <pre id='importLogText' style="font-weight: bold;"></pre> + </div> + <br/> + + <div class="clearBoth"> + <s:label key='echobase.common.importUser' value=''/> + <pre id='importLogUser' style="font-weight: bold;"></pre> + </div> + </div> + </fieldset> + + <fieldset id="importLogFilesFieldset"> + <legend><s:text name="echobase.title.importLog.files"/></legend> + <div> + <ul id='importLogFiles' style="font-weight: bold;"></ul> + </div> + </fieldset> + + <fieldset id="exportLogFilesFieldset"> + <legend><s:text name="echobase.title.exportLog.files"/></legend> + <div> + <ul id='exportLogFiles' style="font-weight: bold;"></ul> + </div> + </fieldset> +</div> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.