Author: bleny Date: 2010-10-21 16:06:37 +0000 (Thu, 21 Oct 2010) New Revision: 702 Log: added filter on all synthesis ; refactoring done (break the build) Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java trunk/wao-business/src/main/xmi/wao.zargo trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java trunk/wao-ui/src/main/webapp/Synthesis.tml Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-10-21 14:51:31 UTC (rev 701) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2010-10-21 16:06:37 UTC (rev 702) @@ -180,83 +180,7 @@ * value. * @throws WaoException */ - @Deprecated - public BoardingResult executeGetBoardingBoats(TopiaContext transaction, - Company company, - Date fromDate) - throws TopiaException { - Map<String, Integer> map = new LinkedHashMap<String, Integer>(); - BoardingResult result = new BoardingResultImpl(); - result.setData(map); - // Initialize max boardings and its max key value - final int maxBoardings = 12; - final String maxBoardingsKey = maxBoardings + " +"; - - // Prepare map which contains for each entry the number of boardings - // for the key and the number of boats for the value. - for (int i = 1; i < maxBoardings; i++) { - map.put(String.valueOf(i), 0); - } - map.put(maxBoardingsKey, 0); - - ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); - // The number of boardings is the number of finished contacts - // Use fromDate to filter contacts finished from this date - // No need to use boat filter for this method - TopiaQuery query = dao.createQueryDoneContactsFromDate(null, fromDate); - - String contact = query.getMainAlias(); - String sampleRow = contact + "." + Contact.SAMPLE_ROW; - - // Only for sampleRows with averageTideTime less or equals to 2 days - query.addWhere(sampleRow + "." + SampleRow.AVERAGE_TIDE_TIME, Op.LE, 2.); - - // Add filter on sampleRow company if needed - if (company != null) { - query.addEquals(sampleRow + "." + SampleRow.COMPANY, company); - } - - // Prepare aliases for mapping results in select part - String countAlias = "nbBoardings"; - String boatAlias = "boat"; - // Use a map for each result with boat and its number of boardings - // Order by number of boardings to easily find the max value (the - // first result) - query.setSelect("new map(" + contact + "." + Contact.BOAT + " as " + - boatAlias + ", COUNT(*) as " + countAlias + ")"). - addGroup(contact + "." + Contact.BOAT). - addOrderDesc("COUNT(*)"); - - if (log.isTraceEnabled()) { - log.trace("Exec query : " + query); - } - - List<Map<String, Object>> nbBoardingsByBoat = transaction.findByQuery(query); - - if (!nbBoardingsByBoat.isEmpty()) { - for (Map<String, Object> row : nbBoardingsByBoat) { - Long count = (Long)row.get(countAlias); - int intValue = count.intValue(); - String value = count.toString(); - if (intValue >= maxBoardings) { - value = maxBoardingsKey; - } - // Increment the number of boats for the current number of - // boardings - Integer nbBoats = map.get(value); - map.put(value, nbBoats + 1); - } - - // Set the max boat and its number of boardings value - Map<String, Object> max = nbBoardingsByBoat.get(0); - result.setMaxBoardingBoat((Boat)max.get(boatAlias)); - Long maxValue = (Long)max.get(countAlias); - result.setMaxBoardingValue(maxValue.intValue()); - } - return result; - } - @Override public BoardingResult executeGetBoardingBoats(TopiaContext transaction, SamplingFilter filter) @@ -332,101 +256,8 @@ return result; } - - @Deprecated + // should be merged into getComplianceBoardingIndicator public Map<String, Double> executeGetNonComplianceBoardingIndicator( - TopiaContext transaction, Company company) throws TopiaException { - - // Carefull with results, the company may not be present in the map : - // only if there is no unfinished sampleRow or no contact done - Map<String, Double> results = new HashMap<String, Double>(); - - ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); - - // Only for done contacts with no constraint - TopiaQuery query = - dao.createQueryDoneContactsFromDate(null, null); - - // Prepare properties for query - String contactAlias = query.getMainAlias(); - String sampleRowProperty = - TopiaQuery.getProperty(contactAlias, Contact.SAMPLE_ROW); - String nbObservantsRealProperty = - TopiaQuery.getProperty(contactAlias, Contact.NB_OBSERVANTS); - - String sampleRowEndProperty = - TopiaQuery.getProperty(sampleRowProperty, SampleRow.PERIOD_END); - String companyProperty = - TopiaQuery.getProperty(sampleRowProperty, SampleRow.COMPANY); - String nbObservantsExpectedProperty = - TopiaQuery.getProperty(sampleRowProperty, SampleRow.NB_OBSERVANTS); - - String companyNameProperty = - TopiaQuery.getProperty(companyProperty, Company.NAME); - - // Only for unfinished sampleRows - query.addWhere(sampleRowEndProperty, Op.GE, context.getCurrentDate()); - - if (company != null) { - query.addEquals(companyProperty, company); - } - - // Prepare results - query.setSelect(companyNameProperty, "COUNT(*)"). - addGroup(companyNameProperty); - - if (log.isDebugEnabled()) { - log.debug("Query for total : " + query); - } - - List<Object[]> totalResults = transaction.findByQuery(query); - - // Use the same query and add the constraint of non compliance - //i.e. nbObservantsReal (contact) < nbObservantsExpected (sampleRow) -// query.addWhere(contact + "." + Contact.NB_OBSERVANTS + " < " + -// sampleRow + "." + SampleRow.NB_OBSERVANTS); - query.addWhere(new StringBuilder(nbObservantsRealProperty). - append(" < "). - append(nbObservantsExpectedProperty). - toString() - ); - - if (log.isDebugEnabled()) { - log.debug("Query for result : " + query); - } - - List<Object[]> diffResults = transaction.findByQuery(query); - - // Use the map to set the number of non compliance results - for (Object[] row : diffResults) { - String rowCompanyName = (String)row[0]; - Long rowCount = (Long)row[1]; - if (log.isDebugEnabled()) { - log.debug("result row : " + rowCompanyName + " = " + rowCount); - } - results.put(rowCompanyName, rowCount.doubleValue()); - } - - // Get the previous value from the map and make the division to have - // the result percent of non compliance. Put 0 in the map if no - // previous result is set - for (Object[] row : totalResults) { - String rowCompanyName = (String)row[0]; - Long rowCount = (Long)row[1]; - if (log.isDebugEnabled()) { - log.debug("total row : " + rowCompanyName + " = " + rowCount); - } - Double value = results.get(rowCompanyName); - if (value == null) { - results.put(rowCompanyName, 0.); - } else { - results.put(rowCompanyName, value / rowCount); - } - } - return results; - } - - public Map<String, Double> executeGetNonComplianceBoardingIndicator( TopiaContext transaction, SamplingFilter filter) throws TopiaException { // Carefull with results, the company may not be present in the map : @@ -523,24 +354,6 @@ return results; } - @Deprecated - protected Map<String, Double> executeGetComplianceBoardingIndicator( - TopiaContext transaction, Company company) throws Exception { - // here, we need compliance, so we get non-compliance values - // and we make the operation to switch - - Map<String, Double> nonCompliances = executeGetNonComplianceBoardingIndicator(transaction, company); - Map<String, Double> compliances = new HashMap<String, Double>(); - - // make the switch, fill compliances with data from nonCompliances - for (Map.Entry<String, Double> nonCompliance : nonCompliances.entrySet()) { - Double compliance = 1.0 - nonCompliance.getValue(); - compliances.put(nonCompliance.getKey(), compliance); - } - - return compliances; - } - @Override protected Map<String, Double> executeGetComplianceBoardingIndicator( TopiaContext transaction, SamplingFilter filter) throws Exception { @@ -559,136 +372,6 @@ return compliances; } - @Deprecated - public Collection<ContactStateStatistics> executeGetContactStateStatistics( - TopiaContext transaction, Company company, PeriodDates period) - throws TopiaException { - -// ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); - - // Only for contacts not refused by the program -// String contactAlias = "C"; -// String validationProgramProperty = -// TopiaQuery.getProperty(contactAlias, Contact.VALIDATION_PROGRAM); -// -// WaoQueryHelper.ContactProperty contactProperty = -// WaoQueryHelper.newContactProperty(); -// -// WaoQueryHelper.CompanyProperty companyProperty = -// contactProperty.observerProperty().companyProperty(); -// -// TopiaQuery query = dao.createQuery(contactProperty.$alias()). -// addWhere(WaoQueryHelper.format( -// "$1 IS NULL OR $1 = :booleanTrue", contactProperty.validationProgram()) -// ).addParam("booleanTrue", Boolean.TRUE); -//// addWhere(new StringBuilder(validationProgramProperty). -//// append(" IS NULL OR "). -//// append(validationProgramProperty). -//// append(" = :booleanTrue"). -//// toString() -//// ).addParam("booleanTrue", Boolean.TRUE); -// -//// String companyProperty = -//// TopiaQuery.getProperty(contactAlias, Contact.OBSERVER, WaoUser.COMPANY); -// -// if (company != null) { -// query.addEquals(companyProperty.$alias(), company); -// } -// -// if (period != null) { -// // Contacts include in the period -// period.initDayOfMonthExtremities(); -// -//// String tideBeginDateProperty = -//// TopiaQuery.getProperty(contactAlias, Contact.TIDE_BEGIN_DATE); -//// String createDateProperty = -//// TopiaQuery.getProperty(contactAlias, Contact.TOPIA_CREATE_DATE); -// query.addWhere(WaoQueryHelper.format( -// "($1 IS NOT NULL AND $1 BETWEEN :fromDate AND :thruDate)" + -// " OR ($1 IS NULL AND $2 BETWEEN :fromData AND :thurDate)", -// contactProperty.tideBeginDate(), -// contactProperty.topiaCreateDate()) -//// query.addWhere(new StringBuilder("("). -//// append(tideBeginDateProperty). -//// append(" IS NOT NULL AND "). -//// append(tideBeginDateProperty). -//// append(" BETWEEN :fromDate AND :thruDate)"). -//// append(" OR ("). -//// append(tideBeginDateProperty). -//// append(" IS NULL AND "). -//// append(createDateProperty). -//// append(" BETWEEN :fromDate AND :thruDate)"). -//// toString() -// ).addParam("fromDate", period.getFromDate()). -// addParam("thruDate", period.getThruDate()); -// } -// -//// String stateProperty = -//// TopiaQuery.getProperty(contactAlias, Contact.STATE); -//// String companyNameProperty = -//// TopiaQuery.getProperty(companyProperty, Company.NAME); -// -// query.addGroup(companyProperty.name(), contactProperty.state()). -// addOrder(companyProperty.name()). -// setSelect(companyProperty.name(), contactProperty.state(), "COUNT(*)"); - - WaoQueryHelper.ContactProperty contactProperty = - WaoQueryHelper.newContactProperty(); - - WaoQueryHelper.CompanyProperty companyProperty = - contactProperty.observerProperty().companyProperty(); - - TopiaQuery query = WaoQueryHelper.createQuery(contactProperty). - addWhere(WaoQueryHelper.format( - "$1 IS NULL OR $1 = :booleanTrue", - contactProperty.validationProgram()) - ).addParam("booleanTrue", Boolean.TRUE); - - if (company != null) { - query.addEquals(companyProperty.$alias(), company); - } - - if (period != null) { - // Contacts include in the period - period.initDayOfMonthExtremities(); - - query.addWhere(WaoQueryHelper.format( - "($1 IS NOT NULL AND $1 BETWEEN :fromDate AND :thruDate)" + - " OR ($1 IS NULL AND $2 BETWEEN :fromDate AND :thruDate)", - contactProperty.tideBeginDate(), - contactProperty.topiaCreateDate()) - ).addParam("fromDate", period.getFromDate()). - addParam("thruDate", period.getThruDate()); - } - - query.addGroup(companyProperty.name(), contactProperty.state()). - addOrder(companyProperty.name()). - setSelect(companyProperty.name(), contactProperty.state(), "COUNT(*)"); - - Map<String, ContactStateStatistics> results = new HashMap<String, ContactStateStatistics>(); - - List<Object[]> queryResults = transaction.findByQuery(query); - - for (Object[] row : queryResults) { - String rowCompanyName = (String)row[0]; - int rowState = (Integer)row[1]; - ContactState state = ContactState.valueOf(rowState); - Long rowCount = (Long)row[2]; - if (log.isDebugEnabled()) { - log.debug("res : " + rowCompanyName + " _ " + state + " _ " + rowCount); - } - ContactStateStatistics stats = results.get(rowCompanyName); - if (stats == null) { - stats = new ContactStateStatisticsImpl(); - stats.setCompanyName(rowCompanyName); - results.put(rowCompanyName, stats); - } - stats.addResult(state, rowCount.intValue()); - } - - return results.values(); - } - @Override public Collection<ContactStateStatistics> executeGetContactStateStatistics (TopiaContext transaction, SamplingFilter filter) @@ -749,72 +432,6 @@ return results.values(); } - @Deprecated - public Collection<ContactAverageReactivity> - executeGetContactDataInputDateReactivity(TopiaContext transaction, - Company company, PeriodDates period) throws TopiaException { - // Carefull with results, the company may not be present in the map : - // only if there is no unfinished sampleRow or no contact done - - Map<String, ContactAverageReactivity> results = new HashMap<String, ContactAverageReactivity>(); - - ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); - - TopiaQuery query = dao.createQueryDoneContactsFromDate(null, period.getFromDate()); - - String contactAlias = query.getMainAlias(); - String companyProperty = - TopiaQuery.getProperty(contactAlias, Contact.OBSERVER, WaoUser.COMPANY); - String companyNameProperty = - TopiaQuery.getProperty(companyProperty, Company.NAME); - String tideBeginDateProperty = - TopiaQuery.getProperty(contactAlias, Contact.TIDE_BEGIN_DATE); - String dataInputProperty = - TopiaQuery.getProperty(contactAlias, Contact.DATA_INPUT_DATE); - - if (company != null) { - query.addEquals(companyProperty, company); - } - //period.initDayOfMonthExtremities(); - - if (period.getThruDate() != null) { - query.addWhere(tideBeginDateProperty, Op.LE, period.getThruDate()); - } - - query.setSelect(companyNameProperty, dataInputProperty, tideBeginDateProperty); - - if (log.isDebugEnabled()) { - log.debug("Query : " + query); - } - - List<Object[]> res = transaction.findByQuery(query); - - for (Object[] row : res) { - String rowCompanyName = (String)row[0]; - Date rowDataInputDate = (Date)row[1]; - Date rowTideBeginDate = (Date)row[2]; - - int nbDays = DateUtil.getDifferenceInDays(rowTideBeginDate, rowDataInputDate); - - if (log.isDebugEnabled()) { - log.debug("Company : " + rowCompanyName); - log.debug("tideBegin : " + rowTideBeginDate); - log.debug("dataInput : " + rowDataInputDate); - log.debug("nbDays : " + nbDays); - } - - ContactAverageReactivity avg = results.get(rowCompanyName); - if (avg == null) { - avg = new ContactAverageReactivityImpl(); - avg.setCompanyName(rowCompanyName); - results.put(rowCompanyName, avg); - } - - avg.addValue(nbDays); - } - return results.values(); - } - @Override public Collection<ContactAverageReactivity> executeGetContactDataInputDateReactivity(TopiaContext transaction, @@ -902,33 +519,6 @@ TopiaContext transaction, ContactFilter filter) throws TopiaException { - ContactDAO dao = WaoDAOHelper.getContactDAO(transaction); - -// WaoQueryHelper.ContactProperty contactProperty = -// WaoQueryHelper.newContactProperty(); -// -// WaoQueryHelper.BoatDistrictProperty boatDistrictProperty = -// contactProperty.boatProperty().boatDistrictProperty(); -// -// TopiaQuery query = dao.createQuery(contactProperty.$alias()). -// // Only districts with no null coordinates -// addNotNull(boatDistrictProperty.latitude()). -// addNotNull(boatDistrictProperty.longitude()). -// // Don't take contacts refused by company or program -// addNullOr(contactProperty.validationCompany(), Op.NEQ, Boolean.FALSE). -// addNullOr(contactProperty.validationProgram(), Op.NEQ, Boolean.FALSE); -// -// if (company != null) { -// query.addEquals(contactProperty.observerProperty().company(), company); -// } - -// WaoQueryBuilder builder = dao.createQueryWithBoatDistrictCoordinates(filter); -// -// ContactProperty contactProperty = builder.getContactProperty(); -// -// BoatDistrictProperty boatDistrictProperty = -// contactProperty.boatProperty().boatDistrictProperty(); - WaoQueryBuilder builder = context.newQueryBuilder(); ContactProperty contactProperty = builder.initializeForContact(); @@ -1073,16 +663,15 @@ @Override protected GlobalSynthesisResult executeGetGlobalSynthesisResult - (TopiaContext transaction, Company company, PeriodDates period, - SamplingFilter filter) throws Exception { + (TopiaContext transaction, SamplingFilter filter) throws Exception { - Double value = 30.0; + Double value; Map<SynthesisId, Double> indicatorValues = new HashMap<SynthesisId, Double>(); - // value = getIndicatorValueForDataSampling(transaction, samplingFilter); + value = getIndicatorValueForDataSampling(transaction, filter); indicatorValues.put(SynthesisId.GRAPH_SAMPLING, value); - // value = getIndicatorValueForBoarding(transaction, company, fromDate); + value = getIndicatorValueForBoarding(transaction, filter); indicatorValues.put(SynthesisId.GRAPH_BOARDING, value); value = getIndicatorValueForComplianceBoarding(transaction, filter); Modified: trunk/wao-business/src/main/xmi/wao.zargo =================================================================== (Binary files differ) Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-10-21 14:51:31 UTC (rev 701) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Synthesis.java 2010-10-21 16:06:37 UTC (rev 702) @@ -150,8 +150,7 @@ if (globalSynthesisResult == null) { PeriodDates period = PeriodDates.createMonthsPeriodFromToday(-12); Company company = !user.isAdmin() ? user.getCompany() : null; - globalSynthesisResult = serviceSynthesis.getGlobalSynthesisResult( - company, period, getFilter()); + globalSynthesisResult = serviceSynthesis.getGlobalSynthesisResult(getFilter()); } return globalSynthesisResult; } @@ -214,30 +213,18 @@ return this; } - /********************* DYNAMICAL GRAPH : DATA SAMPLING ********************/ + /********************* FILTERS ********************************************/ @Persist private SamplingFilter dataSamplingFilter; - - @InjectComponent - private Zone filtersZone; - @Persist - private ChartType dataSamplingChartType; - - private boolean reset; - - private void initSamplingBlock() throws WaoException { - initSelectFilters(true, false, true); - } - @Override public SamplingFilter getFilter() throws WaoException { if (dataSamplingFilter == null) { dataSamplingFilter = new SamplingFilterImpl(); if (!user.isAdmin()) { dataSamplingFilter.setCompany(user.getCompany()); - } + } } return dataSamplingFilter; } @@ -258,6 +245,34 @@ return false; } + void onSelectedFromReset() { + reset = true; + } + + Object onSuccessFromFiltersForm() { + if (isEdited()) { + return filtersZone.getBody(); + } + if (reset) { + dataSamplingFilter = null; + } + return this; + } + + /********************* DYNAMICAL GRAPH : DATA SAMPLING ********************/ + + @InjectComponent + private Zone filtersZone; + + @Persist + private ChartType dataSamplingChartType; + + private boolean reset; + + private void initSamplingBlock() throws WaoException { + initSelectFilters(true, false, true); + } + public JFreeChart getDataSamplingChart() throws WaoException { List<SortedMap<Date, Integer>> res = serviceSynthesis.getDataSampling(getFilter()); Map<String, Map<?, Integer>> data = new HashMap<String, Map<?, Integer>>(); @@ -280,20 +295,6 @@ return dataSamplingChartType; } - void onSelectedFromReset() { - reset = true; - } - - Object onSuccessFromFiltersForm() { - if (isEdited()) { - return filtersZone.getBody(); - } - if (reset) { - dataSamplingFilter = null; - } - return this; - } - /********************* STATIC GRAPH : BOARDING BOAT ***********************/ private BoardingResult boardingResult; @@ -323,7 +324,7 @@ data.put("Navires", getBoardingResult().getData()); String title = "Sollicitations des navires depuis le " + - getDateFormat().format(getFromDate()); + getDateFormat().format(getFilter().getPeriod().getFromDate()); if (companyForBoarding != null) { title += "\nSociété " + companyForBoarding.getName(); @@ -340,29 +341,8 @@ return boardingResult; } - public Company getCompanyForBoarding() { - // Initialize only for an observer user. For admin, the company can - // be null to search boardings for all companies. - if (companyForBoarding == null && !user.isAdmin()) { - companyForBoarding = user.getCompany(); - } - if (log.isDebugEnabled()) { - log.debug("company : " + companyForBoarding); - } - return companyForBoarding; - } + /********************* INDICATOR : COMPLIANCE BOARDING ********************/ - public Date getFromDate() { - return DateUtil.createDateAfterToday(0, -12, 0); - } - - @Log - void onSuccessFromFilterCompanyForBoarding() throws WaoException { - companyForBoarding = getCompanySelectModel().findObject(companyIdForBoarding); - } - - /********************* INDICATOR : NON COMPLIANCE BOARDING ****************/ - private Map<String, Double> complianceBoarding; @Property @@ -382,7 +362,6 @@ complianceBoarding = serviceSynthesis.getComplianceBoardingIndicator(getFilter()); } - return complianceBoarding; } @@ -401,9 +380,6 @@ private Collection<ContactStateStatistics> contactStateStatistics; - @Persist - private PeriodDates periodForContactStates; - @Property private ContactStateStatistics contactStateStats; @@ -436,13 +412,6 @@ return contactStateStatistics; } - public PeriodDates getPeriodForContactStates() { - if (periodForContactStates == null) { - periodForContactStates = PeriodDates.createMonthsPeriodFromToday(-12); - } - return periodForContactStates; - } - /** * Get the value for current contactStateStats in table row (by company) * and current contactState in table column. @@ -471,9 +440,6 @@ private Collection<ContactAverageReactivity> allegroReactivity; - @Persist - private PeriodDates periodForAllegroReactivity; - @Property private ContactAverageReactivity allegroReactivityEntry; @@ -487,14 +453,10 @@ return allegroReactivity; } - public PeriodDates getPeriodForAllegroReactivity() { - if (periodForAllegroReactivity == null) { - periodForAllegroReactivity = PeriodDates.createMonthsPeriodFromToday(-3); - } - return periodForAllegroReactivity; - } - public Double getAllegroReactivityValue() throws WaoException { + + // FIXME bleny 20101021 in this case, what occurs in indicator ? + if (!getAllegroReactivity().isEmpty()) { ContactAverageReactivity entry = (ContactAverageReactivity) CollectionUtils.get(getAllegroReactivity(), 0); @@ -513,4 +475,4 @@ return ""; } -} +} \ No newline at end of file Modified: trunk/wao-ui/src/main/webapp/Synthesis.tml =================================================================== --- trunk/wao-ui/src/main/webapp/Synthesis.tml 2010-10-21 14:51:31 UTC (rev 701) +++ trunk/wao-ui/src/main/webapp/Synthesis.tml 2010-10-21 16:06:37 UTC (rev 702) @@ -86,6 +86,8 @@ </div> </fieldset> + <div class="mtop30" /> + <!-- MENU : delegator --> <div class="clearfix"> <div class="fleft" id="so-synthesis-menu"> @@ -158,14 +160,6 @@ <br /> <p>Ces résultats ne concernent que les lignes du plan d'échantillonnage<br /> ayant une durée moyenne de marées inférieure ou égale à 48h</p> <br /> - <t:if t:test="user.admin"> - <form t:type="form" t:id="filterCompanyForBoarding"> - <t:label t:for="companyForBoarding" />: - <input t:type="select" t:id="companyForBoarding" t:model="companySelectModel" value="companyIdForBoarding"/> - <input t:type="submit" class="ico search-32px" t:id="searchForBoarding" value="Search" - title="Création du graphique pour cette société"/> - </form> - </t:if> <t:chart t:width="600" t:height="400" t:chart="boardingBoatsChart" /> <t:if t:test="boardingResult.maxBoardingBoat"> <p> @@ -235,17 +229,6 @@ ceux qui ont été refusés par le programme. </p> <br /> - <p> - <form t:type="form" t:id="filterPeriodForContactStates"> - <label>Période : </label> - <t:label t:for="periodBeginForContactStates" /> - <input t:type="datefield" class="width70" t:id="periodBeginForContactStates" t:value="periodForContactStates.fromDate" t:format="MM/yyyy" t:validate="required"/> - <t:label t:for="periodEndForContactStates" /> - <input t:type="datefield" class="width70" t:id="periodEndForContactStates" t:value="periodForContactStates.thruDate" t:format="MM/yyyy" t:validate="required" /> - <input t:type="submit" class="ico search-32px" t:id="searchForContactStates" value="Search" - title="Rechercher les états des contacts sur cette période"/> - </form> - </p> <table class="t-data-grid"> <thead> <tr> @@ -288,17 +271,6 @@ Ce résultat est une moyenne du nombre de jours entre la date de saisie dans Allegro et la date de fin de la marée des contacts validés. </p> <br /> - <p> - <form t:type="form" t:id="filterPeriodForAllegroReactivity"> - <label>Période : </label> - <t:label t:for="periodBeginForAllegroReactivity" /> - <input t:type="datefield" class="width70" t:id="periodBeginForAllegroReactivity" t:value="periodForAllegroReactivity.fromDate" /> - <t:label t:for="periodEndForAllegroReactivity" /> - <input t:type="datefield" class="width70" t:id="periodEndForAllegroReactivity" t:value="periodForAllegroReactivity.thruDate" /> - <input t:type="submit" class="ico search-32px" t:id="searchForAllegroReactivity" value="Search" - title="Calcul de la moyenne du nombre de jours entre la date de saisie dans Allegro et la date de fin de marée sur la période sélectionnée"/> - </form> - </p> <t:if t:test="user.admin"> <table class="t-data-grid"> <thead>