branch develop-1.1.x updated (e637153 -> 1ed3106)
This is an automated email from the git hooks/post-receive script. New change to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git from e637153 encodage des urls des images dans les emails (fixes #7741, fixes #7740) new 1ed3106 fixes #7743 : Des emails se retrouvent sans groupe après groupage de mails déjà groupés The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 1ed310673616b74c94c67496730bd37c3e0888aa Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 23 12:25:49 2015 +0100 fixes #7743 : Des emails se retrouvent sans groupe après groupage de mails déjà groupés Summary of changes: .../services/service/EmailServiceImpl.java | 12 +++-- .../services/service/EmailServiceTest.java | 52 +++++++++++++++++++++- 2 files changed, 60 insertions(+), 4 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-1.1.x in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 1ed310673616b74c94c67496730bd37c3e0888aa Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 23 12:25:49 2015 +0100 fixes #7743 : Des emails se retrouvent sans groupe après groupage de mails déjà groupés --- .../services/service/EmailServiceImpl.java | 12 +++-- .../services/service/EmailServiceTest.java | 52 +++++++++++++++++++++- 2 files changed, 60 insertions(+), 4 deletions(-) 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 56d21c7..a500f2b 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 @@ -998,6 +998,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe @Override public Email groupEmails(String email1Id, String email2Id, FaxToMailUser user) { EmailGroupTopiaDao groupDao = getPersistenceContext().getEmailGroupDao(); + EmailTopiaDao emailDao = getPersistenceContext().getEmailDao(); Email email1 = getFullEmailById(email1Id, user); Email email2 = getFullEmailById(email2Id, user); @@ -1029,14 +1030,19 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe // if both groups exist, merge them } else { - group1.addAllEmail(group2.getEmail()); - email2.setEmailGroup(group1); + Set<Email> group2Emails = new HashSet<>(group2.getEmail()); + + // on désassocie les emails du groupe 2 group2.clearEmail(); + + // on les associe au groupe 1 + group1.addAllEmail(group2Emails); + groupDao.delete(group2); groupDao.update(group1); + } - EmailTopiaDao emailDao = getPersistenceContext().getEmailDao(); HistoryTopiaDao historyDao = getPersistenceContext().getHistoryDao(); Date now = new Date(); diff --git a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java index e1e5f3f..7226b28 100644 --- a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java +++ b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/EmailServiceTest.java @@ -28,6 +28,9 @@ import com.franciaflex.faxtomail.persistence.entities.AttachmentFile; import com.franciaflex.faxtomail.persistence.entities.DemandStatus; import com.franciaflex.faxtomail.persistence.entities.Email; import com.franciaflex.faxtomail.persistence.entities.EmailFilter; +import com.franciaflex.faxtomail.persistence.entities.EmailGroup; +import com.franciaflex.faxtomail.persistence.entities.EmailTopiaDao; +import com.franciaflex.faxtomail.persistence.entities.FaxToMailUser; import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.persistence.entities.MailFolderTopiaDao; import com.franciaflex.faxtomail.persistence.entities.Range; @@ -46,6 +49,7 @@ import java.io.IOException; import java.io.InputStream; import java.util.Collection; import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; @@ -216,7 +220,7 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { } /** - * Test le fonctionnement de search archives qui contennait une erreur de synthax en 1.1. + * Teste le fonctionnement de search archives qui contennait une erreur de synthax en 1.1. */ @Test public void testSearchArchives() { @@ -226,6 +230,52 @@ public class EmailServiceTest extends AbstractFaxToMailServiceTest { Assert.assertFalse(emails.isEmpty()); } + /** + * Teste le groupement d'emails + */ + @Test + public void testGroupEmails() { + MailFolderTopiaDao mailFolderDao = getServiceContext().getPersistenceContext().getMailFolderDao(); + MailFolder cyrilFolder = mailFolderDao.forNameEquals("Cyril").findUnique(); + + FaxToMailUser cyril = userService.getUserByLogin("cbaillet"); + + EmailTopiaDao emailDao = getServiceContext().getPersistenceContext().getEmailDao(); + List<Email> emails = emailDao.forMailFolderEquals(cyrilFolder).addEquals(Email.PROPERTY_ARCHIVE_DATE, null).find(0, 6); + + // on groupe 2 éléments + Email email0 = emails.get(0); + Email email1 = emails.get(1); + Email groupedEmail = service.groupEmails(email0.getTopiaId(), email1.getTopiaId(), cyril); + Assert.assertEquals(2, groupedEmail.getEmailGroup().sizeEmail()); + + // on groupe un élément non groupé à un élément groupé + Email email2 = emails.get(2); + groupedEmail = service.groupEmails(email2.getTopiaId(), email0.getTopiaId(), cyril); + Assert.assertEquals(3, groupedEmail.getEmailGroup().sizeEmail()); + + // on groupe un élément groupé à un élément non groupé + Email email3 = emails.get(3); + groupedEmail = service.groupEmails(email1.getTopiaId(), email3.getTopiaId(), cyril); + Assert.assertEquals(4, groupedEmail.getEmailGroup().sizeEmail()); + + Email email4 = emails.get(4); + Email email5 = emails.get(5); + groupedEmail = service.groupEmails(email4.getTopiaId(), email5.getTopiaId(), cyril); + Assert.assertEquals(2, groupedEmail.getEmailGroup().sizeEmail()); + + // on groupe 2 éléments qui sont déjà groupés + groupedEmail = service.groupEmails(email0.getTopiaId(), email5.getTopiaId(), cyril); + Assert.assertEquals(6, groupedEmail.getEmailGroup().sizeEmail()); + + // on vérifie que l'email dont le groupe a été mergé a bien le nouveau groupe + Email email4Reloaded = service.getEmailById(email4.getTopiaId()); + EmailGroup email4ReloadedEmailGroup = email4Reloaded.getEmailGroup(); + Assert.assertEquals(groupedEmail.getEmailGroup(), email4ReloadedEmailGroup); + + + } + // @Test // public void testConvertHTMLToPdf() { // -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm