[Suiviobsmer-commits] r1154 - in trunk: wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/base wao-ui/src/main/java/fr/ifremer/wao/ui/components wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/resources/fr/ifremer/wao/ui/components wao-ui/src/main/webapp
Author: sletellier Date: 2011-04-07 08:43:40 +0000 (Thu, 07 Apr 2011) New Revision: 1154 Log: Final pass of refactor, AbstractFilteredPage can be removed Added: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/ContactFilterManager.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/ContactFilterComponent.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FilterComponent.java trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml Removed: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/AbstractFilterComponent.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.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-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingFilterManager.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/BoatFilterComponent.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/TopiaEntitySelector.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/TopiaEntitySelector.tml trunk/wao-ui/src/main/webapp/Contacts.tml Added: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java (rev 0) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactFilterValuesImpl.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -0,0 +1,48 @@ +package fr.ifremer.wao.bean; + +import fr.ifremer.wao.entity.ContactStateMotif; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +/** + * @author sletellier <letellier at codelutin.com> + */ +public class ContactFilterValuesImpl extends ContactFilterValues { + + @Override + public void addContactStateMotifs(ContactStateMotif toAdd) { + if (toAdd == null) { + return; + } + if (getContactStateMotifs() == null) { + setContactStateMotifs(new ArrayList<ContactStateMotif>()); + } + if (!containsContactStateMotifs(toAdd)) { + super.addContactStateMotifs(toAdd); + } + } + + @Override + public void addAllContactStateMotifs(Collection<ContactStateMotif> toAdds) { + if (toAdds == null) { + return; + } + if (getContactStateMotifs() == null) { + setContactStateMotifs(new ArrayList<ContactStateMotif>()); + } + if (!containsAllContactStateMotifs(toAdds)) { + super.addAllContactStateMotifs(toAdds); + } else { + for (ContactStateMotif toAdd : toAdds) { + addContactStateMotifs(toAdd); + } + } + } + + @Override + public List<ContactStateMotif> getContactStateMotifsAsList() { + return getAsList(getContactStateMotifs()); + } +} 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-07 08:43:29 UTC (rev 1153) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -701,6 +701,12 @@ protected BoatFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, BoatFilter filter) throws Exception { BoatFilterValues result = new BoatFilterValuesImpl(); + + Integer startIndex = filter.getStartIndex(); + Integer endIndex = filter.getEndIndex(); + filter.setStartIndex(null); + filter.setEndIndex(null); + if (filter.getFacadeName() == null && filter.getSectorName() == null) { ServiceReferential serviceReferential = context.getServiceFactory().getServiceReferential(); ServiceSampling serviceSampling = context.getServiceFactory().getServiceSampling(); @@ -723,6 +729,9 @@ result.fill(rows); } + filter.setStartIndex(startIndex); + filter.setEndIndex(endIndex); + return result; } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -38,6 +38,8 @@ import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.ContactFilter; import fr.ifremer.wao.bean.ContactFilterImpl; +import fr.ifremer.wao.bean.ContactFilterValues; +import fr.ifremer.wao.bean.ContactFilterValuesImpl; import fr.ifremer.wao.bean.ContactState; import fr.ifremer.wao.bean.ContactStatus; import fr.ifremer.wao.bean.ContactStatus.NullSampleMonthException; @@ -109,6 +111,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Date; import java.util.GregorianCalendar; import java.util.HashMap; @@ -1524,4 +1527,30 @@ return contactFilter; } + + @Override + protected ContactFilterValues executeGetPossibleValuesForFilter(TopiaContext transaction, ContactFilter filter) throws Exception { + + // Dont use index + Integer startIndex = filter.getStartIndex(); + Integer endIndex = filter.getEndIndex(); + filter.setStartIndex(null); + filter.setEndIndex(null); + Map<String, Contact> contacts = executeGetContacts(transaction, filter); + filter.setStartIndex(startIndex); + filter.setEndIndex(endIndex); + + ContactFilterValues result = new ContactFilterValuesImpl(); + List<SampleRow> rows = extractSampleRows(contacts.values()); + result.fill(rows); + return result; + } + + protected List<SampleRow> extractSampleRows(Collection<Contact> contacts) { + List<SampleRow> result = new ArrayList<SampleRow>(); + for (Contact contact : contacts) { + result.add(contact.getSampleRow()); + } + return result; + } } 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-07 08:43:29 UTC (rev 1153) +++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-04-07 08:43:40 UTC (rev 1154) @@ -164,6 +164,7 @@ wao.error.serviceContact.getContacts= wao.error.serviceContact.getNbContacts= wao.error.serviceContact.getNewContact= +wao.error.serviceContact.getPossibleValuesForFilter= wao.error.serviceContact.importContactCsv= wao.error.serviceContact.newContactFilter= wao.error.serviceContact.saveComment= @@ -211,6 +212,7 @@ wao.error.serviceSampling.getSampleRowsOrderedByFishingZone= wao.error.serviceSampling.importSamplingPlanCsv= wao.error.serviceSampling.newSamplingFilter= +wao.error.serviceSampling.validateSampleRow= wao.error.serviceSynthesis.getAllIndicatorLogs= wao.error.serviceSynthesis.getBoardingBoats= wao.error.serviceSynthesis.getComplianceBoardingIndicator= 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-07 08:43:29 UTC (rev 1153) +++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-04-07 08:43:40 UTC (rev 1154) @@ -164,6 +164,7 @@ wao.error.serviceContact.getContacts=Impossible de filtrer la liste des contacts wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00E9s wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact +wao.error.serviceContact.getPossibleValuesForFilter= wao.error.serviceContact.importContactCsv=Impossible d'importer les contacts wao.error.serviceContact.newContactFilter= wao.error.serviceContact.saveComment= @@ -211,6 +212,7 @@ wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage wao.error.serviceSampling.importSamplingPlanCsv=Erreur \u00E0 la ligne %1$d [CODE \= %2$s] wao.error.serviceSampling.newSamplingFilter= +wao.error.serviceSampling.validateSampleRow= wao.error.serviceSynthesis.getAllIndicatorLogs= wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es du graphique concernant les embarquements sur les navires wao.error.serviceSynthesis.getComplianceBoardingIndicator= Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Added: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/ContactFilterManager.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/ContactFilterManager.java (rev 0) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/ContactFilterManager.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -0,0 +1,67 @@ +package fr.ifremer.wao.ui.base; + +import fr.ifremer.wao.bean.ConnectedUser; +import fr.ifremer.wao.bean.ContactFilter; +import fr.ifremer.wao.bean.ContactFilterValues; +import fr.ifremer.wao.bean.ContactState; +import fr.ifremer.wao.service.ServiceContact; +import org.apache.tapestry5.SelectModel; +import org.apache.tapestry5.ioc.Messages; +import org.apache.tapestry5.util.EnumSelectModel; + +import java.util.List; + +/** + * @author sletellier <letellier at codelutin.com> + */ +public class ContactFilterManager extends FilterManager<ContactFilter> { + + protected ServiceContact serviceContact; + + /* + * Datas + */ + protected ContactFilterValues possibleValuesForFilter; + + public ContactFilterManager(ConnectedUser user, ServiceContact serviceContact) { + super(user); + this.serviceContact = serviceContact; + } + + @Override + public void resetFilter() { + filter = serviceContact.newContactFilter(user); + } + + @Override + protected boolean isAvailableDataForFiltersOnly() { + return false; + } + + @Override + public void updateSearchFields() { + updatePossibleValuesForFilter(); + } + + public ContactFilterValues getPossibleValuesForFilter() { + return getPossibleValuesForFilter(false); + } + + public ContactFilterValues updatePossibleValuesForFilter() { + return getPossibleValuesForFilter(true); + } + + protected ContactFilterValues getPossibleValuesForFilter(boolean update) { + if (update || possibleValuesForFilter == null) { + possibleValuesForFilter = serviceContact.getPossibleValuesForFilter(getFilter()); + } + return possibleValuesForFilter; + } + + public SelectModel getContactStateSelectModel(Messages messages) { + List<ContactState> allowedStates = ContactState.getAllowedStates(user.getProfile().getObsProgram()); + return new EnumSelectModel(ContactState.class, messages, + // just convert list to array + allowedStates.toArray(new ContactState[allowedStates.size()])); + } +} Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingFilterManager.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingFilterManager.java 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/base/SamplingFilterManager.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -27,6 +27,7 @@ import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.bean.SamplingFilterValues; import fr.ifremer.wao.service.ServiceSampling; +import org.nuiton.util.PeriodDates; /** * @author sletellier <letellier at codelutin.com> @@ -58,7 +59,13 @@ @Override public void resetFilter() { + // Don't reset period in filters + PeriodDates period = (filter == null ? null : filter.getPeriod()); filter = serviceSampling.newSamplingFilter(user); + + if (period != null) { + filter.setPeriod(period); + } } @Override Deleted: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/AbstractFilterComponent.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/AbstractFilterComponent.java 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/AbstractFilterComponent.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -1,109 +0,0 @@ -package fr.ifremer.wao.ui.components; - -import fr.ifremer.wao.bean.SamplingFilter; -import fr.ifremer.wao.ui.base.FilterManager; -import org.apache.tapestry5.ComponentResources; -import org.apache.tapestry5.annotations.InjectComponent; -import org.apache.tapestry5.annotations.Parameter; -import org.apache.tapestry5.annotations.Persist; -import org.apache.tapestry5.corelib.components.Zone; -import org.apache.tapestry5.ioc.annotations.Inject; -import org.slf4j.Logger; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; - -/** - * @author sletellier <letellier at codelutin.com> - */ -public abstract class AbstractFilterComponent<E extends SamplingFilter, F extends FilterManager<E>> { - - @Inject - private Logger log; - - @Inject - private ComponentResources resources; - - @Parameter(required = true) - private F filterManager; - - @Parameter(required = false) - private Boolean visibleOnStartup; - - @InjectComponent - private Zone filtersZone; - - @Persist - private Boolean filtersVisible; - - public ComponentResources getResources() { - return resources; - } - - // True by default - public Boolean getVisibleOnStartup() { - if (visibleOnStartup == null) { - visibleOnStartup = true; - } - return visibleOnStartup; - } - - public Boolean getFiltersVisible() { - if (filtersVisible == null) { - filtersVisible = getVisibleOnStartup(); - } - return filtersVisible; - } - - public void setFiltersVisible(Boolean filtersVisible) { - this.filtersVisible = filtersVisible; - } - - public void switchFiltersVisible() { - filtersVisible = !filtersVisible; - } - - public Zone getFiltersZone() { - return filtersZone; - } - - public E getFilter() { - return filterManager.getFilter(); - } - - public F getFilterManager() { - return filterManager; - } - - public void setFilterManager(F filterManager) { - this.filterManager = filterManager; - } - - public DateFormat getDateFormat() { - return new SimpleDateFormat("MM/yyyy"); - } - - /** - * Activate reset filter - */ - private boolean reset; - private boolean refresh; - - public boolean isReset() { - return reset; - } - - public boolean isRefresh() { - return refresh; - } - - public void onSelectedFromReset() { - reset = true; - } - - public void onSelectedFromRefresh() { - refresh = true; - } - - public abstract Object onSuccessFromFiltersForm(); -} Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/BoatFilterComponent.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/BoatFilterComponent.java 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/BoatFilterComponent.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -9,7 +9,7 @@ /** * @author sletellier <letellier at codelutin.com> */ -public class BoatFilterComponent extends AbstractFilterComponent<BoatFilter, BoatFilterManager> { +public class BoatFilterComponent extends FilterComponent<BoatFilter, BoatFilterManager> { @InjectComponent private FeedBack filterFeedback; @@ -24,24 +24,6 @@ return getFilterManager().getPossibleValuesForFilter(); } - @Override - public Object onSuccessFromFiltersForm() { - if (isReset()) { - getFilterManager().resetFilter(); - } - - // Limite search panel - getFilterManager().updatePossibleValuesForFilter(); - - if (isRefresh()) { - // Refresh search panel - return this; - } else { - // Refresh owner - return getResources().getContainer(); - } - } - public String[] onProvideCompletionsFromShipOwnerName(String input) { return getFilterManager().getShipOwnerNamesContains(input); } @@ -49,4 +31,8 @@ public String[] onProvideCompletionsFromBoatName(String input) throws WaoException { return getFilterManager().getBoatNamesStartWith(input); } + + public boolean isSampleRowExists() { + return getFilterManager().isSampleRowExists(); + } } Added: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/ContactFilterComponent.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/ContactFilterComponent.java (rev 0) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/ContactFilterComponent.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -0,0 +1,31 @@ +package fr.ifremer.wao.ui.components; + +import fr.ifremer.wao.bean.ConnectedUser; +import fr.ifremer.wao.bean.ContactFilter; +import fr.ifremer.wao.bean.ContactFilterValues; +import fr.ifremer.wao.ui.base.ContactFilterManager; +import org.apache.tapestry5.SelectModel; +import org.apache.tapestry5.ioc.Messages; +import org.apache.tapestry5.ioc.annotations.Inject; + +/** + * @author sletellier <letellier at codelutin.com> + */ +public class ContactFilterComponent extends FilterComponent<ContactFilter, ContactFilterManager> { + + @Inject + private Messages messages; + + public ConnectedUser getUser() { + return getFilterManager().getUser(); + } + + public ContactFilterValues getPossibleValuesForFilter() { + + return getFilterManager().getPossibleValuesForFilter(); + } + + public SelectModel getContactStateSelectModel() { + return getFilterManager().getContactStateSelectModel(messages); + } +} Copied: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FilterComponent.java (from rev 1143, trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/AbstractFilterComponent.java) =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FilterComponent.java (rev 0) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/FilterComponent.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -0,0 +1,124 @@ +package fr.ifremer.wao.ui.components; + +import fr.ifremer.wao.bean.SamplingFilter; +import fr.ifremer.wao.ui.base.FilterManager; +import org.apache.tapestry5.ComponentResources; +import org.apache.tapestry5.annotations.InjectComponent; +import org.apache.tapestry5.annotations.Parameter; +import org.apache.tapestry5.annotations.Persist; +import org.apache.tapestry5.corelib.components.Zone; +import org.apache.tapestry5.ioc.annotations.Inject; +import org.slf4j.Logger; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; + +/** + * @author sletellier <letellier at codelutin.com> + */ +public abstract class FilterComponent<E extends SamplingFilter, F extends FilterManager<E>> { + + @Inject + private Logger log; + + @Inject + private ComponentResources resources; + + @Parameter(required = true) + private F filterManager; + + @Parameter(required = false) + private Boolean visibleOnStartup; + + @InjectComponent + private Zone filtersZone; + + @Persist + private Boolean filtersVisible; + + public ComponentResources getResources() { + return resources; + } + + // True by default + public Boolean getVisibleOnStartup() { + if (visibleOnStartup == null) { + visibleOnStartup = true; + } + return visibleOnStartup; + } + + public Boolean getFiltersVisible() { + if (filtersVisible == null) { + filtersVisible = getVisibleOnStartup(); + } + return filtersVisible; + } + + public void setFiltersVisible(Boolean filtersVisible) { + this.filtersVisible = filtersVisible; + } + + public void switchFiltersVisible() { + filtersVisible = !filtersVisible; + } + + public Zone getFiltersZone() { + return filtersZone; + } + + public E getFilter() { + return filterManager.getFilter(); + } + + public F getFilterManager() { + return filterManager; + } + + public void setFilterManager(F filterManager) { + this.filterManager = filterManager; + } + + public DateFormat getDateFormat() { + return new SimpleDateFormat("MM/yyyy"); + } + + /** + * Activate reset filter + */ + private boolean reset; + private boolean refresh; + + public boolean isReset() { + return reset; + } + + public boolean isRefresh() { + return refresh; + } + + public void onSelectedFromReset() { + reset = true; + } + + public void onSelectedFromRefresh() { + refresh = true; + } + + public Object onSuccessFromFiltersForm() { + if (isReset()) { + getFilterManager().resetFilter(); + } + + // Limite search panel + getFilterManager().updateSearchFields(); + + if (isRefresh()) { + // Refresh search panel + return this; + } else { + // Refresh owner + return getResources().getContainer(); + } + } +} Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -27,12 +27,11 @@ import fr.ifremer.wao.bean.SamplingFilterValues; import fr.ifremer.wao.ui.base.SamplingFilterManager; import org.apache.tapestry5.annotations.Parameter; -import org.nuiton.util.PeriodDates; /** * @author sletellier <letellier at codelutin.com> */ -public class SamplingFilterComponent extends AbstractFilterComponent<SamplingFilter, SamplingFilterManager> { +public class SamplingFilterComponent extends FilterComponent<SamplingFilter, SamplingFilterManager> { @Parameter(required = false) private Boolean showEstimatedTides; @@ -55,30 +54,4 @@ public String getLegendMsg() { return legendMsg; } - - /** - * Do filtering - * - * @return owner (for refresh) if filter is edited - */ - @Override - public Object onSuccessFromFiltersForm() { - if (isReset()) { - // Don't reset period in filters - PeriodDates period = getFilter().getPeriod(); - getFilterManager().resetFilter(); - getFilter().setPeriod(period); - } - - // Limite search panel - getFilterManager().updatePossibleValuesForFilter(); - - if (isRefresh()) { - // Refresh search panel - return getFiltersZone().getBody(); - } else { - // Refresh owner - return getResources().getContainer(); - } - } } Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/TopiaEntitySelector.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/TopiaEntitySelector.java 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/TopiaEntitySelector.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -72,6 +72,9 @@ private Boolean multiple; @Parameter(required = false) + private Boolean disabled; + + @Parameter(required = false) private E selectedValue; @Parameter(required = false) @@ -191,6 +194,17 @@ this.multiple = multiple; } + public Boolean getDisabled() { + if (disabled == null) { + disabled = false; + } + return disabled; + } + + public void setDisabled(Boolean disabled) { + this.disabled = disabled; + } + /** * Model used by {@link fr.ifremer.wao.ui.components.TopiaEntitySelector} * Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -26,7 +26,6 @@ import fr.ifremer.wao.WaoException; import fr.ifremer.wao.bean.BoatFilter; -import fr.ifremer.wao.bean.BoatFilterImpl; import fr.ifremer.wao.bean.CompanyBoatInfos; import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.SamplingFilter; @@ -36,17 +35,14 @@ import fr.ifremer.wao.entity.Company; import fr.ifremer.wao.entity.Contact; import fr.ifremer.wao.entity.ElligibleBoat; -import fr.ifremer.wao.entity.Profession; import fr.ifremer.wao.entity.SampleRow; import fr.ifremer.wao.service.ServiceBoat; import fr.ifremer.wao.service.ServiceContact; import fr.ifremer.wao.service.ServiceReferential; import fr.ifremer.wao.service.ServiceSampling; import fr.ifremer.wao.service.ServiceUser; -import fr.ifremer.wao.ui.base.AbstractFilteredPage; import fr.ifremer.wao.ui.base.BoatFilterManager; import fr.ifremer.wao.ui.components.BoatFilterComponent; -import fr.ifremer.wao.ui.components.FeedBack; import fr.ifremer.wao.ui.components.Layout; import fr.ifremer.wao.ui.data.BoatDataSource; import fr.ifremer.wao.ui.data.ExportStreamResponse; @@ -56,7 +52,6 @@ import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.StringUtils; import org.apache.tapestry5.Block; -import org.apache.tapestry5.EventContext; import org.apache.tapestry5.Link; import org.apache.tapestry5.PersistenceConstants; import org.apache.tapestry5.StreamResponse; Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Contacts.java 2011-04-07 08:43:40 UTC (rev 1154) @@ -28,20 +28,17 @@ import fr.ifremer.wao.WaoException; import fr.ifremer.wao.bean.ConnectedUser; import fr.ifremer.wao.bean.ContactFilter; -import fr.ifremer.wao.bean.ContactFilterImpl; import fr.ifremer.wao.bean.ContactState; import fr.ifremer.wao.bean.SamplingFilter; import fr.ifremer.wao.bean.UserRole; import fr.ifremer.wao.bean.ValidationResult; import fr.ifremer.wao.entity.Contact; -import fr.ifremer.wao.entity.ContactStateMotif; -import fr.ifremer.wao.entity.TerrestrialLocation; import fr.ifremer.wao.entity.WaoUser; import fr.ifremer.wao.io.ImportResults; import fr.ifremer.wao.service.ServiceContact; import fr.ifremer.wao.service.ServiceReferential; import fr.ifremer.wao.service.ServiceUser; -import fr.ifremer.wao.ui.base.AbstractFilteredPage; +import fr.ifremer.wao.ui.base.ContactFilterManager; import fr.ifremer.wao.ui.components.Layout; import fr.ifremer.wao.ui.data.ContactDataSource; import fr.ifremer.wao.ui.data.ExportStreamResponse; @@ -52,7 +49,6 @@ import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.StringUtils; import org.apache.tapestry5.ComponentResources; -import org.apache.tapestry5.SelectModel; import org.apache.tapestry5.StreamResponse; import org.apache.tapestry5.annotations.Environmental; import org.apache.tapestry5.annotations.Import; @@ -69,16 +65,12 @@ import org.apache.tapestry5.services.BeanModelSource; import org.apache.tapestry5.services.javascript.JavaScriptSupport; import org.apache.tapestry5.upload.services.UploadedFile; -import org.apache.tapestry5.util.EnumSelectModel; import org.slf4j.Logger; import java.io.IOException; import java.io.InputStream; import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.GregorianCalendar; import java.util.List; /** @@ -92,7 +84,7 @@ @SuppressWarnings({"UnusedDeclaration"}) @RequiresAuthentication(allowedRoles = {UserRole.ADMIN, UserRole.COORDINATOR, UserRole.OBSERVER}) @Import(stylesheet = "context:css/contacts.css") -public class Contacts extends AbstractFilteredPage { +public class Contacts { @Inject private Logger logger; @@ -116,6 +108,20 @@ @Inject private Messages messages; + @Persist + private ContactFilterManager filterManager; + + public ContactFilterManager getFilterManager() { + if (filterManager == null) { + filterManager = new ContactFilterManager(user, serviceContact); + } + return filterManager; + } + + public void setFilterManager(ContactFilterManager filterManager) { + this.filterManager = filterManager; + } + public String getLabelForEnum(Enum value) { return messages.get(value.getDeclaringClass().getSimpleName() + "." + value.name()); } @@ -123,17 +129,10 @@ @Log void setupRender() throws WaoException { contacts = null; - // Initialize filters if needed - if (isFiltersVisible()) { - initSelectFilters(true, true, true); - } // Initialize fullView to true for admin user if (fullView == null) { fullView = user.isAdmin(); } - - // The company of connected user will be contributed to abstractFilteredPage - initCompanyFilter(); } @Log @@ -146,8 +145,8 @@ @Persist private ContactFilter contactFilter; - @InjectComponent - private Zone filtersZone; +// @InjectComponent +// private Zone filtersZone; @InjectComponent private Zone importExportZone; @@ -158,13 +157,7 @@ private ContactState stateFilter; public ContactFilter getContactFilter() throws WaoException { - if (contactFilter == null) { - if (logger.isDebugEnabled()) { - logger.debug("Init contactFilter"); - } - contactFilter = serviceContact.newContactFilter(user); - } - return contactFilter; + return getFilterManager().getFilter(); } public boolean isFiltersVisible() { @@ -174,22 +167,10 @@ StringUtils.isEmpty(getContactFilter().getBoatName()); } - @Override protected SamplingFilter getFilter() throws WaoException { return getContactFilter(); } - @Override - protected boolean isAvailableDataForFiltersOnly() { - return false; - } - - Object onActionFromShowFilters() { - // Initialize filters - initSelectFilters(true, true, true); - return filtersZone.getBody(); - } - Object onActionFromShowImportExport() { return importExportZone.getBody(); } @@ -198,90 +179,90 @@ reset = true; } - @Log - Object onSuccessFromFiltersForm() throws WaoException { - if (StringUtils.isNotEmpty(contactStateMotifId)) { - getContactFilter().setContactStateMotif(getContactStateMotifSelectModel().findObject(contactStateMotifId)); - } - if (isEdited()) { - return filtersZone.getBody(); - } - if (reset) { - contactFilter = null; - } -// else { -// filtersVisible = true; +// @Log +// Object onSuccessFromFiltersForm() throws WaoException { +// if (StringUtils.isNotEmpty(contactStateMotifId)) { +// getContactFilter().setContactStateMotif(getContactStateMotifSelectModel().findObject(contactStateMotifId)); // } - return this; - } +// if (isEdited()) { +// return filtersZone.getBody(); +// } +// if (reset) { +// contactFilter = null; +// } +//// else { +//// filtersVisible = true; +//// } +// return this; +// } - public void onChangeFromSampleRow(String sampleRowId) { - getFilter().setSampleRow(getSampleRowSelectModel().findObject(sampleRowId)); - if (logger.isDebugEnabled()) { - logger.debug("change sample row code in filter to " + getFilter().getSampleRow()); - } - } +// public void onChangeFromSampleRow(String sampleRowId) { +// getFilter().setSampleRow(getSampleRowSelectModel().findObject(sampleRowId)); +// if (logger.isDebugEnabled()) { +// logger.debug("change sample row code in filter to " + getFilter().getSampleRow()); +// } +// } @Inject private ServiceReferential serviceReferential; - @Property - @Persist - private String terrestrialLocationId; +// @Property +// @Persist +// private String terrestrialLocationId; - public Zone onValueChangedTerrestrialDistrict(String terrestrialDistrictId) { - updateLocation(terrestrialDistrictId); - return filtersZone; - } +// public Zone onValueChangedTerrestrialDistrict(String terrestrialDistrictId) { +// updateLocation(terrestrialDistrictId); +// return filtersZone; +// } - private GenericSelectModel<TerrestrialLocation> terrestrialLocationSelectModel; +// private GenericSelectModel<TerrestrialLocation> terrestrialLocationSelectModel; +// +// public GenericSelectModel<TerrestrialLocation> getTerrestrialLocationSelectModel() { +// List<TerrestrialLocation> locations = new ArrayList<TerrestrialLocation>(); +// if (getFilter().getTerrestrialDistrict() != null) { +// // it may occurs if the user reset the filters +// serviceReferential.getAllTerrestrialLocations(getContactFilter(), +// getFilter().getTerrestrialDistrict().getDistrictCode()); +// } +// terrestrialLocationSelectModel = new GenericSelectModel<TerrestrialLocation>(locations, +// TerrestrialLocation.class, "description", TerrestrialLocation.TOPIA_ID, propertyAccess); +// return terrestrialLocationSelectModel; +// } - public GenericSelectModel<TerrestrialLocation> getTerrestrialLocationSelectModel() { - List<TerrestrialLocation> locations = new ArrayList<TerrestrialLocation>(); - if (getFilter().getTerrestrialDistrict() != null) { - // it may occurs if the user reset the filters - serviceReferential.getAllTerrestrialLocations(getContactFilter(), - getFilter().getTerrestrialDistrict().getDistrictCode()); - } - terrestrialLocationSelectModel = new GenericSelectModel<TerrestrialLocation>(locations, - TerrestrialLocation.class, "description", TerrestrialLocation.TOPIA_ID, propertyAccess); - return terrestrialLocationSelectModel; - } +// public SelectModel getContactStateSelectModel() { +// List<ContactState> allowedStates = ContactState.getAllowedStates(user.getProfile().getObsProgram()); +// return new EnumSelectModel(ContactState.class, messages, +// // just convert list to array +// allowedStates.toArray(new ContactState[allowedStates.size()])); +// } - public SelectModel getContactStateSelectModel() { - List<ContactState> allowedStates = ContactState.getAllowedStates(user.getProfile().getObsProgram()); - return new EnumSelectModel(ContactState.class, messages, - // just convert list to array - allowedStates.toArray(new ContactState[allowedStates.size()])); - } +// @Property +// @Persist +// private String contactStateMotifId; +// +// private GenericSelectModel<ContactStateMotif> contactStateMotifSelectModel; +// +// public GenericSelectModel<ContactStateMotif> getContactStateMotifSelectModel() { +// if (contactStateMotifSelectModel == null) { +// if (contactFilter.getState() != null) { +// List<ContactStateMotif> motifs = serviceReferential.getAllContactStateMotifs(contactFilter.getState()); +// if (motifs.size() != 0) { +// contactStateMotifSelectModel = new GenericSelectModel<ContactStateMotif>( +// motifs, ContactStateMotif.class, "translation", ContactStateMotif.TOPIA_ID, propertyAccess); +// } +// } +// } +// return contactStateMotifSelectModel; +// } - @Property - @Persist - private String contactStateMotifId; +// public Zone onValueChangedFromState(ContactState contactState) { +// contactFilter.setState(contactState); +// // refresh +// contactStateMotifSelectModel = null; +// contactStateMotifId = null; +// return filtersZone; +// } - private GenericSelectModel<ContactStateMotif> contactStateMotifSelectModel; - - public GenericSelectModel<ContactStateMotif> getContactStateMotifSelectModel() { - if (contactStateMotifSelectModel == null) { - if (contactFilter.getState() != null) { - List<ContactStateMotif> motifs = serviceReferential.getAllContactStateMotifs(contactFilter.getState()); - if (motifs.size() != 0) { - contactStateMotifSelectModel = new GenericSelectModel<ContactStateMotif>( - motifs, ContactStateMotif.class, "translation", ContactStateMotif.TOPIA_ID, propertyAccess); - } - } - } - return contactStateMotifSelectModel; - } - - public Zone onValueChangedFromState(ContactState contactState) { - contactFilter.setState(contactState); - // refresh - contactStateMotifSelectModel = null; - contactStateMotifId = null; - return filtersZone; - } - /**************************** CONTACT IMPORT/EXPORT ***********************/ @Property Added: 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 (rev 0) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/ContactFilterComponent.tml 2011-04-07 08:43:40 UTC (rev 1154) @@ -0,0 +1,217 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter"> + <div t:type="zone" class="so-filters" t:id="filtersZone" t:visible="prop:filtersVisible" id="so-contacts-filters"> + <fieldset> + <legend>${message:wao.ui.misc.advancedSearch}</legend> + <div class="so-filters-form"> + <form t:type="form" t:id="filtersForm" t:zone="so-contacts-filters"> + <t:errors /> + <div class="t-beaneditor"> + <div> + <div style="float: left; margin-right: 15px;"> + <label for="sampleRow">${message:wao.ui.field.SampleRow.code} :</label><br /> + <t:topiaEntitySelector t:id="sampleRow" + t:multiple="true" + t:clazzName="SampleRow" + t:labelPropertyName="code" + t:values="possibleValuesForFilter.sampleRowsAsList" + t:selectedValues="filter.sampleRows" + size="6"/> + </div> + + <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 ??? --> + <select t:type="select" + t:id="state" + value="filter.state" + t:model="contactStateSelectModel"/> + <!-- t:zone="so-contacts-filters" --> + + <!-- TODO sletellier 20110407 : not yet implemented --> + <!--label for="stateMotif">${message:wao.ui.field.Contact.contactStateMotif} :</label> + <t:topiaEntitySelector t:id="stateMotif" + t:clazzName="ContactStateMotif" + t:labelPropertyName="translation" + t:values="possibleValuesForFilter.stateAsList" + t:selectedValues="filter.state"/> --> + <t:if t:test="user.admin"> + <label for="company">${message:wao.ui.entity.Company} :</label> + <t:topiaEntitySelector t:id="company" + t:clazzName="Company" + t:labelPropertyName="name" + t:values="possibleValuesForFilter.companiesAsList" + t:selectedValue="filter.company"/> + <!--input t:type="select" t:id="company" t:model="companySelectModel" value="companyId"/> + <input t:type="submit" class="ico22px refresh" t:id="refreshByCompany" value="Refresh" + title="Rafraîchir les filtres en fonction de la société sélectionnée"/--> + </t:if> + <label for="observer">${message:wao.ui.misc.observer} :</label> + <t:topiaEntitySelector t:id="observer" + t:clazzName="WaoUser" + t:labelPropertyName="fullName" + t:values="possibleValuesForFilter.observersAsList" + t:selectedValue="filter.observer"/> + <!--select t:type="select" t:id="observer" t:model="observerSelectModel" value="observerId" /--> + </div> + <p> </p> + <div> + <label>${message:wao.ui.entity.Boat} </label> + <label t:for="boatImmatriculation">${message:wao.ui.field.Boat.immatriculation} :</label> + <input t:type="textfield" + t:id="boatImmatriculation" + class="width50" + t:value="filter.boatImmatriculation" /> + + <label t:for="boatDistrictCode">${message:wao.ui.field.Boat.districtCode} :</label> + <input t:type="textfield" + t:id="boatDistrictCode" + class="width50" + t:value="filter.boatDistrictCode" /> + + <label t:for="facadeName">${message:wao.ui.field.FishingZone.facadeName} :</label> + <t:simpleSelector t:id="facadeName" + t:values="possibleValuesForFilter.facadeNamesAsList" + t:selectedValue="filter.facadeName"/> + <!--select t:type="select" t:id="facadeName" t:model="facadeSelectModel" value="filter.facadeName" /> + <input t:type="submit" class="ico22px refresh" t:id="refreshByFacade" value="${message:wao.ui.action.refresh}" /--> + <label for="sectorName">${message:wao.ui.field.FishingZone.sectorName} :</label> + <t:simpleSelector t:id="sectorName" + t:values="possibleValuesForFilter.sectorsNamesAsList" + t:selectedValue="filter.sectorName"/> + <!--select t:type="select" t:id="sectorName" t:model="sectorSelectModel" value="filter.sectorName" /> + <input t:type="submit" class="ico22px refresh" t:id="refreshBySector" value="Refresh" + title="Rafraîchir les métiers en fonction de la zone sélectionnée"/--> + </div> + <p> </p> + <t:if test="user.obsVente"> + <div> + <label>${message:wao.ui.field.SampleRow.terrestrialLocation} :</label> + <t:topiaEntitySelector t:id="terrestrialDistrict" + t:clazzName="TerrestrialLocation" + t:labelPropertyName="description" + t:values="possibleValuesForFilter.terrestrialDistrictsAsList" + t:selectedValue="filter.terrestrialDistrict"/> + <!--input t:type="select" t:id="terrestrialDistrict" t:zone="so-contacts-filters" t:model="terrestrialDistrictSelectModel" t:value="terrestrialDistrictId" /--> + <t:if test="filter.terrestrialDistrict"> + <label style="margin-left: 10px;">${message:wao.ui.field.Contact.terrestrialLocation} :</label> + <t:topiaEntitySelector t:id="terrestrialLocation" + t:clazzName="TerrestrialLocation" + t:labelPropertyName="description" + t:values="possibleValuesForFilter.terrestrialDistrictsAsList" + t:selectedValue="filter.terrestrialLocation"/> + <!--input t:type="select" t:model="terrestrialLocationSelectModel" t:value="terrestrialLocationId" /--> + </t:if> + </div> + <p> </p> + </t:if> + <div> + <t:if test="user.obsMer"> + <label>${message:wao.ui.misc.observations} :</label> + <input t:type="checkbox" t:id="mammalsObservation" value="filter.mammalsObservation" /> + <label for="mammalsObservation"> + <img src="${asset:context:img/eye-22px.png}" alt="${message:wao.ui.field.Contact.mammalsObservation}" /> + </label> + <label>${message:wao.ui.field.Contact.mammalsCapture} :</label> + <input t:type="checkbox" t:id="mammalsCapture" value="filter.mammalsCapture" /> + <label for="mammalsCapture"> + <img src="${asset:context:img/fishing-net-22px.png}" alt="${message:wao.ui.field.Contact.mammalsCapture}" /> + </label> + </t:if> + <label>${message:wao.ui.field.Contact.validationCompany} :</label> + <input t:type="checkbox" t:id="companyAccepted" value="filter.companyAccepted" /> + <label for="companyAccepted"> + <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.accepted}" /> + </label> + <input t:type="checkbox" t:id="companyRefused" value="filter.companyRefused" /> + <label t:for="companyRefused"> + <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.refused}" /> + </label> + <input t:type="checkbox" t:id="companyUndefined" value="filter.companyUndefined" /> + <label t:for="companyUndefined"> + <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" /> + </label> + <label>${message:wao.ui.field.Contact.validationProgram} :</label> + <input t:type="checkbox" t:id="programAccepted" value="filter.programAccepted" /> + <label t:for="programAccepted"> + <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.accepted}" /> + </label> + <input t:type="checkbox" t:id="programRefused" value="filter.programRefused" /> + <label t:for="programRefused"> + <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.refused}" /> + </label> + <input t:type="checkbox" t:id="programUndefined" value="filter.programUndefined" /> + <label t:for="programUndefined"> + <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" /> + </label> + <t:if test="user.obsMer"> + <t:unless t:test="user.observer"> + <label for="reliabilityFilter">${message:wao.ui.field.Contact.dataReliability} :</label> + <select t:type="select" t:id="reliabilityFilter" value="filter.dataReliability"/> + </t:unless> + </t:if> + <span style="margin-left: 15px;">${message:wao.ui.misc.comments} :</span> + <input t:type="checkbox" t:id="commentFilter" value="filter.comment" /> + <label for="commentFilter" style="margin-right: 5px;">${message:wao.ui.field.Contact.mainObserver}</label> + + <input t:type="checkbox" t:id="commentCompany" value="filter.commentCompany" /> + <label for="commentCompany" style="margin-right: 5px;">${message:wao.ui.entity.Company}</label> + + <input t:type="checkbox" t:id="commentAdmin" value="filter.commentAdmin" /> + <label for="commentAdmin" style="margin-right: 5px;">${message:wao.ui.form.program}</label> + </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" /> + + <label>${message:wao.ui.field.Contact.completeSampling}</label> + <input t:type="checkbox" t:id="completeSampling" value="filter.completeSampling" /> + <label for="completeSampling"> + <img src="${asset:context:img/true-22px.png}" alt="${message:wao.ui.misc.yes}" /> + </label> + <input t:type="checkbox" t:id="incompleteSampling" value="filter.incompleteSampling" /> + <label t:for="incompleteSampling"> + <img src="${asset:context:img/false-22px.png}" alt="${message:wao.ui.misc.no}" /> + </label> + <input t:type="checkbox" t:id="noSamplingCompleteness" value="filter.noSamplingCompleteness" /> + <label t:for="noSamplingCompleteness"> + <img src="${asset:context:img/help-22px.png}" alt="${message:wao.ui.misc.undefined}" /> + </label> + </t:if> + <div class="fleft" style="margin-top: 15px;"> + <input t:type="checkbox" t:id="sortedByBoardingDate" value="filter.sortedByBoardingDate" /> + <label for="sortedByBoardingDate">${message:wao.ui.form.sortByTideBegin}</label> + </div> + <div class="t-beaneditor-row aright"> + <input t:type="submit" class="ico22px refresh" t:id="refresh" + value="${message:wao.ui.filters.refresh}" + title="${message:wao.ui.filters.refresh}"/> + <input t:type="submit" + class="ico search-32px" + t:id="search" + value="Search" + title="${message:wao.ui.action.runSearch}" /> + + <input t:type="submit" + class="ico undo" + t:id="reset" + value="Reset" + title="${message:wao.ui.action.resetFields}" /> + </div> + </div> + </form> + </div> + </fieldset> + </div> +</html> \ No newline at end of file Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/TopiaEntitySelector.tml =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/TopiaEntitySelector.tml 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/TopiaEntitySelector.tml 2011-04-07 08:43:40 UTC (rev 1154) @@ -30,13 +30,15 @@ t:model="multipleModel" t:encoder="multipleModel" t:value="selectedValues" + t:disabled="disabled" size="${size}"/> <p:else> <input t:type="select" t:id="select" t:model="model" t:encoder="model" - t:value="selectedValue"/> + t:value="selectedValue" + t:disabled="disabled"/> </p:else> </t:if> </html> \ No newline at end of file Modified: trunk/wao-ui/src/main/webapp/Contacts.tml =================================================================== --- trunk/wao-ui/src/main/webapp/Contacts.tml 2011-04-07 08:43:29 UTC (rev 1153) +++ trunk/wao-ui/src/main/webapp/Contacts.tml 2011-04-07 08:43:40 UTC (rev 1154) @@ -57,8 +57,11 @@ </a> </t:if> </div> + +<t:contactFilterComponent t:id="filterComponent" + t:filterManager="filterManager"/> <!-- FILTRES --> -<div t:type="zone" class="so-filters" t:id="filtersZone" t:visible="prop:filtersVisible" id="so-contacts-filters"> +<!--div t:type="zone" class="so-filters" t:id="filtersZone" t:visible="prop:filtersVisible" id="so-contacts-filters"> <fieldset> <legend>${message:wao.ui.misc.advancedSearch}</legend> <div class="so-filters-form"> @@ -205,7 +208,7 @@ </form> </div> </fieldset> -</div> +</div--> <!-- IMPORT/EXPORT --> <div t:type="zone" class="so-filters" t:id="importExportZone" t:update="show" t:visible="false" id="so-contacts-importexport"> <fieldset>
participants (1)
-
sletellier@users.labs.libre-entreprise.org