Skip to content

Commit c7e48b7

Browse files
committed
address copilot comments
1 parent 10225ed commit c7e48b7

File tree

7 files changed

+19
-20
lines changed

7 files changed

+19
-20
lines changed

api/src/main/java/org/apache/cloudstack/api/response/LoginCmdResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public class LoginCmdResponse extends AuthenticationCmdResponse {
9191
private String managementServerId;
9292

9393
@SerializedName(value = ApiConstants.PASSWORD_CHANGE_REQUIRED)
94-
@Param(description = "Is User required to change password on next login.", since = "4.23.0")
94+
@Param(description = "Indicates whether the User is required to change password on next login.", since = "4.23.0")
9595
private String passwordChangeRequired;
9696

9797
public String getUsername() {

api/src/main/java/org/apache/cloudstack/api/response/UserResponse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ public class UserResponse extends BaseResponse implements SetResourceIconRespons
133133
ApiConstants.ApiKeyAccess apiKeyAccess;
134134

135135
@SerializedName(value = ApiConstants.PASSWORD_CHANGE_REQUIRED)
136-
@Param(description = "Is User required to change password on next login.", since = "4.23.0")
136+
@Param(description = "Indicates whether the User is required to change password on next login.", since = "4.23.0")
137137
private Boolean passwordChangeRequired;
138138

139139
@Override
@@ -323,7 +323,7 @@ public void setApiKeyAccess(Boolean apiKeyAccess) {
323323
}
324324

325325
public Boolean isPasswordChangeRequired() {
326-
return passwordChangeRequired;
326+
return Boolean.TRUE.equals(passwordChangeRequired);
327327
}
328328

329329
public void setPasswordChangeRequired(Boolean passwordChangeRequired) {

plugins/api/discovery/src/main/java/org/apache/cloudstack/discovery/ApiDiscoveryServiceImpl.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -285,11 +285,10 @@ public ListResponse<? extends BaseResponse> listApis(User user, String name) {
285285

286286
// Limit APIs on first login requiring password change
287287
UserAccount userAccount = accountService.getUserAccountById(user.getId());
288-
if (MapUtils.isNotEmpty(userAccount.getDetails()) &&
289-
userAccount.getDetails().containsKey(UserDetailVO.PasswordChangeRequired)) {
290-
291-
String needPasswordChange = userAccount.getDetails().get(UserDetailVO.PasswordChangeRequired);
292-
if ("true".equalsIgnoreCase(needPasswordChange)) {
288+
Map<String, String> userAccDetails = userAccount.getDetails();
289+
if (MapUtils.isNotEmpty(userAccDetails)) {
290+
String needPwdChangeStr = userAccDetails.get(UserDetailVO.PasswordChangeRequired);
291+
if ("true".equalsIgnoreCase(needPwdChangeStr)) {
293292
apisAllowed = Arrays.asList("login", "logout", "updateUser", "listUsers", "listApis");
294293
}
295294
} else {

server/src/main/java/com/cloud/api/ApiServer.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1230,7 +1230,7 @@ private ResponseObject createLoginResponse(HttpSession session) {
12301230
if (ApiConstants.MANAGEMENT_SERVER_ID.equalsIgnoreCase(attrName)) {
12311231
response.setManagementServerId(attrObj.toString());
12321232
}
1233-
if (PASSWORD_CHANGE_REQUIRED.endsWith(attrName)) {
1233+
if (PASSWORD_CHANGE_REQUIRED.equalsIgnoreCase(attrName)) {
12341234
response.setPasswordChangeRequired(attrObj.toString());
12351235
}
12361236
}
@@ -1333,11 +1333,11 @@ public ResponseObject loginUser(final HttpSession session, final String username
13331333
final String sessionKey = Base64.encodeBase64URLSafeString(sessionKeyBytes);
13341334
session.setAttribute(ApiConstants.SESSIONKEY, sessionKey);
13351335

1336-
if (!MapUtils.isEmpty(userAcct.getDetails())) {
1337-
String needPwdChangeStr = userAcct.getDetails().getOrDefault(UserDetailVO.PasswordChangeRequired, null);
1338-
if (needPwdChangeStr != null) {
1339-
boolean needPwdChange = "true".equalsIgnoreCase(needPwdChangeStr);
1340-
session.setAttribute(PASSWORD_CHANGE_REQUIRED, needPwdChange);
1336+
Map<String, String> userAccDetails = userAcct.getDetails();
1337+
if (MapUtils.isNotEmpty(userAccDetails)) {
1338+
String needPwdChangeStr = userAccDetails.get(UserDetailVO.PasswordChangeRequired);
1339+
if ("true".equalsIgnoreCase(needPwdChangeStr)) {
1340+
session.setAttribute(PASSWORD_CHANGE_REQUIRED, true);
13411341
}
13421342
}
13431343
return createLoginResponse(session);

server/src/main/java/com/cloud/user/AccountManagerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1590,7 +1590,7 @@ private void updatePasswordChangeRequired(User caller, UpdateUserCmd updateUserC
15901590
if (StringUtils.isNotBlank(updateUserCmd.getPassword()) && isNormalUser(user.getAccountId())) {
15911591
boolean isPasswordResetRequired = updateUserCmd.isPasswordChangeRequired();
15921592
// Admins only can enforce passwordChangeRequired for user
1593-
if ((isRootAdmin(caller.getId()) || isDomainAdmin(caller.getAccountId()))) {
1593+
if ((isRootAdmin(caller.getAccountId()) || isDomainAdmin(caller.getAccountId()))) {
15941594
if (isPasswordResetRequired) {
15951595
_userDetailsDao.addDetail(user.getId(), PasswordChangeRequired, "true", false);
15961596
}

ui/src/views/iam/ChangeUserPassword.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ export default {
143143
params.currentpassword = values.currentpassword
144144
}
145145
146-
if (this.isAdminOrDomainAdmin && values.passwordChangeRequired) {
146+
if (this.isAdminOrDomainAdmin() && values.passwordChangeRequired) {
147147
params.passwordchangerequired = values.passwordChangeRequired
148148
}
149149
postAPI('updateUser', params).then(json => {

ui/src/views/iam/ForceChangePassword.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,10 @@ export default {
127127
computed: {
128128
rules () {
129129
return {
130-
currentpassword: [{ required: true, message: this.$t('message.error.current.password') || 'Please enter current password' }],
131-
password: [{ required: true, message: this.$t('message.error.new.password') || 'Please enter new password' }],
130+
currentpassword: [{ required: true, message: this.$t('message.error.current.password') }],
131+
password: [{ required: true, message: this.$t('message.error.new.password') }],
132132
confirmpassword: [
133-
{ required: true, message: this.$t('message.error.confirm.password') || 'Please confirm new password' },
133+
{ required: true, message: this.$t('message.error.confirm.password') },
134134
{ validator: this.validateTwoPassword, trigger: 'change' }
135135
]
136136
}
@@ -250,7 +250,7 @@ export default {
250250
margin-top: 16px;
251251
252252
a {
253-
color: #1890ff; /* Ant Design Link Color */
253+
color: #1890ff;
254254
transition: color 0.3s;
255255
256256
&:hover {

0 commit comments

Comments
 (0)