From 4ee8fdc14805ac1cac1aa63ef61c2955761662bf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sun, 9 Jul 2017 12:46:02 +0200 Subject: [PATCH] Please cherry-pick: - renamed updatedUser -> managedUser, which is more accurate - always set values in managed instances to have the JPA noticed it MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../model/user/JobsUserSessionBean.java | 25 +++++++++++-------- .../resendlink/JobsResendLinkSessionBean.java | 5 +++- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/java/org/mxchange/jusercore/model/user/JobsUserSessionBean.java b/src/java/org/mxchange/jusercore/model/user/JobsUserSessionBean.java index 1272d39..4eb4753 100644 --- a/src/java/org/mxchange/jusercore/model/user/JobsUserSessionBean.java +++ b/src/java/org/mxchange/jusercore/model/user/JobsUserSessionBean.java @@ -169,22 +169,22 @@ public class JobsUserSessionBean extends BaseJobsDatabaseBean implements UserSes throw new IllegalArgumentException("baseUrl is empty"); //NOI18N } - // Update user status and remove confirmation key - user.setUserAccountStatus(UserAccountStatus.CONFIRMED); - user.setUserConfirmKey(null); - user.setUserUpdated(new GregorianCalendar()); - // Update user account - User updatedUser = this.updateUserData(user); + User managedUser = this.updateUserData(user); + + // Update user status and remove confirmation key + managedUser.setUserAccountStatus(UserAccountStatus.CONFIRMED); + managedUser.setUserConfirmKey(null); + managedUser.setUserUpdated(new GregorianCalendar()); // Send out email - this.sendEmail("User account confirmed", "user_account_confirmed", updatedUser, baseUrl, null); //NOI18N + this.sendEmail("User account confirmed", "user_account_confirmed", managedUser, baseUrl, null); //NOI18N // Trace message - this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.confirmAccount: updatedUser={1} - EXIT!", this.getClass().getSimpleName(), updatedUser)); //NOI18N + this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.confirmAccount: managedUser={1} - EXIT!", this.getClass().getSimpleName(), managedUser)); //NOI18N // Return updated instance - return updatedUser; + return managedUser; } @Override @@ -636,8 +636,11 @@ public class JobsUserSessionBean extends BaseJobsDatabaseBean implements UserSes // Call other method User managedUser = this.updateUserData(user); + // Update user account + managedUser.setUserUpdated(new GregorianCalendar()); + // Create history entry - PasswordHistory entry = new UserPasswordHistory(managedUser.getUserEncryptedPassword(), managedUser); + PasswordHistory entry = new UserPasswordHistory(user.getUserEncryptedPassword(), managedUser); // Set created timestamp entry.setUserPasswordHistoryCreated(new GregorianCalendar()); @@ -653,7 +656,7 @@ public class JobsUserSessionBean extends BaseJobsDatabaseBean implements UserSes this.getEntityManager().flush(); // Send email to user - this.sendEmail("User password change", "user_password_change", user, baseUrl, null); //NOI18N + this.sendEmail("User password change", "user_password_change", managedUser, baseUrl, null); //NOI18N // Trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.updateUserPassword: entry.userPasswordHistoryId={1} - EXIT!", this.getClass().getSimpleName(), entry.getUserPasswordHistoryId())); //NOI18N diff --git a/src/java/org/mxchange/jusercore/model/user/resendlink/JobsResendLinkSessionBean.java b/src/java/org/mxchange/jusercore/model/user/resendlink/JobsResendLinkSessionBean.java index 7baadbf..8f9836c 100644 --- a/src/java/org/mxchange/jusercore/model/user/resendlink/JobsResendLinkSessionBean.java +++ b/src/java/org/mxchange/jusercore/model/user/resendlink/JobsResendLinkSessionBean.java @@ -98,6 +98,9 @@ public class JobsResendLinkSessionBean extends BaseJobsDatabaseBean implements R // Get new registration key String confirmationKey = this.registerBean.generateConfirmationKey(user); + // Debug message + this.getLoggerBeanLocal().logDebug(MessageFormat.format("{0}.resendConfirmationLink: confirmationKey={1}", this.getClass().getSimpleName(), confirmationKey)); //NOI18N + // Get managed instance User managedUser = this.getEntityManager().find(LoginUser.class, user.getUserId()); @@ -106,7 +109,7 @@ public class JobsResendLinkSessionBean extends BaseJobsDatabaseBean implements R // Send email // @TODO: Internationlize the subject line somehow - this.sendEmail("Resend user confirmation link", "user_resend_confirmation_link", user, baseUrl, null); //NOI18N + this.sendEmail("Resend user confirmation link", "user_resend_confirmation_link", managedUser, baseUrl, null); //NOI18N // Log trace message this.getLoggerBeanLocal().logTrace(MessageFormat.format("{0}.resendConfirmationLink: managedUser={1} - EXIT!", this.getClass().getSimpleName(), managedUser)); //NOI18N -- 2.39.5