From 00ec75b0275b7091c8d0e8fced8fd65eb03dc201 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 16 Mar 2018 18:03:03 -0300 Subject: [PATCH] IDEMPIERE-3660 Improve Packin / PackIn is not notifying for non System tenant --- .../src/org/compiere/model/MClient.java | 57 ++++++++++++++----- .../org/adempiere/pipo2/PackInNotifier.java | 8 ++- 2 files changed, 51 insertions(+), 14 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MClient.java b/org.adempiere.base/src/org/compiere/model/MClient.java index bffae62645..21589b1d96 100644 --- a/org.adempiere.base/src/org/compiere/model/MClient.java +++ b/org.adempiere.base/src/org/compiere/model/MClient.java @@ -56,7 +56,7 @@ public class MClient extends X_AD_Client /** * */ - private static final long serialVersionUID = -4420908648355523008L; + private static final long serialVersionUID = 8418331925351272377L; /** * Get client @@ -799,8 +799,8 @@ public class MClient extends X_AD_Client /************ * Create EMail from Request User * @param to recipient - * @param subject sunject - * @param message nessage + * @param subject subject + * @param message message * @return EMail */ public EMail createEMail (String to, @@ -812,8 +812,8 @@ public class MClient extends X_AD_Client /************ * Create EMail from Request User * @param to recipient - * @param subject sunject - * @param message nessage + * @param subject subject + * @param message message * @param html * @return EMail */ @@ -834,12 +834,43 @@ public class MClient extends X_AD_Client return email; } // createEMail + /************ + * Create EMail with a specific from address + * @param from recipient + * @param to recipient + * @param subject subject + * @param message message + * @param html + * @return EMail + */ + public EMail createEMailFrom (String from, String to, + String subject, String message, boolean html) + { + if (from == null || from.length() == 0) + { + log.warning("No From"); + return null; + } + if (to == null || to.length() == 0) + { + log.warning("No To"); + return null; + } + // + EMail email = new EMail (this, + from, to, + subject, message, html); + if (isSmtpAuthorization()) + email.createAuthenticator (getRequestUser(), getRequestUserPW()); + return email; + } // createEMailFrom + /** * Create EMail from User * @param from optional sender * @param to recipient - * @param subject sunject - * @param message nessage + * @param subject subject + * @param message message * @return EMail */ public EMail createEMail (MUser from, MUser to, @@ -852,8 +883,8 @@ public class MClient extends X_AD_Client * Create EMail from User * @param from optional sender * @param to recipient - * @param subject sunject - * @param message nessage + * @param subject subject + * @param message message * @param html * @return EMail */ @@ -877,8 +908,8 @@ public class MClient extends X_AD_Client * Create EMail from User * @param from optional sender * @param to recipient - * @param subject sunject - * @param message nessage + * @param subject subject + * @param message message * @return EMail */ public EMail createEMail (MUser from, String to, @@ -891,8 +922,8 @@ public class MClient extends X_AD_Client * Create EMail from User * @param from optional sender * @param to recipient - * @param subject sunject - * @param message nessage + * @param subject subject + * @param message message * @param html * @return EMail */ diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PackInNotifier.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PackInNotifier.java index d6348b54bd..47ce701c1d 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PackInNotifier.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PackInNotifier.java @@ -154,7 +154,13 @@ public class PackInNotifier { StringTokenizer st = new StringTokenizer(emailList, " ,;", false); String to = st.nextToken(); - EMail email = client.createEMail(null, to, subject.toString(), message.toString()); + String from = client.getRequestEMail(); + if (from == null && client.getAD_Client_ID() != 0 && MClient.isSendCredentialsSystem()) { + MClient sysclient = MClient.get(Env.getCtx(), 0); + from = sysclient.getRequestEMail(); + } + + EMail email = client.createEMailFrom(from, to, subject.toString(), message.toString(), false); if (email != null) { if (!packIn.isSuccess()) {