This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 5915299ad0ee42aa63b5cc62fe3f58c9e9bbe87d Author: Kevin Morin <morin@codelutin.com> Date: Thu Aug 27 12:00:44 2015 +0200 Ajout d’une colonne « Nom du client » pour les listes et la recherche (fixes #7423) --- .../persistence/entities/EmailFilter.java | 12 +++++++++++ .../persistence/entities/EmailTopiaDao.java | 12 +++++++++++ .../faxtomail/persistence/entities/MailField.java | 2 ++ .../content/demande/DemandeListTableFilter.java | 24 ++++++++++++++-------- .../content/demande/DemandeListUIHandler.java | 4 ++++ .../ui/swing/content/demande/DemandeUIModel.java | 7 +++++++ .../faxtomail/ui/swing/util/DemandeTableModel.java | 10 +++++++-- .../i18n/faxtomail-ui-swing_fr_FR.properties | 6 ++++-- .../faxtomail/web/action/SearchAction.java | 4 ++++ .../i18n/faxtomail-ui-web_fr_FR.properties | 1 + 10 files changed, 70 insertions(+), 12 deletions(-) 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 c1d485b..be500fe 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 @@ -38,6 +38,7 @@ public class EmailFilter extends AbstractSerializableBean { public static final String PROPERTY_DEMAND_TYPES = "demandTypes"; public static final String PROPERTY_DEMAND_OBJECTS = "demandObjects"; public static final String PROPERTY_CLIENT_CODES = "clientCodes"; + public static final String PROPERTY_CLIENT_NAMES = "clientNames"; public static final String PROPERTY_CLIENT_BRANDS = "clientBrands"; public static final String PROPERTY_SENDERS = "senders"; public static final String PROPERTY_PROJECT_REFERENCES = "projectReferences"; @@ -65,6 +66,8 @@ public class EmailFilter extends AbstractSerializableBean { protected Set<String> clientCodes; + protected Set<String> clientNames; + protected Set<String> clientBrands; protected Set<String> senders; @@ -135,6 +138,15 @@ public class EmailFilter extends AbstractSerializableBean { firePropertyChange(PROPERTY_CLIENT_CODES, null, clientCodes); } + public Set<String> getClientNames() { + return clientNames; + } + + public void setClientNames(Set<String> clientNames) { + this.clientNames = clientNames; + firePropertyChange(PROPERTY_CLIENT_NAMES, null, clientNames); + } + public Set<String> getClientBrands() { return clientBrands; } 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 c0ff0b3..cf30a4a 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 @@ -740,6 +740,18 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { query.append(")"); } + Set<String> clientNames = emailFilter.getClientNames(); + if (clientNames != null) { + query.append(" AND (E." + Email.PROPERTY_CLIENT + "." + Client.PROPERTY_NAME + " IN (:" + EmailFilter.PROPERTY_CLIENT_NAMES + ")"); + args.put(EmailFilter.PROPERTY_CLIENT_NAMES, clientNames); + + if (clientNames.contains(null)) { + query.append(" OR E." + Email.PROPERTY_CLIENT + " IS NULL"); + query.append(" OR E." + Email.PROPERTY_CLIENT + "." + Client.PROPERTY_NAME + " IS NULL"); + } + query.append(")"); + } + Set<String> comments = emailFilter.getComments(); if (comments != null) { query.append(" AND (E." + Email.PROPERTY_COMMENT + " in (:" + EmailFilter.PROPERTY_COMMENTS + ")"); diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java index 6fe2f31..c91cdb5 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java @@ -41,6 +41,7 @@ public enum MailField { COMMENT, DEMAND_TYPE, CLIENT_CODE, + CLIENT_NAME, CLIENT_BRAND, SENDER, REFERENCE, @@ -76,6 +77,7 @@ public enum MailField { DEMAND_TYPE, OBJECT, CLIENT_CODE, + CLIENT_NAME, CLIENT_BRAND, SENDER, PROJECT_REFERENCE, 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 3768ac4..e9981da 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 @@ -81,35 +81,39 @@ public class DemandeListTableFilter extends AbstractTableFilter<JXTable> { break; case Email.PROPERTY_RECEPTION_DATE: - emailFilter.setReceptionDates(!filtered ? null : new HashSet<Date>((Collection)items)); + emailFilter.setReceptionDates(!filtered ? null : new HashSet<Date>((Collection) items)); break; case Email.PROPERTY_RECIPIENT: - emailFilter.setRecipients(!filtered ? null : new HashSet<String>((Collection)items)); + emailFilter.setRecipients(!filtered ? null : new HashSet<String>((Collection) items)); break; case Email.PROPERTY_SENDER: - emailFilter.setSenders(!filtered ? null : new HashSet<String>((Collection)items)); + emailFilter.setSenders(!filtered ? null : new HashSet<String>((Collection) items)); break; case Email.PROPERTY_OBJECT: - emailFilter.setDemandObjects(!filtered ? null : new HashSet<String>((Collection)items)); + emailFilter.setDemandObjects(!filtered ? null : new HashSet<String>((Collection) items)); break; case DemandeUIModel.PROPERTY_CLIENT_CODE: - emailFilter.setClientCodes(!filtered ? null : new HashSet<String>((Collection)items)); + emailFilter.setClientCodes(!filtered ? null : new HashSet<String>((Collection) items)); + break; + + case DemandeUIModel.PROPERTY_CLIENT_NAME: + emailFilter.setClientNames(!filtered ? null : new HashSet<String>((Collection) items)); break; case DemandeUIModel.PROPERTY_CLIENT_BRAND: - emailFilter.setClientBrands(!filtered ? null : new HashSet<String>((Collection)items)); + emailFilter.setClientBrands(!filtered ? null : new HashSet<String>((Collection) items)); break; case Email.PROPERTY_DEMAND_TYPE: - emailFilter.setDemandTypes(!filtered ? null : new HashSet<DemandType>((Collection)items)); + emailFilter.setDemandTypes(!filtered ? null : new HashSet<DemandType>((Collection) items)); break; case Email.PROPERTY_EDI_ERROR: - emailFilter.setEdiCodeNumbers(!filtered ? null : new HashSet<String>((Collection)items)); + emailFilter.setEdiCodeNumbers(!filtered ? null : new HashSet<String>((Collection) items)); break; case Email.PROPERTY_WAITING_STATE: @@ -191,6 +195,10 @@ public class DemandeListTableFilter extends AbstractTableFilter<JXTable> { properties = new String[] { "client." + Client.PROPERTY_CODE }; break; + case DemandeUIModel.PROPERTY_CLIENT_NAME: + properties = new String[] { "client." + Client.PROPERTY_NAME }; + break; + case DemandeUIModel.PROPERTY_CLIENT_BRAND: properties = new String[] { "client." + Client.PROPERTY_BRAND }; break; 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 4480f48..8a5e864 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 @@ -403,6 +403,10 @@ public class DemandeListUIHandler extends AbstractFaxToMailDemandListHandler<Dem property = EmailFilter.PROPERTY_CLIENT_CODES; break; + case CLIENT_NAME: + property = EmailFilter.PROPERTY_CLIENT_NAMES; + break; + case CLIENT_BRAND: property = EmailFilter.PROPERTY_CLIENT_BRANDS; break; diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java index 1901b8b..b411796 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java @@ -86,6 +86,7 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU public static final String PROPERTY_PF_NB = "pfNb"; public static final String PROPERTY_SAV_NB = "savNb"; public static final String PROPERTY_CLIENT_CODE = "clientCode"; + public static final String PROPERTY_CLIENT_NAME = "clientName"; public static final String PROPERTY_CLIENT_BRAND = "clientBrand"; public static final String PROPERTY_REFERENCE = "reference"; public static final String PROPERTY_EDITABLE = "editable"; @@ -385,6 +386,12 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU return client != null ? client.getCode() : null; } + public String getClientName() { + Client client = getClient(); + return client != null ? client.getName() : null; + } + + public String getClientBrand() { Client client = getClient(); return client != null ? client.getBrand() : null; diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java index 01c3426..e537140 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java @@ -86,8 +86,14 @@ public class DemandeTableModel extends AbstractTableModel { put(MailField.CLIENT_CODE, ColumnIdentifier.<Email>newReadOnlyId( DemandeUIModel.PROPERTY_CLIENT_CODE, - n("faxtomail.demandeList.table.header.client"), - n("faxtomail.demandeList.table.header.client.tip"))); + n("faxtomail.demandeList.table.header.clientCode"), + n("faxtomail.demandeList.table.header.clientCode.tip"))); + + put(MailField.CLIENT_NAME, + ColumnIdentifier.<Email>newReadOnlyId( + DemandeUIModel.PROPERTY_CLIENT_NAME, + n("faxtomail.demandeList.table.header.clientName"), + n("faxtomail.demandeList.table.header.clientName.tip"))); put(MailField.CLIENT_BRAND, ColumnIdentifier.<Email>newReadOnlyId( diff --git a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties index 5517953..7ca77d6 100644 --- a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties +++ b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties @@ -174,8 +174,10 @@ faxtomail.demandeList.table.header.attachment=PJ faxtomail.demandeList.table.header.attachment.tip=Pièces-jointes faxtomail.demandeList.table.header.brand=Marque faxtomail.demandeList.table.header.brand.tip=Marque -faxtomail.demandeList.table.header.client=Client -faxtomail.demandeList.table.header.client.tip=Client +faxtomail.demandeList.table.header.clientCode=Code client +faxtomail.demandeList.table.header.clientCode.tip=Code du client +faxtomail.demandeList.table.header.clientName=Nom client +faxtomail.demandeList.table.header.clientName.tip=Nom du client faxtomail.demandeList.table.header.comment=Commentaire faxtomail.demandeList.table.header.comment.tip=Commentaire faxtomail.demandeList.table.header.companyReference=Notre ref diff --git a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/SearchAction.java b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/SearchAction.java index 9d9868e..631a08d 100644 --- a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/SearchAction.java +++ b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/SearchAction.java @@ -168,6 +168,10 @@ public class SearchAction extends FaxToMailActionSupport { Client client = email.getClient(); attrValue = client == null ? null : client.getCode(); break; + case CLIENT_NAME: + client = email.getClient(); + attrValue = client == null ? null : client.getName(); + break; case CLIENT_BRAND: client = email.getClient(); attrValue = client == null ? null : client.getBrand(); diff --git a/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties b/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties index 4ed536f..da7b9b5 100644 --- a/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties +++ b/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties @@ -11,6 +11,7 @@ com.franciaflex.faxtomail.persistence.entities.MailField.ATTACHMENT=Pièces join com.franciaflex.faxtomail.persistence.entities.MailField.CLIENT=Client com.franciaflex.faxtomail.persistence.entities.MailField.CLIENT_BRAND=Marque com.franciaflex.faxtomail.persistence.entities.MailField.CLIENT_CODE=Code client +com.franciaflex.faxtomail.persistence.entities.MailField.CLIENT_NAME=Nom client com.franciaflex.faxtomail.persistence.entities.MailField.COMMENT=Message com.franciaflex.faxtomail.persistence.entities.MailField.COMPANY_REFERENCE=Notre référence com.franciaflex.faxtomail.persistence.entities.MailField.DEMAND_STATUS=Statut de demande -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.