r70 - in trunk: faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search faxtomail-ui-swing/src/main/resources/i18n
Author: kmorin Date: 2014-05-13 12:10:24 +0200 (Tue, 13 May 2014) New Revision: 70 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/70 Log: add reply date and user in search form Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.jaxx trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.jaxx trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIModel.java trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java 2014-05-13 10:10:24 UTC (rev 70) @@ -58,6 +58,7 @@ public static final String PROPERTY_PRINTING_BY = "printingBy"; public static final String PROPERTY_ARCHIVED_BY = "archivedBy"; public static final String PROPERTY_TRANSFER_BY = "transferBy"; + public static final String PROPERTY_REPLY_BY = "replyBy"; public static final String PROPERTY_MIN_MODIFICATION_DATE = "minModificationDate"; public static final String PROPERTY_MAX_MODIFICATION_DATE = "maxModificationDate"; public static final String PROPERTY_MIN_RECEPTION_DATE = "minReceptionDate"; @@ -68,6 +69,8 @@ public static final String PROPERTY_MAX_ARCHIVED_DATE = "maxArchivedDate"; public static final String PROPERTY_MIN_TRANSFER_DATE = "minTransferDate"; public static final String PROPERTY_MAX_TRANSFER_DATE = "maxTransferDate"; + public static final String PROPERTY_MIN_REPLY_DATE = "minReplyDate"; + public static final String PROPERTY_MAX_REPLY_DATE = "maxReplyDate"; public static final String PROPERTY_CLIENT_CODE = "clientCode"; protected String sender; @@ -108,6 +111,8 @@ protected FaxToMailUser archivedBy; + protected FaxToMailUser replyBy; + protected Date minModificationDate; protected Date maxModificationDate; @@ -128,6 +133,10 @@ protected Date maxArchivedDate; + protected Date minReplyDate; + + protected Date maxReplyDate; + protected String clientCode; public String getSender() { @@ -385,6 +394,16 @@ firePropertyChange(PROPERTY_ARCHIVED_BY, oldValue, archivedBy); } + public FaxToMailUser getReplyBy() { + return replyBy; + } + + public void setReplyBy(FaxToMailUser replyBy) { + FaxToMailUser oldValue = this.replyBy; + this.replyBy = replyBy; + firePropertyChange(PROPERTY_REPLY_BY, oldValue, replyBy); + } + public Date getMinTransferDate() { return minTransferDate; } @@ -424,4 +443,24 @@ this.maxArchivedDate = maxArchivedDate; firePropertyChange(PROPERTY_MAX_ARCHIVED_DATE, oldValue, maxArchivedDate); } + + public Date getMinReplyDate() { + return minReplyDate; + } + + public void setMinReplyDate(Date minReplyDate) { + Date oldValue = this.minReplyDate; + this.minReplyDate = minReplyDate; + firePropertyChange(PROPERTY_MIN_REPLY_DATE, oldValue, minReplyDate); + } + + public Date getMaxReplyDate() { + return maxReplyDate; + } + + public void setMaxReplyDate(Date maxReplyDate) { + Date oldValue = this.maxReplyDate; + this.maxReplyDate = maxReplyDate; + firePropertyChange(PROPERTY_MAX_REPLY_DATE, oldValue, maxReplyDate); + } } Modified: trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java =================================================================== --- trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java 2014-05-13 10:10:24 UTC (rev 70) @@ -191,6 +191,38 @@ query.append(")"); } + // email minReplyDate + if (emailFilter.getMinReplyDate() != null || emailFilter.getReplyBy() != null) { + query.append(" AND EXISTS (FROM " + History.class.getName() + " H WHERE H in elements(E." + Email.PROPERTY_HISTORY + ")"); + query.append(" AND H." + History.PROPERTY_TYPE + " = :replyType"); + args.put("replyType", HistoryType.REPLY); + if (emailFilter.getMinReplyDate() != null) { + query.append(" AND H." + History.PROPERTY_MODIFICATION_DATE + " >= :" + EmailFilter.PROPERTY_MIN_REPLY_DATE); + args.put(EmailFilter.PROPERTY_MIN_REPLY_DATE, emailFilter.getMinReplyDate()); + } + if (emailFilter.getReplyBy() != null) { + query.append(" AND H." + History.PROPERTY_FAX_TO_MAIL_USER + " = :" + EmailFilter.PROPERTY_REPLY_BY); + args.put(EmailFilter.PROPERTY_REPLY_BY, emailFilter.getReplyBy()); + } + query.append(")"); + } + + // email maxReplyDate + if (emailFilter.getMaxReplyDate() != null || emailFilter.getReplyBy() != null) { + query.append(" AND EXISTS (FROM " + History.class.getName() + " H WHERE H in elements(E." + Email.PROPERTY_HISTORY + ")"); + query.append(" AND H." + History.PROPERTY_TYPE + " = :replyType"); + args.put("replyType", HistoryType.REPLY); + if (emailFilter.getMaxReplyDate() != null) { + query.append(" AND H." + History.PROPERTY_MODIFICATION_DATE + " <= :" + EmailFilter.PROPERTY_MAX_REPLY_DATE); + args.put(EmailFilter.PROPERTY_MAX_REPLY_DATE, emailFilter.getMaxReplyDate()); + } + if (emailFilter.getReplyBy() != null) { + query.append(" AND H." + History.PROPERTY_FAX_TO_MAIL_USER + " = :" + EmailFilter.PROPERTY_REPLY_BY); + args.put(EmailFilter.PROPERTY_REPLY_BY, emailFilter.getReplyBy()); + } + query.append(")"); + } + // email sender if (StringUtils.isNotBlank(emailFilter.getSender())) { query.append(" AND lower(E." + Email.PROPERTY_SENDER + ") LIKE lower(:" + EmailFilter.PROPERTY_SENDER + ")"); Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.css 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.css 2014-05-13 10:10:24 UTC (rev 70) @@ -144,6 +144,27 @@ selectedItem: { model.getPrintingBy() }; } +#repliedBetweenLabel { + text: "faxtomail.search.repliedBetween.label"; +} + +#repliedBetweenStartDatePicker { + date: { model.getMinReplyDate() }; +} + +#repliedBetweenEndDatePicker { + date: { model.getMaxReplyDate() }; +} + +#repliedByLabel { + text: "faxtomail.demande.repliedBy.label"; +} + +#repliedByComboBox { + property: replyBy; + selectedItem: { model.getReplyBy() }; +} + #objectLabel { text: "faxtomail.demande.object.label"; } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.jaxx =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.jaxx 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUI.jaxx 2014-05-13 10:10:24 UTC (rev 70) @@ -193,7 +193,33 @@ </row> <row> + <cell anchor='west'> + <JLabel id='repliedBetweenLabel'/> + </cell> + <cell weightx='1'> + <JXDatePicker id='repliedBetweenStartDatePicker' + onActionPerformed="model.setMinReplyDate(repliedBetweenStartDatePicker.getDate())"/> + </cell> <cell> + <JLabel styleClass='between2ndPartLabel'/> + </cell> + <cell weightx='1'> + <JXDatePicker id='repliedBetweenEndDatePicker' + onActionPerformed="model.setMaxReplyDate(repliedBetweenEndDatePicker.getDate())"/> + </cell> + + <cell anchor='west'> + <JLabel id='repliedByLabel'/> + </cell> + <cell columns='3' weightx='2'> + <BeanFilterableComboBox id='repliedByComboBox' + constructorParams='this' + genericType="FaxToMailUser"/> + </cell> + </row> + + <row> + <cell> <JLabel id='senderLabel'/> </cell> <cell columns='3' weightx="1"> Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchToGroupUIHandler.java 2014-05-13 10:10:24 UTC (rev 70) @@ -127,6 +127,10 @@ initBeanFilterableComboBox(ui.getPrintedByComboBox(), getContext().getUserService().getAllUsers(), model.getPrintingBy()); + initBeanFilterableComboBox(ui.getRepliedByComboBox(), + getContext().getUserService().getAllUsers(), + model.getReplyBy()); + initCheckBoxComboBox(ui.getDocTypeComboBox(), referentielService.getAllDemandType(), model.getDemandType(), Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.css 2014-05-13 10:10:24 UTC (rev 70) @@ -149,6 +149,27 @@ selectedItem: { model.getPrintingBy() }; } +#repliedBetweenLabel { + text: "faxtomail.search.repliedBetween.label"; +} + +#repliedBetweenStartDatePicker { + date: { model.getMinReplyDate() }; +} + +#repliedBetweenEndDatePicker { + date: { model.getMaxReplyDate() }; +} + +#repliedByLabel { + text: "faxtomail.demande.repliedBy.label"; +} + +#repliedByComboBox { + property: replyBy; + selectedItem: { model.getReplyBy() }; +} + #objectLabel { text: "faxtomail.demande.object.label"; } Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.jaxx =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.jaxx 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUI.jaxx 2014-05-13 10:10:24 UTC (rev 70) @@ -204,7 +204,33 @@ </row> <row> + <cell anchor='west'> + <JLabel id='repliedBetweenLabel'/> + </cell> + <cell weightx='1'> + <JXDatePicker id='repliedBetweenStartDatePicker' + onActionPerformed="model.setMinReplyDate(repliedBetweenStartDatePicker.getDate())"/> + </cell> <cell> + <JLabel styleClass='between2ndPartLabel'/> + </cell> + <cell weightx='1'> + <JXDatePicker id='repliedBetweenEndDatePicker' + onActionPerformed="model.setMaxReplyDate(repliedBetweenEndDatePicker.getDate())"/> + </cell> + + <cell anchor='west'> + <JLabel id='repliedByLabel'/> + </cell> + <cell columns='3' weightx='2'> + <BeanFilterableComboBox id='repliedByComboBox' + constructorParams='this' + genericType="FaxToMailUser"/> + </cell> + </row> + + <row> + <cell> <JLabel id='senderLabel'/> </cell> <cell columns='3' weightx="1"> Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIHandler.java 2014-05-13 10:10:24 UTC (rev 70) @@ -127,6 +127,9 @@ initBeanFilterableComboBox(ui.getPrintedByComboBox(), getContext().getUserService().getAllUsers(), model.getPrintingBy()); + initBeanFilterableComboBox(ui.getRepliedByComboBox(), + getContext().getUserService().getAllUsers(), + model.getReplyBy()); initCheckBoxComboBox(ui.getDocTypeComboBox(), referentielService.getAllDemandType(), Modified: trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIModel.java =================================================================== --- trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIModel.java 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/search/SearchUIModel.java 2014-05-13 10:10:24 UTC (rev 70) @@ -181,6 +181,16 @@ firePropertyChanged(EmailFilter.PROPERTY_ARCHIVED_BY, oldValue, faxToMailUser); } + public FaxToMailUser getReplyBy() { + return editObject.getReplyBy(); + } + + public void setReplyBy(FaxToMailUser faxToMailUser) { + Object oldValue = getReplyBy(); + editObject.setReplyBy(faxToMailUser); + firePropertyChanged(EmailFilter.PROPERTY_REPLY_BY, oldValue, faxToMailUser); + } + public List<Priority> getPriority() { return editObject.getPriority(); } @@ -338,6 +348,26 @@ editObject.setMaxArchivedDate(maxArchivedDate); firePropertyChanged(EmailFilter.PROPERTY_MAX_ARCHIVED_DATE, oldValue, maxArchivedDate); } + + public Date getMinReplyDate() { + return editObject.getMinReplyDate(); + } + + public void setMinReplyDate(Date minReplyDate) { + Object oldValue = getMinReplyDate(); + editObject.setMinReplyDate(minReplyDate); + firePropertyChanged(EmailFilter.PROPERTY_MIN_REPLY_DATE, oldValue, minReplyDate); + } + + public Date getMaxReplyDate() { + return editObject.getMaxReplyDate(); + } + + public void setMaxReplyDate(Date maxReplyDate) { + Object oldValue = getMaxReplyDate(); + editObject.setMaxReplyDate(maxReplyDate); + firePropertyChanged(EmailFilter.PROPERTY_MAX_REPLY_DATE, oldValue, maxReplyDate); + } public Date getMinTransferDate() { return editObject.getMinTransferDate(); Modified: trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties =================================================================== --- trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-05-13 08:40:15 UTC (rev 69) +++ trunk/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties 2014-05-13 10:10:24 UTC (rev 70) @@ -102,6 +102,7 @@ faxtomail.demande.receivedDate.label=Reçu le faxtomail.demande.receptionDate.label=Date de réception faxtomail.demande.recipient.label=Destinataire +faxtomail.demande.repliedBy.label=Réponse par faxtomail.demande.reply.button.label=Répondre faxtomail.demande.save.button.label=Enregistrer faxtomail.demande.sender.label=Émetteur @@ -233,6 +234,7 @@ faxtomail.search.modifiedBy.label=Modifié par faxtomail.search.printedBetween.label=Imprimé entre le faxtomail.search.receivedBetween.label=Reçu entre le +faxtomail.search.repliedBetween.label=Réponse entre le faxtomail.search.resultNb=Nombre de résultats \: %s faxtomail.search.title=Recherche faxtomail.search.transferBetween.label=Transmit entre le
participants (1)
-
kmorin@users.forge.codelutin.com