Skip to content

Commit 71b7b81

Browse files
committed
address review comments
1 parent 95cba29 commit 71b7b81

File tree

5 files changed

+8
-10
lines changed

5 files changed

+8
-10
lines changed

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -286,11 +286,8 @@ public ListResponse<? extends BaseResponse> listApis(User user, String name) {
286286
// Limit APIs on first login requiring password change
287287
UserAccount userAccount = accountService.getUserAccountById(user.getId());
288288
Map<String, String> userAccDetails = userAccount.getDetails();
289-
if (MapUtils.isNotEmpty(userAccDetails)) {
290-
String needPwdChangeStr = userAccDetails.get(UserDetailVO.PasswordChangeRequired);
291-
if ("true".equalsIgnoreCase(needPwdChangeStr)) {
292-
apisAllowed = Arrays.asList("login", "logout", "updateUser", "listUsers", "listApis");
293-
}
289+
if (MapUtils.isNotEmpty(userAccDetails) && "true".equalsIgnoreCase(userAccDetails.get(UserDetailVO.PasswordChangeRequired))) {
290+
apisAllowed = Arrays.asList("login", "logout", "updateUser", "listUsers", "listApis");
294291
} else {
295292
if (role.getRoleType() == RoleType.Admin && role.getId() == RoleType.Admin.getId()) {
296293
logger.info(String.format("Account [%s] is Root Admin, all APIs are allowed.",

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

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

ui/src/store/modules/user.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,7 @@ const user = {
315315
const latestVersion = vueProps.$localStorage.get(LATEST_CS_VERSION, { version: '', fetchedTs: 0 })
316316
commit('SET_LATEST_VERSION', latestVersion)
317317
notification.destroy()
318+
318319
resolve()
319320
}).catch(error => {
320321
reject(error)

ui/src/views/iam/ChangeUserPassword.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ export default {
109109
},
110110
isCallerNotSameAsUser () {
111111
const userId = this.$store.getters.userInfo.id
112-
return userId !== this.resource.id
112+
const resourceId = this.resource?.id ?? null
113+
return userId !== resourceId
113114
},
114115
isValidValueForKey (obj, key) {
115116
return key in obj && obj[key] != null
@@ -144,7 +145,7 @@ export default {
144145
params.currentpassword = values.currentpassword
145146
}
146147
147-
if (this.isAdminOrDomainAdmin() && values.passwordChangeRequired) {
148+
if (this.isAdminOrDomainAdmin() && values.passwordChangeRequired === true) {
148149
params.passwordchangerequired = values.passwordChangeRequired
149150
}
150151
postAPI('updateUser', params).then(json => {

ui/src/views/iam/ForceChangePassword.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
</template>
3131
<a-spin :spinning="loading">
3232
<div v-if="isSubmitted" class="success-state">
33-
<div class="success-icon">✓</div>
33+
<check-outlined class="success-icon" />
3434
<div class="success-text">
3535
{{ $t('message.success.change.password') }}
3636
</div>
@@ -197,7 +197,6 @@ export default {
197197
const user = await this.getUserInfo()
198198
if (user && !user.passwordchangerequired) {
199199
this.isSubmitted = true
200-
this.$router.replace({ path: '/user/login' })
201200
}
202201
} catch (e) {
203202
console.error('Failed to resolve user info:', e)

0 commit comments

Comments
 (0)