add send email with login credentials option when creating account
This commit is contained in:
@@ -334,10 +334,16 @@ public class UserServiceImpl implements UserService {
|
|||||||
Preconditions.checkNotNull(user, I18n.get("User cannot be null."));
|
Preconditions.checkNotNull(user, I18n.get("User cannot be null."));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!user.getSendEmailUponPasswordChange()) {
|
|
||||||
|
Boolean sendEmailUponPasswordChange = user.getSendEmailUponPasswordChange();
|
||||||
|
Boolean sendEmailUponAccountCreation = user.getSendEmailUponAccountCreation();
|
||||||
|
|
||||||
|
if(!sendEmailUponPasswordChange && !sendEmailUponAccountCreation){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(sendEmailUponPasswordChange){
|
||||||
|
|
||||||
if (user.equals(AuthUtils.getUser())) {
|
if (user.equals(AuthUtils.getUser())) {
|
||||||
logger.debug("User {} changed own password.", user.getCode());
|
logger.debug("User {} changed own password.", user.getCode());
|
||||||
return;
|
return;
|
||||||
@@ -355,7 +361,27 @@ public class UserServiceImpl implements UserService {
|
|||||||
|
|
||||||
TemplateMessageService templateMessageService = Beans.get(TemplateMessageService.class);
|
TemplateMessageService templateMessageService = Beans.get(TemplateMessageService.class);
|
||||||
templateMessageService.generateAndSendMessage(user, template);
|
templateMessageService.generateAndSendMessage(user, template);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sendEmailUponAccountCreation){
|
||||||
|
if (user.equals(AuthUtils.getUser())) {
|
||||||
|
logger.debug("User {} changed own password.", user.getCode());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
AppBase appBase = Beans.get(AppBaseService.class).getAppBase();
|
||||||
|
Template template = appBase.getAccountCreationTemplate();
|
||||||
|
|
||||||
|
if (template == null) {
|
||||||
|
throw new AxelorException(
|
||||||
|
appBase,
|
||||||
|
TraceBackRepository.CATEGORY_NO_VALUE,
|
||||||
|
I18n.get("Template for account creation is missing."));
|
||||||
|
}
|
||||||
|
|
||||||
|
TemplateMessageService templateMessageService = Beans.get(TemplateMessageService.class);
|
||||||
|
templateMessageService.generateAndSendMessage(user, template);
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
user.setTransientPassword(null);
|
user.setTransientPassword(null);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,8 +74,13 @@
|
|||||||
|
|
||||||
<boolean name="enableMultiCompany" title="Enable multi-company management" default="true"/>
|
<boolean name="enableMultiCompany" title="Enable multi-company management" default="true"/>
|
||||||
|
|
||||||
|
<!--Templates-->
|
||||||
<many-to-one name="passwordChangedTemplate" ref="com.axelor.apps.message.db.Template" title="Template for changed password"/>
|
<many-to-one name="passwordChangedTemplate" ref="com.axelor.apps.message.db.Template" title="Template for changed password"/>
|
||||||
|
|
||||||
|
<many-to-one name="accountCreationTemplate" ref="com.axelor.apps.message.db.Template" title="Template for account creation"/>
|
||||||
|
|
||||||
|
<many-to-one name="sendMailToInvitedPersonInMeetingTemplate" ref="com.axelor.apps.message.db.Template" title="Template for changed password"/>
|
||||||
|
|
||||||
<integer name="limitNumberTasksGenerated" title="Number of tasks generated at most at once" min="1" default="100"/>
|
<integer name="limitNumberTasksGenerated" title="Number of tasks generated at most at once" min="1" default="100"/>
|
||||||
|
|
||||||
<boolean name="enableCheckTco" title="Enable check TCO" />
|
<boolean name="enableCheckTco" title="Enable check TCO" />
|
||||||
@@ -135,6 +140,7 @@
|
|||||||
<field name="enableTradingNamesManagement" on="UPDATE"/>
|
<field name="enableTradingNamesManagement" on="UPDATE"/>
|
||||||
<field name="enableCalendars" on="UPDATE"/>
|
<field name="enableCalendars" on="UPDATE"/>
|
||||||
<field name="passwordChangedTemplate" on="UPDATE"/>
|
<field name="passwordChangedTemplate" on="UPDATE"/>
|
||||||
|
<field name="sendMailToInvitedPersonInMeetingTemplate" on="UPDATE"/>
|
||||||
<field name="generatePartnerSequence" on="UPDATE"/>
|
<field name="generatePartnerSequence" on="UPDATE"/>
|
||||||
<!-- 31 fields -->
|
<!-- 31 fields -->
|
||||||
</track>
|
</track>
|
||||||
|
|||||||
@@ -36,6 +36,7 @@
|
|||||||
<boolean name="noHelp" help="Whether to show help messages." massUpdate="true"/>
|
<boolean name="noHelp" help="Whether to show help messages." massUpdate="true"/>
|
||||||
<boolean name="blocked" default="true" help="Specify whether to block the user for an indefinite period." massUpdate="true"/>
|
<boolean name="blocked" default="true" help="Specify whether to block the user for an indefinite period." massUpdate="true"/>
|
||||||
<boolean name="sendEmailUponPasswordChange"/>
|
<boolean name="sendEmailUponPasswordChange"/>
|
||||||
|
<boolean name="sendEmailUponAccountCreation"/>
|
||||||
<string name="homeAction" massUpdate="true"/>
|
<string name="homeAction" massUpdate="true"/>
|
||||||
<boolean name="receiveEmails" title="Receive notifications by email" help="Allow notifications to be sent by email" default="true"/>
|
<boolean name="receiveEmails" title="Receive notifications by email" help="Allow notifications to be sent by email" default="true"/>
|
||||||
<many-to-many name="followedMetaModelSet" title="Entities you wish to follow by email" ref="com.axelor.meta.db.MetaModel"/>
|
<many-to-many name="followedMetaModelSet" title="Entities you wish to follow by email" ref="com.axelor.meta.db.MetaModel"/>
|
||||||
@@ -70,6 +71,7 @@
|
|||||||
<field name="noHelp"/>
|
<field name="noHelp"/>
|
||||||
<field name="blocked"/>
|
<field name="blocked"/>
|
||||||
<field name="sendEmailUponPasswordChange"/>
|
<field name="sendEmailUponPasswordChange"/>
|
||||||
|
<field name="sendEmailUponAccountCreation"/>
|
||||||
<field name="homeAction"/>
|
<field name="homeAction"/>
|
||||||
<field name="receiveEmails"/>
|
<field name="receiveEmails"/>
|
||||||
</track>
|
</track>
|
||||||
|
|||||||
Reference in New Issue
Block a user