branch develop updated (65c1770c -> 89263cb0)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git from 65c1770c Make build success new fd41e974 refs #9990Can import heic files new 2208144c fixes #10746 : Le curseur est positionné en bas du mail lorsque l'on veut « transmettre » une réponse new 89263cb0 fixes #10748 : Réponse fax avec l'adresse du service client The 3 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 89263cb01636d0977d184fbbdb024b31ec6d8248 Author: jcouteau <couteau@codelutin.com> Date: Wed May 6 08:42:12 2020 +0200 fixes #10748 : Réponse fax avec l'adresse du service client commit 2208144c6aa6b1e62bfd58eb38e6caecf18a7f3f Author: jcouteau <couteau@codelutin.com> Date: Thu Mar 19 12:21:52 2020 +0100 fixes #10746 : Le curseur est positionné en bas du mail lorsque l'on veut « transmettre » une réponse commit fd41e97498fd045b3c37834835b85ca3f4286d49 Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 20 15:10:07 2020 +0100 refs #9990Can import heic files Summary of changes: .../faxtomail/FaxToMailConfiguration.java | 4 ++ .../faxtomail/FaxToMailConfigurationOption.java | 7 ++++ .../i18n/faxtomail-persistence_fr_FR.properties | 1 + faxtomail-persistence/src/main/xmi/faxtomail.zargo | Bin 36985 -> 37113 bytes .../faxtomail/services/FaxToMailServiceUtils.java | 8 ++++ .../h2/V2_5200319_1__add_faxFromNumber.sql | 6 +++ .../V2_5_1_200319_1__add_faxFromNumber.sql | 9 +++++ faxtomail-ui-swing/pom.xml | 4 +- .../demande/actions/OpenReplyFormAction.java | 4 ++ .../actions/SaveAndOpenReplyFormAction.java | 8 +++- .../demande/replies/DemandRepliesUIHandler.java | 3 ++ .../demande/replies/actions/OpenReplyAction.java | 6 ++- .../ui/swing/content/reply/ReplyFormUIHandler.java | 3 ++ .../faxtomail/web/job/MailFilterJob.java | 44 ++++++++++++++++++++- .../WEB-INF/content/admin/configuration-input.jsp | 12 ++++++ pom.xml | 2 +- 16 files changed, 115 insertions(+), 6 deletions(-) create mode 100644 faxtomail-service/src/main/resources/db/migration/h2/V2_5200319_1__add_faxFromNumber.sql create mode 100644 faxtomail-service/src/main/resources/db/migration/sqlserver/V2_5_1_200319_1__add_faxFromNumber.sql -- 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 in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit fd41e97498fd045b3c37834835b85ca3f4286d49 Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 20 15:10:07 2020 +0100 refs #9990Can import heic files --- .../faxtomail/FaxToMailConfiguration.java | 4 ++ .../faxtomail/FaxToMailConfigurationOption.java | 7 ++++ .../i18n/faxtomail-persistence_fr_FR.properties | 1 + .../faxtomail/web/job/MailFilterJob.java | 44 +++++++++++++++++++++- 4 files changed, 55 insertions(+), 1 deletion(-) diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java index 7ada292c..2867c58a 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfiguration.java @@ -443,4 +443,8 @@ public class FaxToMailConfiguration extends ApplicationConfiguration { public int getMaxWidthImageInTextPane() { return applicationConfig.getOptionAsInt(FaxToMailConfigurationOption.MAX_WIDTH_IMAGE_IN_TEXT_PANE.getKey()); } + + public String getImageMagickLocation() { + return applicationConfig.getOption(FaxToMailConfigurationOption.IMAGEMAGICK_LOCATION.getKey()); + } } diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java index b37d92bb..4891d257 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/FaxToMailConfigurationOption.java @@ -368,6 +368,13 @@ defaults.put("Table.alternateRowColor", new Color(217, 217, 217)); n("faxtomail.config.option.ui.maxWidthImageInTextPane.description"), "800", Integer.class + ), + + IMAGEMAGICK_LOCATION( + "faxtomail.imageMagickLocation", + n("faxtomail.config.option.imageMagickLocation.description"), + "magick", + String.class ); /** Configuration key. */ diff --git a/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties b/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties index 4184fb34..d43b1a73 100644 --- a/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties +++ b/faxtomail-persistence/src/main/resources/i18n/faxtomail-persistence_fr_FR.properties @@ -6,6 +6,7 @@ faxtomail.config.option.defaultImageIfMalformedUrl.description= faxtomail.config.option.demo.directory.description= faxtomail.config.option.i18n.directory.description= faxtomail.config.option.i18n.locale.description= +faxtomail.config.option.imageMagickLocation.description= faxtomail.config.option.inceptionYear.description= faxtomail.config.option.launch.mode.description= faxtomail.config.option.organizationName.description= diff --git a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java index 4d733c37..7be37940 100644 --- a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java +++ b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java @@ -36,7 +36,9 @@ import com.franciaflex.faxtomail.services.service.EmailService; import com.franciaflex.faxtomail.services.service.MailFolderService; import com.google.common.base.Function; import com.google.common.collect.Collections2; +import com.google.common.io.Files; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -59,7 +61,9 @@ import javax.mail.Session; import javax.mail.Store; import javax.mail.internet.MimeMessage; import java.awt.image.BufferedImage; -import java.io.IOException; + +import java.io.*; + import java.nio.charset.Charset; import java.text.DateFormat; import java.util.ArrayList; @@ -466,6 +470,40 @@ public class MailFilterJob extends AbstractFaxToMailJob { emailService.createGeneratedPDFPage(attachment, pageImage); } } + } else if (isFileAHeic(attachment.getOriginalFile())) { + + //Create src temp file from attachment + File srcFile = File.createTempFile("input",".heic"); + srcFile.createNewFile(); + Files.write(attachment.getOriginalFile().getContent(), srcFile); + + //Create dest temp file + File destFile = File.createTempFile("output",".png"); + + //Convert using imageMagick + Process process = new ProcessBuilder(config.getImageMagickLocation(),"convert", srcFile.getAbsolutePath(),destFile.getAbsolutePath()).start(); + + //Log imagemagick errors if any + InputStream is = process.getErrorStream(); + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + String line; + while ((line = br.readLine()) != null) { + if (log.isWarnEnabled()) { + log.warn(line); + } + } + //Wait for process to finish + int exitCode = process.waitFor(); + if (exitCode != 0) { + if (log.isWarnEnabled()) { + log.warn("Could not convert heic file"); + } + } + + //Read destFile and put it back into attachment + attachment.getOriginalFile().setContent(IOUtils.toByteArray(destFile.toURI())); + attachment.getOriginalFile().setFilename(destFile.getName()); } } @@ -576,4 +614,8 @@ public class MailFilterJob extends AbstractFaxToMailJob { public static boolean isFileAPDF(AttachmentFile file) { return FileUtil.extension(file.getFilename()).toUpperCase().equals("PDF"); } + + public static boolean isFileAHeic(AttachmentFile file) { + return FileUtil.extension(file.getFilename()).toUpperCase().equals("HEIC"); + } } -- 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 in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 2208144c6aa6b1e62bfd58eb38e6caecf18a7f3f Author: jcouteau <couteau@codelutin.com> Date: Thu Mar 19 12:21:52 2020 +0100 fixes #10746 : Le curseur est positionné en bas du mail lorsque l'on veut « transmettre » une réponse --- .../ui/swing/content/demande/replies/DemandRepliesUIHandler.java | 3 +++ .../faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java index 847fda35..9588edff 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/DemandRepliesUIHandler.java @@ -235,6 +235,9 @@ public class DemandRepliesUIHandler extends AbstractToolbarPopupHandler<DemandeU replyModel.setMessage(quotedReply); JFrame frame = openFrame(dialogContent, t("faxtomail.reply.forward", message.getSubject()), new Dimension(800, 600)); + + //Set caret to top position, cf. #10746 + dialogContent.getMessage().setCaretPosition(0); frame.setVisible(true); } catch (Exception e) { diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java index 593f4645..573d44eb 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/reply/ReplyFormUIHandler.java @@ -530,6 +530,9 @@ public class ReplyFormUIHandler extends AbstractFaxToMailUIHandler<ReplyFormUIMo originalReply); replyModel.setMessage(quotedReply); + //Set caret to top position, cf. #10746 + dialogContent.getMessage().setCaretPosition(0); + openModalFrame(dialogContent, replyModel.getSubject(), new Dimension(800, 600)); } catch (Exception ex) { -- 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 in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 89263cb01636d0977d184fbbdb024b31ec6d8248 Author: jcouteau <couteau@codelutin.com> Date: Wed May 6 08:42:12 2020 +0200 fixes #10748 : Réponse fax avec l'adresse du service client --- faxtomail-persistence/src/main/xmi/faxtomail.zargo | Bin 36985 -> 37113 bytes .../faxtomail/services/FaxToMailServiceUtils.java | 8 ++++++++ .../h2/V2_5200319_1__add_faxFromNumber.sql | 6 ++++++ .../V2_5_1_200319_1__add_faxFromNumber.sql | 9 +++++++++ faxtomail-ui-swing/pom.xml | 4 ++-- .../demande/actions/OpenReplyFormAction.java | 4 ++++ .../demande/actions/SaveAndOpenReplyFormAction.java | 8 +++++++- .../demande/replies/actions/OpenReplyAction.java | 6 +++++- .../WEB-INF/content/admin/configuration-input.jsp | 12 ++++++++++++ pom.xml | 2 +- 10 files changed, 54 insertions(+), 5 deletions(-) diff --git a/faxtomail-persistence/src/main/xmi/faxtomail.zargo b/faxtomail-persistence/src/main/xmi/faxtomail.zargo index 0b3dda75..7eea7b50 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/FaxToMailServiceUtils.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java index 592bf3e4..f536ae4e 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/FaxToMailServiceUtils.java @@ -80,6 +80,14 @@ public class FaxToMailServiceUtils { return faxNumber; } + public static String getFaxFromNumber(MailFolder folder) { + while (!folder.isUseCurrentLevelFaxFromNumber() + && folder.getParent() != null) { + folder = folder.getParent(); + } + return folder.getFaxFromNumber(); + } + public static Charset getCharset(Part part) throws MessagingException { ContentType contentType = new ContentType(part.getContentType()); String charsetName = contentType.getParameter("charset"); diff --git a/faxtomail-service/src/main/resources/db/migration/h2/V2_5200319_1__add_faxFromNumber.sql b/faxtomail-service/src/main/resources/db/migration/h2/V2_5200319_1__add_faxFromNumber.sql new file mode 100644 index 00000000..eff2d0e8 --- /dev/null +++ b/faxtomail-service/src/main/resources/db/migration/h2/V2_5200319_1__add_faxFromNumber.sql @@ -0,0 +1,6 @@ +-- add faxFromNumber + +alter table mailfolder add column if not exists faxFromNumber varchar(255); + +alter table mailfolder add column if not exists useCurrentLevelFaxFromNumber boolean; +update mailfolder set useCurrentLevelFaxFromNumber = 'f'; diff --git a/faxtomail-service/src/main/resources/db/migration/sqlserver/V2_5_1_200319_1__add_faxFromNumber.sql b/faxtomail-service/src/main/resources/db/migration/sqlserver/V2_5_1_200319_1__add_faxFromNumber.sql new file mode 100644 index 00000000..7648accb --- /dev/null +++ b/faxtomail-service/src/main/resources/db/migration/sqlserver/V2_5_1_200319_1__add_faxFromNumber.sql @@ -0,0 +1,9 @@ +-- add faxFromNumber + +alter table mailfolder add faxFromNumber varchar(MAX); +GO + +alter table mailfolder add useCurrentLevelFaxFromNumber bit; +GO +update mailfolder set useCurrentLevelFaxFromNumber = 0 where parent is null; +GO \ No newline at end of file diff --git a/faxtomail-ui-swing/pom.xml b/faxtomail-ui-swing/pom.xml index 366791f1..4b7554af 100644 --- a/faxtomail-ui-swing/pom.xml +++ b/faxtomail-ui-swing/pom.xml @@ -201,10 +201,10 @@ <artifactId>log4j-jcl</artifactId> </dependency> - <dependency> + <!--dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> - </dependency> + </dependency--> <dependency> <groupId>junit</groupId> diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenReplyFormAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenReplyFormAction.java index 4c79b9e1..fd433160 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenReplyFormAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/OpenReplyFormAction.java @@ -87,7 +87,11 @@ public class OpenReplyFormAction extends AbstractFaxToMailAction<DemandeListUIMo String sender = JAXXUtil.getStringValue(demand.getSender()); if (demand.isFax()) { MailFolder selectedFolder = getModel().getSelectedFolder(); + sender = FaxToMailServiceUtils.addFaxDomainToFaxNumber(sender, selectedFolder); + + String from = FaxToMailServiceUtils.addFaxDomainToFaxNumber(FaxToMailServiceUtils.getFaxFromNumber(selectedFolder), selectedFolder); + model.setFrom(from); } model.setTo(sender); frameContent.getHandler().addReferences(); diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/SaveAndOpenReplyFormAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/SaveAndOpenReplyFormAction.java index 25adcfed..b29d2a9c 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/SaveAndOpenReplyFormAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/actions/SaveAndOpenReplyFormAction.java @@ -24,6 +24,7 @@ package com.franciaflex.faxtomail.ui.swing.content.demande.actions; * #L% */ +import com.franciaflex.faxtomail.persistence.entities.MailFolder; import com.franciaflex.faxtomail.persistence.entities.SigningForDomain; import com.franciaflex.faxtomail.services.FaxToMailServiceContext; import com.franciaflex.faxtomail.services.FaxToMailServiceUtils; @@ -77,7 +78,12 @@ public class SaveAndOpenReplyFormAction extends SaveAndOpenModalFrameAction<Repl String sender = JAXXUtil.getStringValue(currentDemand.getSender()); if (currentDemand.isFax()) { - sender = FaxToMailServiceUtils.addFaxDomainToFaxNumber(sender, currentDemand.getMailFolder()); + MailFolder folder = currentDemand.getMailFolder(); + + sender = FaxToMailServiceUtils.addFaxDomainToFaxNumber(sender, folder); + + String from = FaxToMailServiceUtils.addFaxDomainToFaxNumber(FaxToMailServiceUtils.getFaxFromNumber(folder), folder); + model.setFrom(from); } model.setTo(sender); frameContent.getHandler().addReferences(); diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/actions/OpenReplyAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/actions/OpenReplyAction.java index 5ab8c557..18cd9b7f 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/actions/OpenReplyAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/replies/actions/OpenReplyAction.java @@ -94,7 +94,11 @@ public class OpenReplyAction extends AbstractFaxToMailAction<DemandeUIModel, Dem replyModel.setReadSentDate(reply.getSentDate()); replyModel.setSubject(message.getSubject()); replyModel.setTo(StringUtils.join(message.getRecipients(Message.RecipientType.TO), " ; ")); - replyModel.setFrom(message.getFrom()[0].toString()); + if (email.isFax()) { + replyModel.setFrom(email.getMailFolder().getFaxFromNumber()); + } else { + replyModel.setFrom(message.getFrom()[0].toString()); + } if (ArrayUtils.isNotEmpty(message.getRecipients(Message.RecipientType.CC))) { replyModel.setCc(StringUtils.join(message.getRecipients(Message.RecipientType.CC), " ; ")); } diff --git a/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp b/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp index c2c78b98..c814e92e 100644 --- a/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp +++ b/faxtomail-ui-web/src/main/webapp/WEB-INF/content/admin/configuration-input.jsp @@ -782,6 +782,18 @@ Définir le domaine des fax :</label> <input type="text" class="form-control" ng-model="selectedMailFolder.faxDomain" ng-if="selectedMailFolder.useCurrentLevelFaxDomain || !selectedMailFolder.$parent"> </div> + + <div class="form-group" ng-if="selectedMailFolder.$parent"> + <label><input type="radio" ng-model="selectedMailFolder.useCurrentLevelFaxFromNumber" ng-value="false" /> + Hériter du numéro d'envoi sur réponse à un fax :</label> + <input type="text" class="form-control" disabled + ng-model="parentScopeValues.faxFromNumber" ng-if="!selectedMailFolder.useCurrentLevelFaxFromNumber"> + </div> + <div class="form-group"> + <label><input type="radio" ng-model="selectedMailFolder.useCurrentLevelFaxFromNumber" ng-value="true" ng-if="selectedMailFolder.$parent" /> + Définir le numéro d'envoi sur réponse à un fax:</label> + <input type="text" class="form-control" ng-model="selectedMailFolder.faxFromNumber" ng-if="selectedMailFolder.useCurrentLevelFaxFromNumber || !selectedMailFolder.$parent"> + </div> </div> </div> diff --git a/pom.xml b/pom.xml index 627f47ef..aee1a0b9 100644 --- a/pom.xml +++ b/pom.xml @@ -118,7 +118,7 @@ <jqueryPluginVersion>3.7.1</jqueryPluginVersion> <bootstrapPluginVersion>2.0.0</bootstrapPluginVersion> <slf4jVersion>1.7.25</slf4jVersion> - <log4jVersion>2.3</log4jVersion> + <log4jVersion>2.8.2</log4jVersion> <postgresqlDriverVersion>9.3-1102-jdbc41</postgresqlDriverVersion> <commonsIoVersion>2.6</commonsIoVersion> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm