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 e8d3a9364755a5579c4d0ea9e908fd397b10e5e1 Author: Kevin Morin <morin@codelutin.com> Date: Mon Mar 13 15:32:41 2017 +0100 fixes #9097 créer la colonne "Imprimé Le" --- .../faxtomail/persistence/entities/EmailFilter.java | 13 +++++++++++++ .../persistence/entities/EmailTopiaDao.java | 11 +++++++++++ .../faxtomail/persistence/entities/MailField.java | 6 ++++-- faxtomail-persistence/src/main/xmi/faxtomail.zargo | Bin 33550 -> 33796 bytes .../services/service/EmailServiceImpl.java | 6 ++++++ .../h2/V2_2_3_170313_1__add_last_printing_user.sql | 18 ++++++++++++++++++ .../swing/content/demande/DemandeListUIHandler.java | 4 ++++ .../ui/swing/content/demande/DemandeUIModel.java | 8 ++++++++ .../util/AbstractFaxToMailDemandListHandler.java | 1 + .../faxtomail/ui/swing/util/DemandeTableModel.java | 6 ++++++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 2 ++ .../i18n/faxtomail-ui-web_fr_FR.properties | 1 + 12 files changed, 74 insertions(+), 2 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 2970dbd..326abb2 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 @@ -57,6 +57,7 @@ public class EmailFilter extends AbstractSerializableBean { public static final String PROPERTY_LAST_ATTACHMENT_OPENERS = "lastAttachmentOpeners"; public static final String PROPERTY_WAITING_STATES = "waitingStates"; public static final String PROPERTY_SUBJECTS = "subjects"; + public static final String PROPERTY_LAST_PRINTING_USERS = "lastPrintingUsers"; protected Set<Priority> priorities; @@ -105,6 +106,8 @@ public class EmailFilter extends AbstractSerializableBean { protected Set<String> subjects; + protected Set<FaxToMailUser> lastPrintingUsers; + public Set<Priority> getPriorities() { return priorities; } @@ -313,6 +316,15 @@ public class EmailFilter extends AbstractSerializableBean { firePropertyChange(PROPERTY_SUBJECTS, oldValue, subjects); } + public Set<FaxToMailUser> getLastPrintingUsers() { + return lastPrintingUsers; + } + + public void setLastPrintingUsers(Set<FaxToMailUser> lastPrintingUsers) { + this.lastPrintingUsers = lastPrintingUsers; + firePropertyChange(PROPERTY_LAST_PRINTING_USERS, null, lastPrintingUsers); + } + public void clear() { setClientCodes(null); setWaitingStates(null); @@ -337,5 +349,6 @@ public class EmailFilter extends AbstractSerializableBean { setSenders(null); setSubjects(null); setClientNames(null); + setLastPrintingUsers(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 056f38e..c0ad29f 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 @@ -821,6 +821,17 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { query.append(")"); } + Set<FaxToMailUser> lastPrintingUsers = emailFilter.getLastPrintingUsers(); + if (lastPrintingUsers != null) { + query.append(" AND (E." + Email.PROPERTY_LAST_PRINTING_USER + " in (:" + EmailFilter.PROPERTY_LAST_PRINTING_USERS + ")"); + args.put(EmailFilter.PROPERTY_LAST_PRINTING_USERS, lastPrintingUsers); + + if (lastPrintingUsers.contains(null)) { + query.append(" OR E." + Email.PROPERTY_LAST_PRINTING_USER + " IS NULL"); + } + query.append(")"); + } + Set<String> recipients = emailFilter.getRecipients(); if (recipients != null) { query.append(" AND (E." + Email.PROPERTY_RECIPIENT + " in (:" + EmailFilter.PROPERTY_RECIPIENTS + ")"); 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 4497572..dd4b5f3 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 @@ -57,7 +57,8 @@ public enum MailField { ATTACHMENT, GROUP, EDI_RETURN, - SUBJECT; + SUBJECT, + LAST_PRINTING_USER; public static MailField[] getCanBeRequiredMailFields() { return new MailField[] { @@ -99,7 +100,8 @@ public enum MailField { LAST_ATTACHMENT_OPENING_IN_THIS_FOLDER_USER, REPLIES, ATTACHMENT, - GROUP + GROUP, + LAST_PRINTING_USER }; } } diff --git a/faxtomail-persistence/src/main/xmi/faxtomail.zargo b/faxtomail-persistence/src/main/xmi/faxtomail.zargo index 6eb4a18..5268bc7 100644 Binary files a/faxtomail-persistence/src/main/xmi/faxtomail.zargo and b/faxtomail-persistence/src/main/xmi/faxtomail.zargo differ diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index a31b8ca..b2f623c 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -835,6 +835,11 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe if (type == HistoryType.ATTACHMENT_OPENING) { email.setLastAttachmentOpener(user); } + // pour eviter de charger tout l'historique dans la liste, on duplique l'information de + // dernier imprimeur directement dans l'email + if (type == HistoryType.PRINTING) { + email.setLastPrintingUser(user); + } email = emailDao.update(email); getPersistenceContext().commit(); @@ -1219,6 +1224,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe email.setMailFolder(newFolder); email.setTakenBy(null); email.setLastAttachmentOpener(null); + email.setLastPrintingUser(null); History history = historyDao.create(History.PROPERTY_TYPE, HistoryType.TRANSMISSION, History.PROPERTY_FAX_TO_MAIL_USER, currentUser, diff --git a/faxtomail-service/src/main/resources/db/migration/h2/V2_2_3_170313_1__add_last_printing_user.sql b/faxtomail-service/src/main/resources/db/migration/h2/V2_2_3_170313_1__add_last_printing_user.sql new file mode 100644 index 0000000..e49f6f3 --- /dev/null +++ b/faxtomail-service/src/main/resources/db/migration/h2/V2_2_3_170313_1__add_last_printing_user.sql @@ -0,0 +1,18 @@ +-- add last printing user + +alter table email add lastPrintingUser varchar(255); + +alter table email + add constraint FK_I8WXUJ77ETK21ME0JC939HBEO_INDEX_3 + foreign key (lastPrintingUser) + references faxtomailuser; + +update email set email.lastPrintingUser = (select h.faxtomailuser + from history h + where h.email = email.topiaId + and h.type = 'PRINTING' + and h.email not in ( + select h2.email from history h2 + where (h2.type='TRANSMISSION' OR h2.type='PRINTING' )and h2.modificationDate > h.modificationDate + ) +) where archiveDate is null; \ No newline at end of file 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 e09be17..216dd64 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 @@ -480,6 +480,10 @@ public class DemandeListUIHandler extends AbstractFaxToMailDemandListHandler<Dem case SUBJECT: property = EmailFilter.PROPERTY_SUBJECTS; break; + + case LAST_PRINTING_USER: + property = EmailFilter.PROPERTY_LAST_PRINTING_USERS; + break; } if (log.isTraceEnabled()) { 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 c69c4a2..7a09041 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 @@ -573,6 +573,14 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU return editObject.getLastAttachmentOpeningInFolderDate(); } + public FaxToMailUser getLastPrintingUser() { + return editObject.getLastPrintingUser(); + } + + public void setLastPrintingUser(FaxToMailUser lastAttachmentOpener) { + editObject.setLastPrintingUser(lastAttachmentOpener); + } + @Override public List<Attachment> getAttachment() { return new ArrayList<Attachment>(attachments); diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java index 6e78be6..982b57d 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java @@ -231,6 +231,7 @@ public abstract class AbstractFaxToMailDemandListHandler<M, UI extends FaxToMail case TAKEN_BY: case LAST_ATTACHMENT_OPENING_IN_THIS_FOLDER_USER: + case LAST_PRINTING_USER: tableCellRenderer = newTableCellRender(FaxToMailUser.class); break; 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 77cf1fa..439d77d 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 @@ -215,6 +215,12 @@ public class DemandeTableModel extends AbstractTableModel { n("faxtomail.demandeList.table.header.subject"), n("faxtomail.demandeList.table.header.subject.tip"))); + put(MailField.LAST_PRINTING_USER, + ColumnIdentifier.<Email>newId( + Email.PROPERTY_LAST_PRINTING_USER, + n("faxtomail.demandeList.table.header.lastPrintingUser"), + n("faxtomail.demandeList.table.header.lastPrintingUser.tip"))); + }}; public DemandeTableModel(TableColumnModelExt columnModel, MailField... editableProperties) { 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 d6b77cb..976d0af 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 @@ -196,6 +196,8 @@ faxtomail.demandeList.table.header.emailGroup=Groupe faxtomail.demandeList.table.header.emailGroup.tip=Éléments groupés faxtomail.demandeList.table.header.lastAttachmentOpeningUser=Dernier à ouvrir une PJ faxtomail.demandeList.table.header.lastAttachmentOpeningUser.tip=Dernier utilisateur à avoir ouvert une pièce-jointe +faxtomail.demandeList.table.header.lastPrintingUser=Imprimé par +faxtomail.demandeList.table.header.lastPrintingUser.tip=Dernier utilisateur à avoir imprimé une demande ou une pièce-jointe faxtomail.demandeList.table.header.object=Objet faxtomail.demandeList.table.header.object.tip=Objet faxtomail.demandeList.table.header.pfNb=Qté produits 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 3d377db..1d3e6dc 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 @@ -20,6 +20,7 @@ com.franciaflex.faxtomail.persistence.entities.MailField.EDI_RETURN=Retour EDI com.franciaflex.faxtomail.persistence.entities.MailField.FAX=Fax com.franciaflex.faxtomail.persistence.entities.MailField.GROUP=Groupe com.franciaflex.faxtomail.persistence.entities.MailField.LAST_ATTACHMENT_OPENING_IN_THIS_FOLDER_USER=Dernier à ouvrir une PJ +com.franciaflex.faxtomail.persistence.entities.MailField.LAST_PRINTING_USER=Imprimé par com.franciaflex.faxtomail.persistence.entities.MailField.MAIL_FOLDER=Dossier com.franciaflex.faxtomail.persistence.entities.MailField.OBJECT=Objet com.franciaflex.faxtomail.persistence.entities.MailField.ORIGINAL_EMAIL=Email original -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.