r1732 - in trunk: wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations wao-web/src/main/java/fr/ifremer/wao/web/action wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer wao-web/src/main/resources/i18n wao-web/src/main/webapp/WEB-INF/content/obsmer
Author: bleny Date: 2014-03-20 11:21:05 +0100 (Thu, 20 Mar 2014) New Revision: 1732 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1732 Log: refs #4483 add export sampling plan ui Added: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractDownloadCsvAction.java trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportSamplingPlanAction.java Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/DCF5CodesParserFormatter.java trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/DCF5CodesParserFormatter.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/DCF5CodesParserFormatter.java 2014-03-20 09:06:44 UTC (rev 1731) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/DCF5CodesParserFormatter.java 2014-03-20 10:21:05 UTC (rev 1732) @@ -57,6 +57,7 @@ @Override public List<DCF5Code> parse(String codes) { + // FIXME brendan 20/03/14 la gestion d'exception fait qu'on a pas le message d'erreur dans l'UI try { Collection<DCF5Code> dcf5Codes = referentialService.getDcf5Codes(codes); List<DCF5Code> value = new ArrayList<>(dcf5Codes); Added: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractDownloadCsvAction.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractDownloadCsvAction.java (rev 0) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/AbstractDownloadCsvAction.java 2014-03-20 10:21:05 UTC (rev 1732) @@ -0,0 +1,26 @@ +package fr.ifremer.wao.web.action; + +import fr.ifremer.wao.web.WaoJspActionSupport; +import org.apache.struts2.convention.annotation.Result; + +import java.io.InputStream; +import java.text.SimpleDateFormat; + +@Result( + name="success", + type="stream", + params = { + "contentType", "text/csv", + "inputName", "inputStream", + "contentDisposition", "attachment;filename=${fileName}" + } +) +public abstract class AbstractDownloadCsvAction extends WaoJspActionSupport { + + protected SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-dd-MM_HHhmm"); + + public abstract String getFileName(); + + public abstract InputStream getInputStream(); + +} Added: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportSamplingPlanAction.java =================================================================== --- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportSamplingPlanAction.java (rev 0) +++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/obsmer/ExportSamplingPlanAction.java 2014-03-20 10:21:05 UTC (rev 1732) @@ -0,0 +1,49 @@ +package fr.ifremer.wao.web.action.obsmer; + +import com.opensymphony.xwork2.Preparable; +import fr.ifremer.wao.SampleRowsFilter; +import fr.ifremer.wao.services.service.ObsMerSamplingPlanService; +import fr.ifremer.wao.web.action.AbstractDownloadCsvAction; + +import java.io.InputStream; +import java.util.Date; + +public class ExportSamplingPlanAction extends AbstractDownloadCsvAction implements Preparable { + + protected ObsMerSamplingPlanService service; + + protected SampleRowsFilter filter; + + public void setService(ObsMerSamplingPlanService service) { + this.service = service; + } + + public SampleRowsFilter getFilter() { + if (filter == null) { + prepare(); + } + return filter; + } + + @Override + public void prepare() { + + filter = service.newSampleRowsFilter(getAuthenticatedWaoUser()); + + } + + @Override + public String getFileName() { + + return "plan_" + getObsProgram().name() + "_" + dateFormat.format(new Date()) + ".csv"; + + } + + @Override + public InputStream getInputStream() { + + return service.exportSamplingPlan(filter); + + } + +} Modified: trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties =================================================================== --- trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-03-20 09:06:44 UTC (rev 1731) +++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-03-20 10:21:05 UTC (rev 1732) @@ -31,6 +31,7 @@ wao.ui.action.createNews.success=News created wao.ui.action.createSampleRow=Add a sample row to the plan wao.ui.action.createWaoUser=Create a user +wao.ui.action.csvExport=Export as CSV wao.ui.action.delete=Delete wao.ui.action.deleteCompany=Delete company wao.ui.action.deleteCompany.confirm=Are you sure you want to delete this company ? Modified: trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties =================================================================== --- trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-03-20 09:06:44 UTC (rev 1731) +++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-03-20 10:21:05 UTC (rev 1732) @@ -31,6 +31,7 @@ wao.ui.action.createNews.success=Actualité enregistrée avec succès wao.ui.action.createSampleRow=Ajouter une ligne au plan wao.ui.action.createWaoUser=Créer un utilisateur +wao.ui.action.csvExport=Exporter au format CSV wao.ui.action.delete=Supprimer wao.ui.action.deleteCompany=Supprimer la société wao.ui.action.deleteCompany.confirm=Êtes-vous sûr de vouloir supprimer la société ? Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp =================================================================== --- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-03-20 09:06:44 UTC (rev 1731) +++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-03-20 10:21:05 UTC (rev 1732) @@ -13,6 +13,11 @@ <s:text name="wao.ui.page.SamplingPlan.title" /> </h1> + <s:url action="export-sampling-plan" id="exportSamplingPlanUrl" /> + <s:a href="%{exportSamplingPlanUrl}" cssClass="btn"> + <i class="icon-download"></i> <s:text name="wao.ui.action.csvExport" /> + </s:a> + <table class="large-table table-hover"> <thead> <th>
participants (1)
-
bleny@users.forge.codelutin.com