From a3cc50e9920c809c8b3c702cc78b42710a98883c Mon Sep 17 00:00:00 2001 From: unaibrrgn <75972112+unaibrrgn@users.noreply.github.com> Date: Fri, 3 Mar 2023 14:20:19 +0100 Subject: [PATCH 1/3] basic action email system --- .../web/controller/ControlBody.java | 112 ++++++++++-------- .../web/controller/DiscardProposal.java | 3 + .../controller/SubmittingOrganisations.java | 11 +- .../configuration.properties | 9 ++ .../base/utility/BaseConstants.java | 12 +- .../re3gistry2/base/utility/MailManager.java | 73 ++++++++++++ 6 files changed, 170 insertions(+), 50 deletions(-) diff --git a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/ControlBody.java b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/ControlBody.java index 681b6c07..769fbee2 100644 --- a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/ControlBody.java +++ b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/ControlBody.java @@ -26,6 +26,7 @@ import eu.europa.ec.re3gistry2.base.utility.Configuration; import eu.europa.ec.re3gistry2.base.utility.BaseConstants; import eu.europa.ec.re3gistry2.base.utility.InputSanitizerHelper; +import eu.europa.ec.re3gistry2.base.utility.MailManager; import eu.europa.ec.re3gistry2.base.utility.PersistenceFactory; import eu.europa.ec.re3gistry2.base.utility.UserHelper; import eu.europa.ec.re3gistry2.base.utility.WebConstants; @@ -53,6 +54,7 @@ import eu.europa.ec.re3gistry2.model.RegRelationproposed; import eu.europa.ec.re3gistry2.model.RegRole; import eu.europa.ec.re3gistry2.model.RegUser; +import eu.europa.ec.re3gistry2.web.utility.SendEmailFromAction; import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; @@ -60,8 +62,11 @@ import java.util.Collections; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; import java.util.Optional; +import java.util.ResourceBundle; +import javax.mail.internet.InternetAddress; import javax.persistence.EntityManager; import javax.persistence.NoResultException; import javax.persistence.Persistence; @@ -167,53 +172,53 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp // This is a view request - //Cache the parent of the proposed item - ItemCache cache = (ItemCache) request.getAttribute(BaseConstants.ATTRIBUTE_CACHE_KEY); - if (cache == null) { - cache = new EhCache(); - request.setAttribute(BaseConstants.ATTRIBUTE_CACHE_KEY, cache); - } - if (formRegActionUuid != null){ - RegAction regActionForCache; - List regItemProposeds; - try{ - regActionForCache = regActionManager.get(formRegActionUuid); - regItemProposeds = regItemproposedManager.getAll(regActionForCache); - }catch(Exception e){ - regItemProposeds = Collections.emptyList(); - } - - HashSet parentsList = new HashSet (); - HashSet collectionsList = new HashSet (); - for (RegItemproposed regItemProposed : regItemProposeds) { - List collections = regRelationproposedManager.getAllByObject(regItemProposed); - - if(collections != null && collections.size() > 0 ){ - for (RegRelationproposed collection : collections) { - if(collection.getRegRelationpredicate().getLocalid().equals(BaseConstants.KEY_PREDICATE_COLLECTION)){ - String uuid = collection.getRegItemObject().getUuid(); - collectionsList.add(uuid); - } - } - } - if(regItemProposed.getRegAction() != null && regItemProposed.getRegAction().getRegItemRegister() != null){ - if(regItemProposed.getRegAction().getRegItemRegister().getRegItemclass() != null && regItemProposed.getRegAction().getRegItemRegister().getRegItemclass().getUuid() != null){ - String uuid = regItemProposed.getRegAction().getRegItemRegister().getRegItemclass().getUuid(); - parentsList.add(uuid); - } - } - } - EntityManager emCache = PersistenceFactory.getEntityManagerFactory().createEntityManager(); - CacheAll cacheAll = new CacheAll(emCache, cache, null); - for (String uuid : parentsList) { -// EntityManager emCache = Persistence.createEntityManagerFactory(BaseConstants.KEY_PROPERTY_PERSISTENCE_UNIT_NAME).createEntityManager(); - cacheAll.run(uuid); - } - for (String uuid : collectionsList) { -// EntityManager emCache = Persistence.createEntityManagerFactory(BaseConstants.KEY_PROPERTY_PERSISTENCE_UNIT_NAME).createEntityManager(); - cacheAll.run(uuid); - } - } +// //Cache the parent of the proposed item +// ItemCache cache = (ItemCache) request.getAttribute(BaseConstants.ATTRIBUTE_CACHE_KEY); +// if (cache == null) { +// cache = new EhCache(); +// request.setAttribute(BaseConstants.ATTRIBUTE_CACHE_KEY, cache); +// } +// if (formRegActionUuid != null){ +// RegAction regActionForCache; +// List regItemProposeds; +// try{ +// regActionForCache = regActionManager.get(formRegActionUuid); +// regItemProposeds = regItemproposedManager.getAll(regActionForCache); +// }catch(Exception e){ +// regItemProposeds = Collections.emptyList(); +// } +// +// HashSet parentsList = new HashSet (); +// HashSet collectionsList = new HashSet (); +// for (RegItemproposed regItemProposed : regItemProposeds) { +// List collections = regRelationproposedManager.getAllByObject(regItemProposed); +// +// if(collections != null && collections.size() > 0 ){ +// for (RegRelationproposed collection : collections) { +// if(collection.getRegRelationpredicate().getLocalid().equals(BaseConstants.KEY_PREDICATE_COLLECTION)){ +// String uuid = collection.getRegItemObject().getUuid(); +// collectionsList.add(uuid); +// } +// } +// } +// if(regItemProposed.getRegAction() != null && regItemProposed.getRegAction().getRegItemRegister() != null){ +// if(regItemProposed.getRegAction().getRegItemRegister().getRegItemclass() != null && regItemProposed.getRegAction().getRegItemRegister().getRegItemclass().getUuid() != null){ +// String uuid = regItemProposed.getRegAction().getRegItemRegister().getRegItemclass().getUuid(); +// parentsList.add(uuid); +// } +// } +// } +// EntityManager emCache = PersistenceFactory.getEntityManagerFactory().createEntityManager(); +// CacheAll cacheAll = new CacheAll(emCache, cache, null); +// for (String uuid : parentsList) { +//// EntityManager emCache = Persistence.createEntityManagerFactory(BaseConstants.KEY_PROPERTY_PERSISTENCE_UNIT_NAME).createEntityManager(); +// cacheAll.run(uuid); +// } +// for (String uuid : collectionsList) { +//// EntityManager emCache = Persistence.createEntityManagerFactory(BaseConstants.KEY_PROPERTY_PERSISTENCE_UNIT_NAME).createEntityManager(); +// cacheAll.run(uuid); +// } +// } // Getting the submitting organization RegRole @@ -269,12 +274,23 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp } catch (NoResultException e) { } } - + + + if (regItemproposeds == null && regAction!=null) { + regItemproposeds = (List) regItemproposedManager.getAll(regAction); + } + request.setAttribute(BaseConstants.KEY_REQUEST_ACTION_LIST, regActions); request.setAttribute(BaseConstants.KEY_REQUEST_ACTION, regAction); request.setAttribute(BaseConstants.KEY_REQUEST_ITEM_PROPOSEDS, regItemproposeds); request.setAttribute(BaseConstants.KEY_REQUEST_ITEM_HISTORYS, regItemhistorys); request.setAttribute(BaseConstants.KEY_REQUEST_REGITEMS, regItems); + + if(regAction!=null){ + if(regAction.getApprovedBy()!=null | regAction.getRejectedBy()!=null){ + MailManager.sendActionMail(regItemproposeds, regAction, BaseConstants.KEY_FIELD_MANDATORY_CONTROLBODY); + } + } //Dispatch request request.getRequestDispatcher(WebConstants.PAGE_JSP_FOLDER + WebConstants.PAGE_PATH_CONTROLBODY + WebConstants.PAGE_URINAME_CONTROLBODY + WebConstants.PAGE_JSP_EXTENSION).forward(request, response); diff --git a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/DiscardProposal.java b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/DiscardProposal.java index 1266b844..3ebd53e8 100644 --- a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/DiscardProposal.java +++ b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/DiscardProposal.java @@ -26,6 +26,7 @@ import eu.europa.ec.re3gistry2.base.utility.BaseConstants; import eu.europa.ec.re3gistry2.base.utility.Configuration; import eu.europa.ec.re3gistry2.base.utility.InputSanitizerHelper; +import eu.europa.ec.re3gistry2.base.utility.MailManager; import eu.europa.ec.re3gistry2.base.utility.PersistenceFactory; import eu.europa.ec.re3gistry2.javaapi.handler.RegItemproposedHandler; import eu.europa.ec.re3gistry2.model.RegUser; @@ -120,6 +121,8 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp // get all regItemProposed for this action List regItemproposedList = regItemproposedManager.getAll(regAction); + + MailManager.sendActionMail(regItemproposedList, regAction, BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS); if (!regItemproposedList.isEmpty()) { for (RegItemproposed regItemproposed : regItemproposedList) { diff --git a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/SubmittingOrganisations.java b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/SubmittingOrganisations.java index 692c0ed5..dbedd6af 100644 --- a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/SubmittingOrganisations.java +++ b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/SubmittingOrganisations.java @@ -26,6 +26,7 @@ import eu.europa.ec.re3gistry2.base.utility.Configuration; import eu.europa.ec.re3gistry2.base.utility.BaseConstants; import eu.europa.ec.re3gistry2.base.utility.InputSanitizerHelper; +import eu.europa.ec.re3gistry2.base.utility.MailManager; import eu.europa.ec.re3gistry2.base.utility.PersistenceFactory; import eu.europa.ec.re3gistry2.base.utility.UserHelper; import eu.europa.ec.re3gistry2.base.utility.WebConstants; @@ -48,6 +49,7 @@ import eu.europa.ec.re3gistry2.model.RegRole; import eu.europa.ec.re3gistry2.model.RegUser; import eu.europa.ec.re3gistry2.model.RegUserRegGroupMapping; +import eu.europa.ec.re3gistry2.web.utility.SendEmailFromAction; import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; @@ -56,6 +58,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.ResourceBundle; import java.util.Set; import javax.persistence.EntityManager; import javax.persistence.NoResultException; @@ -276,7 +279,13 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp request.setAttribute(BaseConstants.KEY_REQUEST_ITEM_PROPOSEDS, regItemproposeds); request.setAttribute(BaseConstants.KEY_REQUEST_ITEM_HISTORYS, regItemhistorys); request.setAttribute(BaseConstants.KEY_REQUEST_REGITEMS, regItems); - + + if(regAction!=null){ + if(regAction.getApprovedBy()!=null | regAction.getSubmittedBy()!=null | regAction.getRejectedBy()!=null){ + MailManager.sendActionMail(regItemproposeds, regAction, BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS); + } + } + //Dispatch request request.getRequestDispatcher(WebConstants.PAGE_JSP_FOLDER + WebConstants.PAGE_PATH_SUBMITTINGORGANISATIONS + WebConstants.PAGE_URINAME_SUBMITTINGORGANISATIONS + WebConstants.PAGE_JSP_EXTENSION).forward(request, response); diff --git a/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties b/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties index 26d2a5d0..6138e561 100644 --- a/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties +++ b/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties @@ -176,6 +176,15 @@ mail.text.body.groupschanged.ending=

Access your user profile page det mail.text.body.groupschanged.ending.contact=Registry software mail.text.body.groupschanged.ending.contact.webpage=https://github.com/ec-jrc/re3gistry +mail.text.body.itemaction.basebody=The following item(s) were changed:
+mail.text.body.itemaction.acceptedwithchanges=accepted with changes +mail.text.body.itemaction.notaccepted=not accepted +mail.text.body.itemaction.rejected=rejected +mail.text.body.itemaction.basebody.controlbody=Actions on the Control Body were made +mail.text.body.itemaction.basebody.submitting=Actions on the Submitting Organizations were made +mail.text.body.itemaction.proposedby= proposed by +mail.text.body.itemaction.was= was +mail.text.body.itemaction.actionmadeby=. The action was made by ### Webapp properties #### web.application_root_url=${application.rooturl} diff --git a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/BaseConstants.java b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/BaseConstants.java index b89461a5..d15e31f4 100644 --- a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/BaseConstants.java +++ b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/BaseConstants.java @@ -148,7 +148,17 @@ public class BaseConstants { public static final String KEY_EMAIL_BODY_GROUPSCHANGED_ENDING = "mail.text.body.groupschanged.ending"; public static final String KEY_EMAIL_BODY_GROUPSCHANGED_ENDING_CONTACT_NAME = "mail.text.body.groupschanged.ending.contact"; public static final String KEY_EMAIL_BODY_GROUPSCHANGED_ENDING_CONTACT_WEBPAGE = "mail.text.body.groupschanged.ending.contact.webpage"; - + + public static final String KEY_EMAIL_SUBJECT_ITEMACTION_CONTROLBODY = "mail.text.body.itemaction.basebody.controlbody"; + public static final String KEY_EMAIL_SUBJECT_ITEMACTION_SUBMITTINGORG = "mail.text.body.itemaction.basebody.submitting"; + public static final String KEY_EMAIL_BODY_ITEMACTION_BASE = "mail.text.body.itemaction.basebody"; + public static final String KEY_EMAIL_BODY_ITEMACTION_ACCEPTEDWCHANGES = "mail.text.body.itemaction.acceptedwithchanges"; + public static final String KEY_EMAIL_BODY_ITEMACTION_NOTACCEPTED = "mail.text.body.itemaction.notaccepted"; + public static final String KEY_EMAIL_BODY_ITEMACTION_REJECTED = "mail.text.body.itemaction.rejected"; + public static final String KEY_EMAIL_BODY_ITEMACTION_PROPOSEDBY = "mail.text.body.itemaction.proposedby"; + public static final String KEY_EMAIL_BODY_ITEMACTION_WAS = "mail.text.body.itemaction.was"; + public static final String KEY_EMAIL_BODY_ITEMACTION_ACTIONMADEBY = "mail.text.body.itemaction.actionmadeby"; + /** * mail subject and body bulk import */ diff --git a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java index 532cd793..e8277284 100644 --- a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java +++ b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java @@ -23,9 +23,15 @@ */ package eu.europa.ec.re3gistry2.base.utility; +import eu.europa.ec.re3gistry2.model.RegAction; +import eu.europa.ec.re3gistry2.model.RegItemproposed; import java.security.InvalidParameterException; +import java.util.ArrayList; import java.util.Date; +import java.util.LinkedHashSet; +import java.util.List; import java.util.Properties; +import java.util.logging.Level; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; @@ -157,4 +163,71 @@ public PasswordAuthentication getPasswordAuthentication() { throw new MessagingException(e.getMessage()); } } + + public static void sendActionMail(List regItemproposeds, RegAction regAction, String originClass) throws AddressException{ + + List itemUserNames = new ArrayList (); + List itemUserEmails = new ArrayList (); + List actionMakerNames = new ArrayList (); + List actionMakerEmails = new ArrayList (); + + if(regItemproposeds!=null && regAction!=null){ + for(RegItemproposed ri : regItemproposeds){ + + itemUserNames.add(ri.getRegUser().getName()); + itemUserEmails.add(ri.getRegUser().getEmail()); + actionMakerNames.add(regAction.getRegUser().getName()); + actionMakerEmails.add(regAction.getRegUser().getEmail()); + } + + LinkedHashSet users = new LinkedHashSet<>(); + for(int i=0; i Date: Wed, 8 Mar 2023 12:48:53 +0100 Subject: [PATCH 2/3] BaseConstants now working correctly #191 --- .../ec/re3gistry2/web/controller/ControlBody.java | 8 +++----- .../re3gistry2/web/controller/DiscardProposal.java | 2 +- .../web/controller/SubmittingOrganisations.java | 8 +++----- .../configuration.properties.orig | 10 ++++++++++ .../localizations/LocalizationBundle_en.properties | 10 ++++++++++ .../ec/re3gistry2/base/utility/MailManager.java | 13 +++++++------ 6 files changed, 34 insertions(+), 17 deletions(-) diff --git a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/ControlBody.java b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/ControlBody.java index 769fbee2..c6f5ecc9 100644 --- a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/ControlBody.java +++ b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/ControlBody.java @@ -286,12 +286,10 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp request.setAttribute(BaseConstants.KEY_REQUEST_ITEM_HISTORYS, regItemhistorys); request.setAttribute(BaseConstants.KEY_REQUEST_REGITEMS, regItems); - if(regAction!=null){ - if(regAction.getApprovedBy()!=null | regAction.getRejectedBy()!=null){ - MailManager.sendActionMail(regItemproposeds, regAction, BaseConstants.KEY_FIELD_MANDATORY_CONTROLBODY); - } + if (formRegActionUuid != null && formRegActionUuid.length() > 0 && formSubmitAction != null && formSubmitAction.length() > 0 && formActionType != null && formActionType.length() > 0) { + MailManager.sendActionMail(regItemproposeds, regAction, Configuration.getInstance().getLocalization(), BaseConstants.KEY_FIELD_MANDATORY_CONTROLBODY); } - + //Dispatch request request.getRequestDispatcher(WebConstants.PAGE_JSP_FOLDER + WebConstants.PAGE_PATH_CONTROLBODY + WebConstants.PAGE_URINAME_CONTROLBODY + WebConstants.PAGE_JSP_EXTENSION).forward(request, response); diff --git a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/DiscardProposal.java b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/DiscardProposal.java index 3ebd53e8..98e92851 100644 --- a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/DiscardProposal.java +++ b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/DiscardProposal.java @@ -122,7 +122,7 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp // get all regItemProposed for this action List regItemproposedList = regItemproposedManager.getAll(regAction); - MailManager.sendActionMail(regItemproposedList, regAction, BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS); + MailManager.sendActionMail(regItemproposedList, regAction, Configuration.getInstance().getLocalization(), BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS); if (!regItemproposedList.isEmpty()) { for (RegItemproposed regItemproposed : regItemproposedList) { diff --git a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/SubmittingOrganisations.java b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/SubmittingOrganisations.java index dbedd6af..7a1bc140 100644 --- a/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/SubmittingOrganisations.java +++ b/sources/Re3gistry2/src/main/java/eu/europa/ec/re3gistry2/web/controller/SubmittingOrganisations.java @@ -280,12 +280,10 @@ private void processRequest(HttpServletRequest request, HttpServletResponse resp request.setAttribute(BaseConstants.KEY_REQUEST_ITEM_HISTORYS, regItemhistorys); request.setAttribute(BaseConstants.KEY_REQUEST_REGITEMS, regItems); - if(regAction!=null){ - if(regAction.getApprovedBy()!=null | regAction.getSubmittedBy()!=null | regAction.getRejectedBy()!=null){ - MailManager.sendActionMail(regItemproposeds, regAction, BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS); + if (formRegActionUuid != null && formRegActionUuid.length() > 0 && formSubmitAction != null && formSubmitAction.length() > 0) { + MailManager.sendActionMail(regItemproposeds, regAction, Configuration.getInstance().getLocalization(), BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS); } - } - + //Dispatch request request.getRequestDispatcher(WebConstants.PAGE_JSP_FOLDER + WebConstants.PAGE_PATH_SUBMITTINGORGANISATIONS + WebConstants.PAGE_URINAME_SUBMITTINGORGANISATIONS + WebConstants.PAGE_JSP_EXTENSION).forward(request, response); diff --git a/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties.orig b/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties.orig index 4322f9a8..c12b05bc 100644 --- a/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties.orig +++ b/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties.orig @@ -172,6 +172,16 @@ mail.text.body.groupschanged.ending=

Access your user profile page det mail.text.body.groupschanged.ending.contact=Registry software mail.text.body.groupschanged.ending.contact.webpage=https://github.com/ec-jrc/re3gistry +mail.text.body.itemaction.basebody=The following item(s) were changed:
+mail.text.body.itemaction.acceptedwithchanges=accepted with changes +mail.text.body.itemaction.notaccepted=not accepted +mail.text.body.itemaction.rejected=rejected +mail.text.body.itemaction.basebody.controlbody=Actions on the Control Body were made +mail.text.body.itemaction.basebody.submitting=Actions on the Submitting Organizations were made +mail.text.body.itemaction.proposedby= proposed by +mail.text.body.itemaction.was= was +mail.text.body.itemaction.actionmadeby=. The action was made by + mail.text.subject.bulkimport.success=Re3gistry - bulk import {itemclass} success mail.text.subject.bulkimport.error=Re3gistry - bulk import {itemclass} error mail.text.body.bulkimport.success=Dear {name},

The bulk import has been completed with success. diff --git a/sources/Re3gistry2/src/main/resources/localizations/LocalizationBundle_en.properties b/sources/Re3gistry2/src/main/resources/localizations/LocalizationBundle_en.properties index eb85f5ac..a9e4a51c 100644 --- a/sources/Re3gistry2/src/main/resources/localizations/LocalizationBundle_en.properties +++ b/sources/Re3gistry2/src/main/resources/localizations/LocalizationBundle_en.properties @@ -617,6 +617,16 @@ mail.text.body.groupschanged.ending=

Access your user profile page det mail.text.body.groupschanged.ending.contact=Registry software mail.text.body.groupschanged.ending.contact.webpage=https://github.com/ec-jrc/re3gistry +mail.text.body.itemaction.basebody=The following item(s) were changed:
+mail.text.body.itemaction.acceptedwithchanges=accepted with changes +mail.text.body.itemaction.notaccepted=not accepted +mail.text.body.itemaction.rejected=rejected +mail.text.body.itemaction.basebody.controlbody=Actions on the Control Body were made +mail.text.body.itemaction.basebody.submitting=Actions on the Submitting Organizations were made +mail.text.body.itemaction.proposedby= proposed by +mail.text.body.itemaction.was= was +mail.text.body.itemaction.actionmadeby=. The action was made by + #tooltiop add registry registry.tooltip=Target registry where the register that you are about to create will be sitting registry.path.tooltip=This option allows to include the 'registry' word for all the elements belonging to the register that you are about to create diff --git a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java index e8277284..cbf7038a 100644 --- a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java +++ b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java @@ -31,6 +31,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Properties; +import java.util.ResourceBundle; import java.util.logging.Level; import javax.mail.Authenticator; import javax.mail.Message; @@ -164,7 +165,7 @@ public PasswordAuthentication getPasswordAuthentication() { } } - public static void sendActionMail(List regItemproposeds, RegAction regAction, String originClass) throws AddressException{ + public static void sendActionMail(List regItemproposeds, RegAction regAction, ResourceBundle systemLocalization, String originClass) throws AddressException{ List itemUserNames = new ArrayList (); List itemUserEmails = new ArrayList (); @@ -198,14 +199,14 @@ public static void sendActionMail(List regItemproposeds, RegAct String itemstatus =regAction.getRegStatus().getLocalid(); String subject = ""; - String body = BaseConstants.KEY_EMAIL_BODY_ITEMACTION_BASE; + String body = systemLocalization.getString(BaseConstants.KEY_EMAIL_BODY_ITEMACTION_BASE); if(itemstatus.equals(BaseConstants.KEY_STATUS_LOCALID_DRAFT) && originClass.equals(BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS)){ - itemstatus = BaseConstants.KEY_EMAIL_BODY_ITEMACTION_REJECTED; + itemstatus = systemLocalization.getString(BaseConstants.KEY_EMAIL_BODY_ITEMACTION_REJECTED); }else if(itemstatus.equals(BaseConstants.KEY_STATUS_LOCALID_NOTACCEPTED)){ - itemstatus = BaseConstants.KEY_EMAIL_BODY_ITEMACTION_NOTACCEPTED; + itemstatus = systemLocalization.getString(BaseConstants.KEY_EMAIL_BODY_ITEMACTION_NOTACCEPTED); }else if(itemstatus.equals(BaseConstants.KEY_STATUS_LOCALID_DRAFT)){ - itemstatus = BaseConstants.KEY_EMAIL_BODY_ITEMACTION_ACCEPTEDWCHANGES; + itemstatus = systemLocalization.getString(BaseConstants.KEY_EMAIL_BODY_ITEMACTION_ACCEPTEDWCHANGES); } if(originClass.equalsIgnoreCase(BaseConstants.KEY_FIELD_MANDATORY_CONTROLBODY)){ @@ -214,7 +215,7 @@ public static void sendActionMail(List regItemproposeds, RegAct body +="The item "+ regItemproposeds.get(i).getLocalid() + " proposed by " + itemUserNames.get(i) + " was "+ itemstatus + ". The action was made by " + actionMakerNames.get(i); } }else if(originClass.equalsIgnoreCase(BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS)){ - subject = BaseConstants.KEY_EMAIL_SUBJECT_ITEMACTION_SUBMITTINGORG; + subject = systemLocalization.getString(BaseConstants.KEY_EMAIL_SUBJECT_ITEMACTION_SUBMITTINGORG); for(int i=0;i Date: Thu, 16 Mar 2023 13:35:24 +0100 Subject: [PATCH 3/3] #191 Adapted new email template proposal --- .../configurations_files/configuration.properties | 2 ++ .../configuration.properties.orig | 2 ++ .../localizations/LocalizationBundle_en.properties | 2 ++ .../ec/re3gistry2/base/utility/BaseConstants.java | 2 ++ .../ec/re3gistry2/base/utility/MailManager.java | 11 +++++------ 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties b/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties index 6138e561..c59e1865 100644 --- a/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties +++ b/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties @@ -42,6 +42,8 @@ application.language.label.en=English (en) #application.language.label.it=Italiano (it) application.language.defaultLocale=en +application.default.name = Re3gistry2 + # ECAS base URL (authetication method) application.ecas.baseurl = https://webgate.ec.europa.eu diff --git a/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties.orig b/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties.orig index c12b05bc..4b8acae2 100644 --- a/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties.orig +++ b/sources/Re3gistry2/src/main/resources/configurations_files/configuration.properties.orig @@ -145,6 +145,8 @@ role.permissions.registerOwner=ManageUser,ManageGroup,MapUserToGroup role.permissions.controlBody=ApproveProposal role.permissions.submittingOrganization=ManageItemProposal,SubmitProposal +application.default.name + #### End Roles and permissions section ######################################### ### Mail ### diff --git a/sources/Re3gistry2/src/main/resources/localizations/LocalizationBundle_en.properties b/sources/Re3gistry2/src/main/resources/localizations/LocalizationBundle_en.properties index a9e4a51c..f4b383c7 100644 --- a/sources/Re3gistry2/src/main/resources/localizations/LocalizationBundle_en.properties +++ b/sources/Re3gistry2/src/main/resources/localizations/LocalizationBundle_en.properties @@ -448,6 +448,8 @@ discard.contentclass.confirm=Are you sure you want to remove the content class? profile.label.title = User profile +application.default.name = Re3gistry2 + #installation fileds installation.main.title=Re3gistry installation wizard diff --git a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/BaseConstants.java b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/BaseConstants.java index d15e31f4..9c1e6093 100644 --- a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/BaseConstants.java +++ b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/BaseConstants.java @@ -84,6 +84,8 @@ public class BaseConstants { public static final String KEY_PROPERTY_LOGIN_TYPE = "application.login.type"; public static final String KEY_PROPERTY_LOGIN_TYPE_SHIRO = "SHIRO"; public static final String KEY_PROPERTY_LOGIN_TYPE_ECAS = "ECAS"; + + public static final String KEY_PROPERTY_APP_DEFAULT_NAME = "application.default.name"; public static final String KEY_PROPERTY_INTERFACE_TYPE = "application.selected.interface"; public static final String KEY_PROPERTY_INTERFACE_NEUTRAL_TYPE = "neutral"; diff --git a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java index cbf7038a..c70860fa 100644 --- a/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java +++ b/sources/Re3gistry2Base/src/main/java/eu/europa/ec/re3gistry2/base/utility/MailManager.java @@ -198,8 +198,9 @@ public static void sendActionMail(List regItemproposeds, RegAct String itemstatus =regAction.getRegStatus().getLocalid(); - String subject = ""; - String body = systemLocalization.getString(BaseConstants.KEY_EMAIL_BODY_ITEMACTION_BASE); + //Subject: Updates on [Registry name variable] change proposals +systemLocalization.getString(BaseConstants.KEY_PROPERTY_APP_DEFAULT_NAME)+ + String subject = "Updates on "+ systemLocalization.getString(BaseConstants.KEY_PROPERTY_APP_DEFAULT_NAME) +" change proposals"; + String body = "
Dear " + regAction.getRegUser().getName()+",

Changes have ocurred on the following item(s):

"; if(itemstatus.equals(BaseConstants.KEY_STATUS_LOCALID_DRAFT) && originClass.equals(BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS)){ itemstatus = systemLocalization.getString(BaseConstants.KEY_EMAIL_BODY_ITEMACTION_REJECTED); @@ -210,14 +211,12 @@ public static void sendActionMail(List regItemproposeds, RegAct } if(originClass.equalsIgnoreCase(BaseConstants.KEY_FIELD_MANDATORY_CONTROLBODY)){ - subject = BaseConstants.KEY_EMAIL_SUBJECT_ITEMACTION_CONTROLBODY; for(int i=0;i
"; } }else if(originClass.equalsIgnoreCase(BaseConstants.KEY_FIELD_MANDATORY_SUBMITTINGORGANIZATIONS)){ - subject = systemLocalization.getString(BaseConstants.KEY_EMAIL_SUBJECT_ITEMACTION_SUBMITTINGORG); for(int i=0;i
"; } }