mirror of
https://github.com/discourse/discourse.git
synced 2026-03-05 15:27:34 +08:00
Following PR #36711 which enabled the refreshed review UI for all users, this commit removes the old feature flag infrastructure and cleans up legacy code that is no longer needed. Backend Changes: - Removed ReviewableActionLog model and its spec entirely - Removed CalculateFinalStatusFromLogs service and spec - Removed site settings: force_old_reviewable_ui, reviewable_old_moderator_actions - Simplified ReviewableActionBuilder — stripped out legacy action-building methods (build_user_actions_bundle, build_post_actions_bundle, build_new_separated_actions) - Cleaned up reviewable models (ReviewableFlaggedPost, ReviewablePost, ReviewableQueuedPost, ReviewableUser, Chat::ReviewableMessage, ReviewablePostVotingComment) — removed unused/legacy action definitions - Removed legacy specs for action builder, action logs, flagged post actions, post actions, user actions, and status-from-logs - Updated system tests and page objects to reflect the new UI structure Frontend Changes: - Deleted legacy components: reviewable-item.gjs, reviewable-user.gjs, review-index-legacy.gjs - Renamed reviewable-refresh/ → reviewable/ — moved all sub-components (created-by, flagged-post, item, post, queued-post, topic-link, user, etc.) out of the refresh directory into the canonical reviewable/ namespace - Simplified reviewable/item.gjs — removed feature flag conditionals and legacy code paths - Cleaned up review/index.gjs and review/show.gjs templates — removed branching between old/new UI - Updated plugin components (chat, AI, post-voting) to import from reviewable/ instead of reviewable-refresh/ - Removed acceptance tests (review-test.js) replaced by system tests - Renamed and updated integration tests from reviewable-refresh/* to reviewable/* Plan for next PRs: - Move plugins from Pages::RefreshedReview to Pages::Review - Move plugins to import from `reviewable/` and not `refreshed-reviewable/` - Move reviewable-user.js import in plugin to use `reviewable/user.js` - Remove unused settings like `reviewable_old_moderator_actions` from plugins - Delete `Pages::RefreshedReview` - Delete `reviewable-refresh/` directory - Delete `reviewable-user.js` component - Delete `reviewable_old_moderator_actions` site setting Plugins PRs: - https://github.com/discourse/discourse-akismet/pull/203 - https://github.com/discourse/discourse-antivirus/pull/98 - https://github.com/discourse/discourse-category-experts/pull/223
70 lines
1.4 KiB
Ruby
70 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class FlaggedUserSerializer < BasicUserSerializer
|
|
attributes :can_delete_all_posts,
|
|
:can_be_deleted,
|
|
:post_count,
|
|
:topic_count,
|
|
:ip_address,
|
|
:email,
|
|
:custom_fields,
|
|
:flags_agreed,
|
|
:flags_disagreed,
|
|
:flags_ignored,
|
|
:created_at,
|
|
:custom_fields,
|
|
:post_count,
|
|
:trust_level,
|
|
:silenced_count,
|
|
:suspended_count,
|
|
:rejected_posts_count
|
|
|
|
def can_delete_all_posts
|
|
scope.can_delete_all_posts?(object)
|
|
end
|
|
|
|
def can_be_deleted
|
|
scope.can_delete_user?(object)
|
|
end
|
|
|
|
def ip_address
|
|
object.ip_address.try(:to_s)
|
|
end
|
|
|
|
def flags_agreed
|
|
object.user_stat.flags_agreed
|
|
end
|
|
|
|
def flags_disagreed
|
|
object.user_stat.flags_disagreed
|
|
end
|
|
|
|
def flags_ignored
|
|
object.user_stat.flags_ignored
|
|
end
|
|
|
|
def silenced_count
|
|
object.number_of_silencings.to_i
|
|
end
|
|
|
|
def suspended_count
|
|
object.number_of_suspensions.to_i
|
|
end
|
|
|
|
def rejected_posts_count
|
|
object.number_of_rejected_posts.to_i
|
|
end
|
|
|
|
def custom_fields
|
|
fields = User.allowed_user_custom_fields(scope)
|
|
|
|
result = {}
|
|
fields.each { |k| result[k] = object.custom_fields[k] if object.custom_fields[k].present? }
|
|
|
|
result
|
|
end
|
|
|
|
def include_email?
|
|
scope.can_check_emails?(scope.user)
|
|
end
|
|
end
|