|
|
|
@ -94,12 +94,24 @@ public class UserController extends BaseController { |
|
|
|
processDashboardIdFromAdditionalInfo((ObjectNode) user.getAdditionalInfo(), DEFAULT_DASHBOARD); |
|
|
|
processDashboardIdFromAdditionalInfo((ObjectNode) user.getAdditionalInfo(), HOME_DASHBOARD); |
|
|
|
} |
|
|
|
UserCredentials userCredentials = userService.findUserCredentialsByUserId(user.getTenantId(), user.getId()); |
|
|
|
if(userCredentials.isEnabled()) { |
|
|
|
addUserCredentialsEnabled((ObjectNode) user.getAdditionalInfo()); |
|
|
|
} |
|
|
|
return user; |
|
|
|
} catch (Exception e) { |
|
|
|
throw handleException(e); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void addUserCredentialsEnabled(ObjectNode additionalInfo) { |
|
|
|
if(!additionalInfo.isNull()) { |
|
|
|
if(!additionalInfo.has("userCredentialsEnabled")) { |
|
|
|
additionalInfo.put("userCredentialsEnabled", true); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')") |
|
|
|
@RequestMapping(value = "/user/tokenAccessEnabled", method = RequestMethod.GET) |
|
|
|
@ResponseBody |
|
|
|
@ -193,13 +205,13 @@ public class UserController extends BaseController { |
|
|
|
user.getId(), user); |
|
|
|
|
|
|
|
UserCredentials userCredentials = userService.findUserCredentialsByUserId(getCurrentUser().getTenantId(), user.getId()); |
|
|
|
if (!userCredentials.isEnabled()) { |
|
|
|
if (!userCredentials.isEnabled() && userCredentials.getActivateToken() != null) { |
|
|
|
String baseUrl = systemSecurityService.getBaseUrl(getTenantId(), getCurrentUser().getCustomerId(), request); |
|
|
|
String activateUrl = String.format(ACTIVATE_URL_PATTERN, baseUrl, |
|
|
|
userCredentials.getActivateToken()); |
|
|
|
mailService.sendActivationEmail(activateUrl, email); |
|
|
|
} else { |
|
|
|
throw new ThingsboardException("User is already active!", ThingsboardErrorCode.BAD_REQUEST_PARAMS); |
|
|
|
throw new ThingsboardException("User is already activated!", ThingsboardErrorCode.BAD_REQUEST_PARAMS); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
throw handleException(e); |
|
|
|
@ -218,13 +230,13 @@ public class UserController extends BaseController { |
|
|
|
User user = checkUserId(userId, Operation.READ); |
|
|
|
SecurityUser authUser = getCurrentUser(); |
|
|
|
UserCredentials userCredentials = userService.findUserCredentialsByUserId(authUser.getTenantId(), user.getId()); |
|
|
|
if (!userCredentials.isEnabled()) { |
|
|
|
if (!userCredentials.isEnabled() && userCredentials.getActivateToken() != null) { |
|
|
|
String baseUrl = systemSecurityService.getBaseUrl(getTenantId(), getCurrentUser().getCustomerId(), request); |
|
|
|
String activateUrl = String.format(ACTIVATE_URL_PATTERN, baseUrl, |
|
|
|
userCredentials.getActivateToken()); |
|
|
|
return activateUrl; |
|
|
|
} else { |
|
|
|
throw new ThingsboardException("User is already active!", ThingsboardErrorCode.BAD_REQUEST_PARAMS); |
|
|
|
throw new ThingsboardException("User is already activated!", ThingsboardErrorCode.BAD_REQUEST_PARAMS); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
throw handleException(e); |
|
|
|
|