NIHVIVO-2703 Root user shouldn't require a role, and shouldn't accept one if offered.
This commit is contained in:
parent
8e94e7a4e3
commit
6f4a024510
1 changed files with 18 additions and 5 deletions
|
@ -85,7 +85,7 @@ public class UserAccountsEditPage extends UserAccountsPage {
|
|||
externalAuthId = getStringParameter(PARAMETER_EXTERNAL_AUTH_ID, "");
|
||||
firstName = getStringParameter(PARAMETER_FIRST_NAME, "");
|
||||
lastName = getStringParameter(PARAMETER_LAST_NAME, "");
|
||||
selectedRoleUri = getStringParameter(PARAMETER_ROLE, "");
|
||||
selectedRoleUri = isRootUser() ? "" :getStringParameter(PARAMETER_ROLE, "");
|
||||
associateWithProfile = isParameterAsExpected(
|
||||
PARAMETER_ASSOCIATE_WITH_PROFILE, "yes");
|
||||
|
||||
|
@ -127,7 +127,7 @@ public class UserAccountsEditPage extends UserAccountsPage {
|
|||
errorCode = ERROR_NO_FIRST_NAME;
|
||||
} else if (lastName.isEmpty()) {
|
||||
errorCode = ERROR_NO_LAST_NAME;
|
||||
} else if (selectedRoleUri.isEmpty()) {
|
||||
} else if (!isRootUser() && selectedRoleUri.isEmpty()) {
|
||||
errorCode = ERROR_NO_ROLE;
|
||||
} else {
|
||||
errorCode = strategy.additionalValidations();
|
||||
|
@ -157,6 +157,10 @@ public class UserAccountsEditPage extends UserAccountsPage {
|
|||
return userAccountsDao.getUserAccountByExternalAuthId(externalAuthId) != null;
|
||||
}
|
||||
|
||||
private boolean isRootUser() {
|
||||
return userAccountsDao.isRootUser(userAccount);
|
||||
}
|
||||
|
||||
public boolean isValid() {
|
||||
return errorCode.isEmpty();
|
||||
}
|
||||
|
@ -177,6 +181,11 @@ public class UserAccountsEditPage extends UserAccountsPage {
|
|||
body.put("lastName", userAccount.getLastName());
|
||||
body.put("selectedRole", getExistingRoleUri());
|
||||
}
|
||||
|
||||
if (isRootUser()) {
|
||||
body.put("selectedRole", "");
|
||||
}
|
||||
|
||||
body.put("roles", buildRolesList());
|
||||
if (associateWithProfile) {
|
||||
body.put("associate", Boolean.TRUE);
|
||||
|
@ -213,8 +222,12 @@ public class UserAccountsEditPage extends UserAccountsPage {
|
|||
userAccount.setLastName(lastName);
|
||||
userAccount.setExternalAuthId(externalAuthId);
|
||||
|
||||
userAccount
|
||||
.setPermissionSetUris(Collections.singleton(selectedRoleUri));
|
||||
if (isRootUser()) {
|
||||
userAccount.setPermissionSetUris(Collections.<String> emptySet());
|
||||
} else {
|
||||
userAccount.setPermissionSetUris(Collections
|
||||
.singleton(selectedRoleUri));
|
||||
}
|
||||
|
||||
strategy.setAdditionalProperties(userAccount);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue