Moin
10월 17, 2025, 2:50오후
1
FIX: Correct user deletion wording - Pull Request #34680 - discourse/discourse - GitHub 에서 사용자를 삭제할 수 없는 이유를 설명하는 노트에서 “and moderators”(및 모더레이터)가 제거되었습니다:
delete_forbidden_because_staff: “Admins and moderators can’t be deleted.”
모더레이터는 삭제할 수 있으므로 이 변경이 도움이 된다는 점은 이해합니다. 하지만 이 조정 과정에서 무언가 누락된 것 같다는 인상을 받았고, 오늘 그로 인해 혼란을 겪었습니다.
제 사용자는 모더레이터이지만 관리자가 아닌데도, 노트에는 “Admins can’t be deleted”(관리자는 삭제할 수 없음)이라고 표시되었습니다.
…
코드를 확인한 결과, 이 현상이 발생하는 이유를 찾은 것 같습니다. 사용자가 삭제되지 않을 경우, 가능한 이유는 두 가지입니다:
사용자가 관리자(admin)인 경우.
사용자가 설정된 기간보다 오래된 게시물을 가진 경우.
저의 모더레이터 사용자를 삭제할 수 없었던 실제 이유는 [2]였지만, 경고 문구에서 모더레이터가 제거되었음에도 불구하고 코드는 여전히 admin 대신 staff를 확인하고 있기 때문에 표시된 이유는 [1]이었습니다.
});
}
}
@discourseComputed("model.canBeDeleted", "model.staff")
deleteExplanation(canBeDeleted, staff) {
if (canBeDeleted) {
return null;
}
if (staff) {
return i18n("admin.user.delete_forbidden_because_staff");
} else {
return i18n("admin.user.delete_forbidden", {
count: this.siteSettings.delete_user_max_post_age,
});
}
}
@discourseComputed("model.username")
postEditsByEditorFilter(username) {
3개의 좋아요
Lilly
(Lillian )
10월 17, 2025, 3:00오후
2
네, 호스팅된 테스트 사이트에서도 이 문제를 재현할 수 있습니다. 테스트용 관리자 계정의 게시물을 삭제하면 "관리자는 삭제할 수 없습니다"라는 메시지가 삭제 버튼으로 대체됩니다. 보고해 주셔서 감사합니다, Moin
1개의 좋아요
더 명확히 설명하자면, 모더레이터가 아닌 사용자는 삭제할 수 없으며, 그 이유는 아래에 나와 있습니다. 버그는 사용자가 모더레이터일 때 잘못된 이유가 표시된다는 것입니다.
게시물이 있는 사용자는 삭제할 수 없습니다. 사용자를 삭제하기 전에 모든 게시물을 삭제하십시오. (365일 이상 지난 게시물은 삭제할 수 없습니다.)
Moin
10월 17, 2025, 6:32오후
5
관리자도 잘못된 이유를 봅니다. 이는 사용자의 관리자 페이지를 누가 보는지와는 무관하며, 사용자가 현재 어떤 상태에 있는지와 관련이 있습니다.
네, 그게 제 의도였는데 문장 구조를 잘못 짰네요! 이제 고쳤다고 생각해요.
이 모든 걸 감안하더라도, 왜 관리자를 삭제할 수 있는지 궁금하네요. 삭제 전에 사용자를 강등하는 게 더 합리적이라고 생각했고, 항상 그렇게 해왔으며 UI에 대해 의문을 품은 적도 없었습니다.
Moin
10월 17, 2025, 6:36오후
7
감사합니다. 제목이 문제를 꽤 잘 설명한다고 생각했지만, 여러분의 설명이 오해를 불러일으킬까 봐 걱정되었습니다.
1개의 좋아요
이로 인해 UI가 백엔드와 일관성을 갖추기를 바랍니다
main ← fix-ui-for-deleting-moderators-account
merged 08:40AM - 31 Oct 25 UTC
The UI wasn't "synced" with the backend and showed the wrong error message when … trying to delete a moderator.
In the back-end, only admins can't be deleted.
In the front-end, it was tied to a "staff" check.
Ref - https://meta.discourse.org/t/-/386013
3개의 좋아요