Null activation link and absent expected field in additional info fixed
This commit is contained in:
parent
8ea3dcb808
commit
a2d9899a46
@ -94,12 +94,24 @@ public class UserController extends BaseController {
|
|||||||
processDashboardIdFromAdditionalInfo((ObjectNode) user.getAdditionalInfo(), DEFAULT_DASHBOARD);
|
processDashboardIdFromAdditionalInfo((ObjectNode) user.getAdditionalInfo(), DEFAULT_DASHBOARD);
|
||||||
processDashboardIdFromAdditionalInfo((ObjectNode) user.getAdditionalInfo(), HOME_DASHBOARD);
|
processDashboardIdFromAdditionalInfo((ObjectNode) user.getAdditionalInfo(), HOME_DASHBOARD);
|
||||||
}
|
}
|
||||||
|
UserCredentials userCredentials = userService.findUserCredentialsByUserId(user.getTenantId(), user.getId());
|
||||||
|
if(userCredentials.isEnabled()) {
|
||||||
|
addUserCredentialsEnabled((ObjectNode) user.getAdditionalInfo());
|
||||||
|
}
|
||||||
return user;
|
return user;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw handleException(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')")
|
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
|
||||||
@RequestMapping(value = "/user/tokenAccessEnabled", method = RequestMethod.GET)
|
@RequestMapping(value = "/user/tokenAccessEnabled", method = RequestMethod.GET)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@ -193,13 +205,13 @@ public class UserController extends BaseController {
|
|||||||
user.getId(), user);
|
user.getId(), user);
|
||||||
|
|
||||||
UserCredentials userCredentials = userService.findUserCredentialsByUserId(getCurrentUser().getTenantId(), user.getId());
|
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 baseUrl = systemSecurityService.getBaseUrl(getTenantId(), getCurrentUser().getCustomerId(), request);
|
||||||
String activateUrl = String.format(ACTIVATE_URL_PATTERN, baseUrl,
|
String activateUrl = String.format(ACTIVATE_URL_PATTERN, baseUrl,
|
||||||
userCredentials.getActivateToken());
|
userCredentials.getActivateToken());
|
||||||
mailService.sendActivationEmail(activateUrl, email);
|
mailService.sendActivationEmail(activateUrl, email);
|
||||||
} else {
|
} 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) {
|
} catch (Exception e) {
|
||||||
throw handleException(e);
|
throw handleException(e);
|
||||||
@ -218,13 +230,13 @@ public class UserController extends BaseController {
|
|||||||
User user = checkUserId(userId, Operation.READ);
|
User user = checkUserId(userId, Operation.READ);
|
||||||
SecurityUser authUser = getCurrentUser();
|
SecurityUser authUser = getCurrentUser();
|
||||||
UserCredentials userCredentials = userService.findUserCredentialsByUserId(authUser.getTenantId(), user.getId());
|
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 baseUrl = systemSecurityService.getBaseUrl(getTenantId(), getCurrentUser().getCustomerId(), request);
|
||||||
String activateUrl = String.format(ACTIVATE_URL_PATTERN, baseUrl,
|
String activateUrl = String.format(ACTIVATE_URL_PATTERN, baseUrl,
|
||||||
userCredentials.getActivateToken());
|
userCredentials.getActivateToken());
|
||||||
return activateUrl;
|
return activateUrl;
|
||||||
} else {
|
} 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) {
|
} catch (Exception e) {
|
||||||
throw handleException(e);
|
throw handleException(e);
|
||||||
|
|||||||
@ -61,7 +61,6 @@ export class UserComponent extends EntityComponent<User> {
|
|||||||
|
|
||||||
isUserCredentialPresent(): boolean {
|
isUserCredentialPresent(): boolean {
|
||||||
return !(!this.entity || !this.entity.additionalInfo || isUndefined(this.entity.additionalInfo.userCredentialsEnabled));
|
return !(!this.entity || !this.entity.additionalInfo || isUndefined(this.entity.additionalInfo.userCredentialsEnabled));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buildForm(entity: User): FormGroup {
|
buildForm(entity: User): FormGroup {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user