[Suiviobsmer-commits] r1205 - in trunk: wao-business/src/main/java/fr/ifremer/wao/io/csv2/models wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-business/src/test/java/fr/ifremer/wao wao-business/src/test/java/fr/ifremer/wao/entity wao-business/src/test/java/fr/ifremer/wao/io/csv2 wao-business/src/test/java/fr/ifremer/wao/service wao-ui/src/main/java/fr/ifremer/wao/ui/pages
Author: bleny Date: 2011-04-14 14:47:06 +0000 (Thu, 14 Apr 2011) New Revision: 1205 Log: refactor create update sample row to consider coordinator can't change company Removed: trunk/wao-business/src/test/java/fr/ifremer/wao/io/csv2/ExportTest.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java 2011-04-14 14:47:06 UTC (rev 1205) @@ -226,16 +226,16 @@ protected void buildModel() { modelBuilder = new ModelBuilder<SampleRow>(); modelBuilder.newColumnForImportExport("PLAN_CODE", SampleRow.PROPERTY_CODE); - modelBuilder.newColumnForImportExport("SOCIETE", SampleRow.PROPERTY_COMPANY, new CompanyParserFormatter(allCompanies)); + if (connectedUser.isAdmin()) { + modelBuilder.newColumnForImportExport("SOCIETE", SampleRow.PROPERTY_COMPANY, new CompanyParserFormatter(allCompanies)); + } modelBuilder.newColumnForImportExport("OBSERVATEUR_COD", SampleRow.PROPERTY_GROUP_NAME); modelBuilder.newColumnForImportExport("OBSERVATION_DATE", SampleRow.PROPERTY_DAY, Common.DAY); ObservationUnitParserFormatter observationUnitParser = new ObservationUnitParserFormatter(observationUnits); ValueGetterSetter<SampleRow, String> regionCodeGetterSetter = new RegionCodeSetter(observationUnitParser); modelBuilder.newColumnForImportExport("REGION_IFREMER_COD", regionCodeGetterSetter); modelBuilder.newColumnForImportExport("UNITE_OBSERVATION_COD", SampleRow.PROPERTY_OBSERVATION_UNIT, observationUnitParser); - if (connectedUser.isCoordinator()) { - modelBuilder.newColumnForImportExport("OBSERVATEURS", SampleRow.PROPERTY_OBSERVERS, new UsersParserFormatter(allWaoUsers)); - } + modelBuilder.newColumnForImportExport("OBSERVATEURS", SampleRow.PROPERTY_OBSERVERS, new UsersParserFormatter(allWaoUsers)); } @Override Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-04-14 14:47:06 UTC (rev 1205) @@ -260,9 +260,8 @@ } @Override - public void executeCreateUpdateSampleRow(TopiaContext transaction, - SampleRow row, List<Boat> boats, SampleRowLog rowLog) - throws Exception { + protected void executeCreateUpdateSampleRow(TopiaContext transaction, SampleRow row, List<Boat> boats, + SampleRowLog rowLog, ConnectedUser connectedUser) throws TopiaException, WaoBusinessException { // prepare some stuffs for persistence if (row.getSampleMonth() != null) { @@ -374,8 +373,11 @@ BinderModelBuilder.newEmptyBuilder(SampleRow.class); // add properties common to all programs - sampleRowBinderModelBuilder.addSimpleProperties(SampleRow.PROPERTY_COMPANY, - SampleRow.PROPERTY_COMMENT); + sampleRowBinderModelBuilder.addSimpleProperties(SampleRow.PROPERTY_COMMENT); + if (connectedUser.isAdmin()) { + // only admin can change company + sampleRowBinderModelBuilder.addSimpleProperties(SampleRow.PROPERTY_COMPANY); + } // plus per-program properties if (ObsProgram.OBSDEB.equals(row.getObsProgram())) { @@ -1043,7 +1045,7 @@ long startUpdateDatabase = timeLog.log(startReadLine, "end read csv line"); SampleRowLog sampleRowLog = executeGetNewSampleRowLog(sampleRow, connectedUser); - executeCreateUpdateSampleRow(transaction, sampleRow, new ArrayList<Boat>(), sampleRowLog); + executeCreateUpdateSampleRow(transaction, sampleRow, new ArrayList<Boat>(), sampleRowLog, connectedUser); result.incNbImported(); timeLog.log(startUpdateDatabase, "end update database"); Modified: trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-04-14 14:47:06 UTC (rev 1205) @@ -244,6 +244,8 @@ wao.error.serviceUser.getUserByToken= wao.error.serviceUser.getUserRolesByLogin= wao.error.serviceUser.getUsersByCompany= +wao.export.ical.desc=wtih %s +wao.export.ical.title=ObsDeb Observation wao.import.contact.failure.boatMissing=You need to precise the plate number of the boat associated to the contact wao.import.contact.failure.locationTypeMissing=The type of the location must be filled wao.import.contact.failure.sampleRowCodeMissing=The code of the sample row line is missing @@ -253,5 +255,3 @@ wao.import.contact.failure.wrongTerrestrialLocation=There is no location of type '%s' with code '%s' wao.import.failure.wrongUser=There is no user with login '%s' wao.validation.sampleRow.conflictOnObserver=Observer %s cannot be associated to the line %s because he has to observer, on the same day, for row %s -wao.export.ical.title=ObsDeb Observation -wao.export.ical.desc=wtih %s \ No newline at end of file Modified: trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties =================================================================== --- trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-04-14 14:47:06 UTC (rev 1205) @@ -244,6 +244,8 @@ wao.error.serviceUser.getUserByToken= wao.error.serviceUser.getUserRolesByLogin= wao.error.serviceUser.getUsersByCompany=Impossible de r\u00E9cup\u00E9rer la liste des utilisateurs de la soci\u00E9t\u00E9 %1$s +wao.export.ical.desc=avec %s +wao.export.ical.title=Observation ObsDeb wao.import.contact.failure.boatMissing=Il faut pr\u00E9ciser l'immatriculation du navire associ\u00E9 au contact wao.import.contact.failure.locationTypeMissing=Le type du lieu doit \u00EAtre renseign\u00E9 wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associ\u00E9e @@ -253,5 +255,3 @@ wao.import.contact.failure.wrongTerrestrialLocation=Il n'y a pas de lieu de type '%s' ayant pour code '%s' wao.import.failure.wrongUser=Il n'y a pas d'utilisateur ayant pour identifiant '%s' wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut \u00EAtre associ\u00E9 \u00E0 la ligne %s car il doit observer, le m\u00EAme jour, pour la ligne %s -wao.export.ical.title=Observation ObsDeb -wao.export.ical.desc=avec %s \ No newline at end of file Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/AbstractServiceTest.java 2011-04-14 14:47:06 UTC (rev 1205) @@ -651,4 +651,9 @@ connectedUser.setProfile(new UserProfileImpl(obsProgram, userRole, true)); return connectedUser; } + + public ConnectedUser getConnectedAdmin() { + return getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER); + } + } Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-04-14 14:47:06 UTC (rev 1205) @@ -123,7 +123,7 @@ ServiceSampling serviceSampling = manager.getServiceSampling(); input = getClass().getResourceAsStream("/import/echantillonnage.csv"); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER)); + serviceSampling.importSamplingPlanCsv(input, getConnectedAdmin()); SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction); SampleRow row = rowDAO.findByCode("2010_0001"); @@ -135,7 +135,7 @@ transaction.closeContext(); row.setCompany(company); - serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl()); + serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin()); ServiceContact serviceContact = manager.getServiceContact(); Contact contact1 = serviceContact.getNewContact(connectedUser, row, boat); Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/io/csv2/ExportTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/io/csv2/ExportTest.java 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/io/csv2/ExportTest.java 2011-04-14 14:47:06 UTC (rev 1205) @@ -1,120 +0,0 @@ -/* - * #%L - * Wao :: Business - * - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2009 - 2011 Ifremer - * %% - * 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.wao.io.csv2; - -import fr.ifremer.wao.bean.ConnectedUser; -import fr.ifremer.wao.bean.ObsProgram; -import fr.ifremer.wao.entity.Company; -import fr.ifremer.wao.entity.CompanyImpl; -import fr.ifremer.wao.entity.Contact; -import fr.ifremer.wao.entity.SampleRow; -import fr.ifremer.wao.entity.SampleRowImpl; -import fr.ifremer.wao.entity.TerrestrialDivision; -import fr.ifremer.wao.entity.TerrestrialDivisionImpl; -import fr.ifremer.wao.io.csv2.models.SamplingPlanImportExportModel; -import org.apache.commons.io.IOUtils; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; -import org.nuiton.util.DateUtil; -import org.nuiton.util.StringUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.InputStream; -import java.util.Collection; -import java.util.LinkedList; - -public class ExportTest { - - private static final Logger log = LoggerFactory.getLogger(ExportTest.class); - - protected Collection<SampleRow> sampleRows; - - @Before - public void fillSampleRows() { - Company company = new CompanyImpl(); - company.setName("machin"); - - TerrestrialDivision observationUnit = new TerrestrialDivisionImpl(); - observationUnit.setObservationUnitCode("UO10"); - observationUnit.setRegionIfremerCode("MA"); - observationUnit.setObservationUnitName("Côte est"); - - SampleRow row1 = new SampleRowImpl(); - row1.setObsProgram(ObsProgram.OBSDEB); - row1.setCode("1"); - row1.setCompany(company); - row1.setDay(DateUtil.createDate(11, 3, 2011)); - row1.setGroupName("OBS1"); - row1.setObservationUnit(observationUnit); - - SampleRow row2 = new SampleRowImpl(); - row2.setObsProgram(ObsProgram.OBSDEB); - row2.setCode("2"); - row2.setCompany(company); - row2.setDay(DateUtil.createDate(12, 3, 2011)); - row2.setGroupName("OBS2"); - row2.setObservationUnit(observationUnit); - - sampleRows = new LinkedList<SampleRow>(); - sampleRows.add(row1); - sampleRows.add(row2); - } - - @Test - public void testExport() throws Exception { - ConnectedUser admin = Mockito.mock(ConnectedUser.class); - Mockito.when(admin.isCoordinator()).thenReturn(false); - ExportModel<SampleRow> exportModel = new SamplingPlanImportExportModel(admin); - Export<SampleRow> export = new Export(exportModel, sampleRows); - InputStream input = null; - - try { - input = export.startExport(); - - String csv = IOUtils.toString(input); - - if (log.isDebugEnabled()) { - log.debug("csv file is : \n" + csv); - } - - // check the no line is missing - String[] lines = StringUtil.split(csv, "\n"); - int expectedLineNumber = sampleRows.size() + 1; // +1 for header line - int actualLineNumber = lines.length; - Assert.assertEquals(expectedLineNumber, actualLineNumber); - - // check that each lines has 6 columns - for (String line : lines) { - String[] columns = StringUtil.split(line, ";"); - Assert.assertEquals(6, columns.length); - } - } finally { - IOUtils.closeQuietly(input); - } - } - -} Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebTest.java 2011-04-14 14:47:06 UTC (rev 1205) @@ -69,15 +69,15 @@ protected ServiceUser serviceUser; protected static final String CSV_CONTENT = - "PLAN_CODE;SOCIETE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD\n" - + "2011_888;Ifremer;GA;OBS1;05/01/2010;UO007\n" - + "2011_889;Code Lutin;MA;OBS2;25/02/2010;UO087\n" - + "2011_890;Code Lutin;GA;OBS1;13/02/2010;UO007\n" - + "2011_891;Code Lutin;MA;OBS2;13/02/2010;UO087"; + "PLAN_CODE;SOCIETE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n" + + "2011_888;Ifremer;GA;OBS1;05/01/2010;UO007;\n" + + "2011_889;Code Lutin;MA;OBS2;25/02/2010;UO087;\n" + + "2011_890;Code Lutin;GA;OBS1;13/02/2010;UO007;\n" + + "2011_891;Code Lutin;MA;OBS2;13/02/2010;UO087;"; protected static final String CSV_WITH_OBSERVERS_CONTENT = - "PLAN_CODE;SOCIETE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n" - + "2011_890;Code Lutin;GA;OBS1;13/02/2010;UO007;josh"; + "PLAN_CODE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n" + + "2011_890;GA;OBS1;13/02/2010;UO007;josh"; protected Company codeLutin() { if (codeLutin == null) { @@ -314,6 +314,7 @@ // now getting the sampling plan and checking that observers are linked to sample rows SampleRow row2011_890 = serviceSampling.getSampleRowByCode(joshAsCoordinator(), "2011_890"); + Assert.assertNotNull(row2011_890); Assert.assertEquals(1, row2011_890.sizeObservers()); // adding an observer must add a log entry Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-04-14 14:47:06 UTC (rev 1205) @@ -251,10 +251,10 @@ // Set company and elligibleBoats '174592 177474' for row1 List<Boat> boats = service.getBoatsByImmatriculations("174592 177474"); row1.setCompany(company); - serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl()); + serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl(), getConnectedAdmin()); // Set company only for row2 row2.setCompany(company); - serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl()); + serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl(), getConnectedAdmin()); return Arrays.asList(row1, row2); } Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java =================================================================== --- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingImplTest.java 2011-04-14 14:47:06 UTC (rev 1205) @@ -166,7 +166,7 @@ /** EXEC CREATE **/ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129"); - serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl()); + serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin()); assertNotNull(row.getTopiaId()); assertNotNull(row.getProfession().getTopiaId()); @@ -177,7 +177,7 @@ // TEST FOR DELETE ELLIGIBLE PROPERTY_BOAT boats.remove(2); - serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl()); + serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), getConnectedAdmin()); result = serviceSampling.getSampleRow(row.getTopiaId()); assertEquals(2, result.getElligibleBoat().size()); @@ -185,7 +185,7 @@ // TEST FOR REMOVE FISHING ZONE //FishingZone zone = result.getFishingZone().get(0); result.getFishingZone().remove(0); - serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl()); + serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), getConnectedAdmin()); result = serviceSampling.getSampleRow(row.getTopiaId()); assertEquals(2, result.getFishingZone().size()); @@ -503,7 +503,7 @@ serviceBoat.importBoatCsv(input); List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129"); - serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl()); + serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin()); /** EXEC METHOD **/ serviceSampling.deleteSampleRow(row); @@ -677,56 +677,4 @@ // Assert.assertEquals("2010_04", code); } - /** - * Check that it's possible to import a sampling plan for the obsDeb Program - * - * @throws WaoBusinessException should not occur - */ - @Test - @Ignore("not yet implemented") - public void importObsdebSamplingPlan() throws WaoBusinessException { - ServiceReferential serviceReferential = manager.getServiceReferential(); - InputStream input = null; - try { - input = getClass().getResourceAsStream("/import/purifiedTerrestrialDivisions.csv"); - serviceReferential.importTerrestrialDivisions(input); - } finally { - IOUtils.closeQuietly(input); - } - - try { - input = getClass().getResourceAsStream("/import/samplingPlan-obsdeb.csv"); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSDEB)); - } finally { - IOUtils.closeQuietly(input); - } - - SamplingFilter filter = new SamplingFilterImpl(); - filter.setObsProgram(ObsProgram.OBSDEB); - List<SampleRow> samplingPlan = serviceSampling.getSampleRowsByFilter(filter); - for (SampleRow sampleRow : samplingPlan) { - - if (log.isDebugEnabled()) { - log.debug("sample row has code " + sampleRow.getCode()); - } - - Assert.assertNotNull("all sample rows must have a code", sampleRow.getCode()); - Assert.assertNotNull("all sample rows must have a day", sampleRow.getDay()); - Assert.assertNotNull("all sample rows must have a location", sampleRow.getObservationUnit()); - Assert.assertNotNull("all sample rows must be attached to a port", sampleRow.getObservationUnit().isObservationUnit()); - } - Assert.assertEquals("there is two line to import", 2, samplingPlan.size()); - - // Now, let's try to re-import the same file and check that - // lines has been updated and no new line were added - try { - input = getClass().getResourceAsStream("/import/samplingPlan-obsdeb.csv"); - serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSDEB)); - } finally { - IOUtils.closeQuietly(input); - } - samplingPlan = serviceSampling.getSampleRowsByFilter(filter); - Assert.assertEquals("there is two line to import", 2, samplingPlan.size()); - } - } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-04-14 10:15:22 UTC (rev 1204) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-04-14 14:47:06 UTC (rev 1205) @@ -855,7 +855,7 @@ } - serviceSampling.createUpdateSampleRow(sampleRow, boats, getSampleRowLog()); + serviceSampling.createUpdateSampleRow(sampleRow, boats, getSampleRowLog(), user); if (user.isObsDeb()) { return ObsDebSamplingPlan.class;
participants (1)
-
bleny@users.labs.libre-entreprise.org