mirror of
https://github.com/discourse/discourse.git
synced 2026-03-03 23:54:20 +08:00
This PR adds a theme modifier and route so that custom themes can opt to show their own homepage. See PR description for example usage.
61 lines
1.3 KiB
Ruby
61 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class WebHookUserSerializer < UserSerializer
|
|
attributes :external_id
|
|
|
|
# remove staff attributes
|
|
def staff_attributes(*attrs)
|
|
end
|
|
|
|
%i[
|
|
unconfirmed_emails
|
|
can_edit
|
|
can_edit_username
|
|
can_edit_email
|
|
can_edit_name
|
|
can_send_private_messages
|
|
can_send_private_message_to_user
|
|
can_ignore_user
|
|
can_mute_user
|
|
ignored
|
|
uploaded_avatar_id
|
|
has_title_badges
|
|
bio_cooked
|
|
custom_fields
|
|
can_be_deleted
|
|
can_delete_all_posts
|
|
system_avatar_upload_id
|
|
gravatar_avatar_upload_id
|
|
custom_avatar_upload_id
|
|
can_change_bio
|
|
can_change_location
|
|
can_change_website
|
|
can_change_tracking_preferences
|
|
user_api_keys
|
|
user_passkeys
|
|
group_users
|
|
user_auth_tokens
|
|
user_auth_token_logs
|
|
use_logo_small_as_avatar
|
|
pending_posts_count
|
|
status
|
|
display_sidebar_tags
|
|
sidebar_category_ids
|
|
sidebar_tags
|
|
can_pick_theme_with_custom_homepage
|
|
].each { |attr| define_method("include_#{attr}?") { false } }
|
|
|
|
def include_email?
|
|
scope.is_admin?
|
|
end
|
|
|
|
alias_method :include_secondary_emails?, :include_email?
|
|
|
|
def include_external_id?
|
|
scope.is_admin? && object.single_sign_on_record
|
|
end
|
|
|
|
def external_id
|
|
object.single_sign_on_record.external_id
|
|
end
|
|
end
|