FEAT: Allow admin delete user's associated accounts (#29018)

This commit introduces a feature that allows an admin to delete a user's
associated account. After deletion, a log will be recorded in staff
actions.

ref=t/136675
This commit is contained in:
Linca
2024-09-27 20:08:05 +08:00
committed by GitHub
parent e2f3474bc3
commit a1e5796ba1
10 changed files with 133 additions and 2 deletions

View File

@ -78,8 +78,8 @@ export default class AdminUserIndexController extends Controller.extend(
@discourseComputed("model.associated_accounts")
associatedAccounts(associatedAccounts) {
return associatedAccounts
.map((provider) => `${provider.name} (${provider.description})`)
.join(", ");
?.map((provider) => `${provider.name} (${provider.description})`)
?.join(", ");
}
@discourseComputed("model.user_fields.[]")
@ -319,6 +319,16 @@ export default class AdminUserIndexController extends Controller.extend(
return this.model.silence();
}
@action
deleteAssociatedAccounts() {
this.dialog.yesNoConfirm({
message: I18n.t("admin.user.delete_associated_accounts_confirm"),
didConfirm: () => {
this.model.deleteAssociatedAccounts().catch(popupAjaxError);
},
});
}
@action
anonymize() {
const user = this.model;