This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 500d3d963cfd9f87e8aadecccd8d3ad9e9f4ef36 Author: Kevin Morin <morin@codelutin.com> Date: Thu Mar 10 14:42:40 2016 +0100 ajout du filtre sur la colonne subject (fixes #8103) --- .../faxtomail/persistence/entities/EmailFilter.java | 14 ++++++++++++++ .../faxtomail/persistence/entities/EmailTopiaDao.java | 11 +++++++++++ .../ui/swing/content/demande/DemandeListTableFilter.java | 4 ++++ .../ui/swing/content/demande/DemandeListUIHandler.java | 4 ++++ 4 files changed, 33 insertions(+) diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java index be500fe..1b767de 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java @@ -56,6 +56,7 @@ public class EmailFilter extends AbstractSerializableBean { public static final String PROPERTY_EDI_CODE_NUMBERS = "ediCodeNumbers"; public static final String PROPERTY_LAST_ATTACHMENT_OPENERS = "lastAttachmentOpeners"; public static final String PROPERTY_WAITING_STATES = "waitingStates"; + public static final String PROPERTY_SUBJECTS = "subjects"; protected Set<Priority> priorities; @@ -102,6 +103,8 @@ public class EmailFilter extends AbstractSerializableBean { protected Set<WaitingState> waitingStates; + protected Set<String> subjects; + public Set<Priority> getPriorities() { return priorities; } @@ -300,6 +303,16 @@ public class EmailFilter extends AbstractSerializableBean { firePropertyChange(PROPERTY_WAITING_STATES,null, waitingStates); } + public Set<String> getSubjects() { + return subjects; + } + + public void setSubjects(Set<String> subjects) { + Object oldValue = getSubjects(); + this.subjects = subjects; + firePropertyChange(PROPERTY_SUBJECTS, oldValue, subjects); + } + public void clear() { setClientCodes(null); setWaitingStates(null); @@ -322,5 +335,6 @@ public class EmailFilter extends AbstractSerializableBean { setRecipients(null); setSavQuantities(null); setSenders(null); + setSubjects(null); } } diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java index 68b036c..5ce2399 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java @@ -948,6 +948,17 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { query.append(")"); } + Set<String> subjects = emailFilter.getSubjects(); + if (subjects != null) { + query.append(" AND (E." + Email.PROPERTY_SUBJECT + " in (:" + EmailFilter.PROPERTY_SUBJECTS + ")"); + args.put(EmailFilter.PROPERTY_SUBJECTS, subjects); + + if (subjects.contains(null)) { + query.append(" OR E." + Email.PROPERTY_SUBJECT + " IS NULL"); + } + query.append(")"); + } + return query.toString(); } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListTableFilter.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListTableFilter.java index e9981da..4dcc368 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListTableFilter.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListTableFilter.java @@ -163,6 +163,10 @@ public class DemandeListTableFilter extends AbstractTableFilter<JXTable> { case Email.PROPERTY_COMMENT: emailFilter.setComments(!filtered ? null : new HashSet<String>((Collection) items)); break; + + case Email.PROPERTY_SUBJECT: + emailFilter.setSubjects(!filtered ? null : new HashSet<String>((Collection) items)); + break; } executeFilter(); diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java index 8a5e864..348605e 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java @@ -466,6 +466,10 @@ public class DemandeListUIHandler extends AbstractFaxToMailDemandListHandler<Dem case COMMENT: property = EmailFilter.PROPERTY_COMMENTS; break; + + case SUBJECT: + property = EmailFilter.PROPERTY_SUBJECTS; + break; } if (log.isTraceEnabled()) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.