From a3a17dc8282a2a955f1e0b027234367339a2f1a7 Mon Sep 17 00:00:00 2001 From: ShvaykaD Date: Fri, 10 Apr 2020 15:06:44 +0300 Subject: [PATCH] add sendActivationEmail as request param (default -> true) to activate method in auth controller and login service (#2597) --- .../thingsboard/server/controller/AuthController.java | 11 +++++++---- ui/src/app/api/login.service.js | 5 ++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/controller/AuthController.java b/application/src/main/java/org/thingsboard/server/controller/AuthController.java index 0cb9b29501..44449eb3d6 100644 --- a/application/src/main/java/org/thingsboard/server/controller/AuthController.java +++ b/application/src/main/java/org/thingsboard/server/controller/AuthController.java @@ -199,6 +199,7 @@ public class AuthController extends BaseController { @ResponseBody public JsonNode activateUser( @RequestBody JsonNode activateRequest, + @RequestParam(required = false, defaultValue = "true") boolean sendActivationMail, HttpServletRequest request) throws ThingsboardException { try { String activateToken = activateRequest.get("activateToken").asText(); @@ -213,10 +214,12 @@ public class AuthController extends BaseController { String loginUrl = String.format("%s/login", baseUrl); String email = user.getEmail(); - try { - mailService.sendAccountActivatedEmail(loginUrl, email); - } catch (Exception e) { - log.info("Unable to send account activation email [{}]", e.getMessage()); + if (sendActivationMail) { + try { + mailService.sendAccountActivatedEmail(loginUrl, email); + } catch (Exception e) { + log.info("Unable to send account activation email [{}]", e.getMessage()); + } } JwtToken accessToken = tokenFactory.createAccessJwtToken(securityUser); diff --git a/ui/src/app/api/login.service.js b/ui/src/app/api/login.service.js index 2322c13b63..0707070ed5 100644 --- a/ui/src/app/api/login.service.js +++ b/ui/src/app/api/login.service.js @@ -85,9 +85,12 @@ function LoginService($http, $q) { return deferred.promise; } - function activate(activateToken, password) { + function activate(activateToken, password, sendActivationMail) { var deferred = $q.defer(); var url = '/api/noauth/activate'; + if(sendActivationMail === true || sendActivationMail === false) { + url += '?sendActivationMail=' + sendActivationMail; + } $http.post(url, {activateToken: activateToken, password: password}).then(function success(response) { deferred.resolve(response); }, function fail() {