/** Serves feedback form. */ @Override @GetMapping public String init(final Model model) { super.init(model); model.addAttribute("adminEmails", userService.getSuEmailAddresses()); if (SecurityUtils.currentUserIsAuthenticated()) { User currentUser = userService.getUser(SecurityUtils.getCurrentUsername()); model.addAttribute("userName", getFormattedName(currentUser)); model.addAttribute("userEmail", currentUser.getEmail()); } model.addAttribute("isRecaptchaEnabled", appSettings.getRecaptchaIsEnabled()); model.addAttribute("recaptchaPublicKey", appSettings.getRecaptchaPublicKey()); return VIEW_FEEDBACK; }
if (userService.getUserByEmail(user.getEmail()) != null) { throw new EmailAlreadyExistsException( "Email '" + user.getEmail() + "' is already registered."); throw new MolgenisDataException("Administrator account is missing required email address"); } else { String activationEmailAddress = user.getEmail(); if (activationEmailAddress == null || activationEmailAddress.isEmpty()) throw new MolgenisDataException(
@Override @RunAsSystem public void resetPassword(String userEmail) { User user = dataService.query(USER, User.class).eq(EMAIL, userEmail).findOne(); if (user != null) { if (!user.isActive()) { throw new DisabledException(MolgenisLoginController.ERROR_MESSAGE_DISABLED); } String newPassword = idGenerator.generateId(SHORT_SECURE_RANDOM); user.setPassword(newPassword); user.setChangePassword(true); dataService.update(USER, user); // send password reseted email to user SimpleMailMessage mailMessage = new SimpleMailMessage(); mailMessage.setTo(user.getEmail()); mailMessage.setSubject("Your new password request"); mailMessage.setText(createPasswordResettedEmailText(newPassword)); mailSender.send(mailMessage); } else { throw new MolgenisUserException("Invalid email address."); } }
@Override @RunAsSystem public void activateUser(String activationCode) { User user = dataService .query(USER, User.class) .eq(ACTIVE, false) .and() .eq(ACTIVATIONCODE, activationCode) .findOne(); if (user != null) { user.setActive(true); dataService.update(USER, user); // send activated email to user SimpleMailMessage mailMessage = new SimpleMailMessage(); mailMessage.setTo(user.getEmail()); mailMessage.setSubject("Your registration request for " + appSettings.getTitle()); mailMessage.setText(createActivatedEmailText(user, appSettings.getTitle())); mailSender.send(mailMessage); } else { throw new MolgenisUserException("Invalid activation code or account already activated."); } }