Author: bleny Date: 2011-04-14 09:23:52 +0000 (Thu, 14 Apr 2011) New Revision: 1201 Log: fix LIE when exporting iCal Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2011-04-13 13:48:30 UTC (rev 1200) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/WaoUserImpl.java 2011-04-14 09:23:52 UTC (rev 1201) @@ -84,11 +84,6 @@ @Override public boolean hasUserRole(UserRole userRole) { // true if user has a profile with the role whatever the program - for (UserProfile profile : getUserProfile()) { - if (profile.getUserRole() == userRole) { - return true; - } - } return hasUserRole(userRole, getUserProfile()); } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-04-13 13:48:30 UTC (rev 1200) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-04-14 09:23:52 UTC (rev 1201) @@ -82,8 +82,6 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; 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-13 13:48:30 UTC (rev 1200) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-04-14 09:23:52 UTC (rev 1201) @@ -370,12 +370,12 @@ BinderModelBuilder.newEmptyBuilder(SampleRow.class); // add properties common to all programs - sampleRowBinderModelBuilder.addSimpleProperties(SampleRow.PROPERTY_COMPANY); + sampleRowBinderModelBuilder.addSimpleProperties(SampleRow.PROPERTY_COMPANY, + SampleRow.PROPERTY_COMMENT); // plus per-program properties if (ObsProgram.OBSDEB.equals(row.getObsProgram())) { sampleRowBinderModelBuilder.addSimpleProperties( - SampleRow.PROPERTY_COMMENT, SampleRow.PROPERTY_DAY, SampleRow.PROPERTY_GROUP_NAME, SampleRow.PROPERTY_OBSERVERS, @@ -391,7 +391,6 @@ // SampleRow.PROPERTY_D_CF5_CODE, // SampleRow.PROPERTY_SAMPLE_MONTH, SampleRow.PROPERTY_FISHING_ZONES_INFOS, - SampleRow.PROPERTY_COMMENT, SampleRow.PROPERTY_PROGRAM_NAME, SampleRow.PROPERTY_PERIOD_BEGIN, SampleRow.PROPERTY_PERIOD_END, @@ -1475,9 +1474,7 @@ samplingFilter.setObserver(connectedUser.getUser()); } - if (connectedUser.isObsDeb() && connectedUser.isObserver()) { - samplingFilter.setOrderBy(SampleRow.PROPERTY_DAY); - } + samplingFilter.setOrderBy(SampleRow.PROPERTY_DAY); return samplingFilter; } @@ -1552,21 +1549,25 @@ } for (SampleRow sampleRow : samplingPlan) { net.fortuna.ical4j.model.Date day = new net.fortuna.ical4j.model.Date(sampleRow.getDay()); - String eventDescription = sampleRow.getObservationUnit().getDescription(); + String eventTitle = "Observation ObsDeb"; + String eventPlace = sampleRow.getObservationUnit().getDescription(); + // liste des noms des observateurs (sauf le connected user) dans Property.Attendee + String eventDescription = "avec " + sampleRow.getObservers(); + // au pire, tout mettre dans la description + if (log.isDebugEnabled()) { log.debug("Creating event " + eventDescription + " at time " + day); } // add an event at 'day' in iCal - VEvent event = new VEvent(day, eventDescription); + VEvent event = new VEvent(day, eventTitle); // add timezone information.. event.getProperties().add(tz.getTimeZoneId()); // initialise as an all-day event.. - event.getProperties().getProperty(Property.DTSTART).getParameters().add( - Value.DATE); + event.getProperties().getProperty(Property.DTSTART).getParameters().add(Value.DATE); // Generate a UID for the event.. Uid uid = new Uid(sampleRow.getTopiaId()); Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2011-04-13 13:48:30 UTC (rev 1200) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceUserImpl.java 2011-04-14 09:23:52 UTC (rev 1201) @@ -561,16 +561,18 @@ result.setUser(user); // Determine role for this one - if (user.hasUserRole(UserRole.COORDINATOR, ObsProgram.OBSDEB)) { - UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.COORDINATOR, false); - result.setProfile(userProfile); - } else if (user.hasUserRole(UserRole.OBSERVER, ObsProgram.OBSDEB)) { + if (user.hasUserRole(UserRole.COORDINATOR, ObsProgram.OBSDEB) || + user.hasUserRole(UserRole.OBSERVER, ObsProgram.OBSDEB)) { + // as coordinator, auth as observer UserProfile userProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.OBSERVER, false); result.setProfile(userProfile); } else { throw new IllegalArgumentException("User " + user.getLogin() + " is not allowed to use tokenId"); } + // force load + user.getCompany(); + return result; } } Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml 2011-04-13 13:48:30 UTC (rev 1200) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml 2011-04-14 09:23:52 UTC (rev 1201) @@ -44,9 +44,8 @@ <label for="fromDate">${message:wao.ui.misc.since} :</label> <input t:type="datefield" class="width70" t:id="fromDate" value="filter.fromDate" /> - <label for="state">${message:wao.ui.field.Contact.contactState} :</label> - <!-- TODO sletellier 20110406 : create SimpleEnumSelector ??? --> + <label for="state">${message:wao.ui.field.Contact.contactState} :</label> <select t:type="select" t:id="state" value="filter.state" @@ -187,13 +186,11 @@ </div> <t:if t:test="user.obsVente"> <label for="samplingStrategy">${message:wao.ui.field.SampleRow.samplingStrategy}</label> - <!-- TODO sletellier 20110405 : find how model is filled --> <input t:type="select" t:id="samplingStrategy" value="filter.samplingStrategy" /> <label for="actualSamplingStrategy">${message:wao.ui.field.Contact.samplingStrategy}</label> - <!-- TODO sletellier 20110405 : find how model is filled --> <input t:type="select" t:id="actualSamplingStrategy" value="filter.actualSamplingStrategy" />