Browse Source

add sendActivationEmail as request param (default -> true) to activate method in auth controller and login service

pull/2597/head
Dmytro Shvaika 7 years ago
parent
commit
8133cf4623
  1. 11
      application/src/main/java/org/thingsboard/server/controller/AuthController.java
  2. 5
      ui/src/app/api/login.service.js

11
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);

5
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() {

Loading…
Cancel
Save