Add discoverable_local setting
This commit is contained in:
parent
88339b3657
commit
790ffc1e4e
7 changed files with 25 additions and 1 deletions
|
@ -20,7 +20,7 @@ class Settings::ProfilesController < Settings::BaseController
|
|||
private
|
||||
|
||||
def account_params
|
||||
params.require(:account).permit(:display_name, :note, :bio_markdown, :avatar, :header, :locked, :my_actor_type, :searchability, :dissubscribable, :group_allow_private_message, :discoverable, :hide_collections, fields_attributes: [:name, :value])
|
||||
params.require(:account).permit(:display_name, :note, :bio_markdown, :avatar, :header, :locked, :my_actor_type, :searchability, :dissubscribable, :group_allow_private_message, :discoverable, :discoverable_local, :hide_collections, fields_attributes: [:name, :value])
|
||||
end
|
||||
|
||||
def set_account
|
||||
|
|
|
@ -111,6 +111,10 @@ module HasUserSettings
|
|||
settings['bio_markdown']
|
||||
end
|
||||
|
||||
def setting_discoverable_local
|
||||
settings['discoverable_local']
|
||||
end
|
||||
|
||||
def setting_display_media
|
||||
settings['web.display_media']
|
||||
end
|
||||
|
|
|
@ -13,6 +13,7 @@ class UserSettings
|
|||
setting :noindex, default: -> { ::Setting.noindex }
|
||||
setting :noai, default: true
|
||||
setting :bio_markdown, default: false
|
||||
setting :discoverable_local, default: false
|
||||
setting :hide_statuses_count, default: false
|
||||
setting :hide_following_count, default: false
|
||||
setting :hide_followers_count, default: false
|
||||
|
|
|
@ -96,6 +96,14 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer
|
|||
end
|
||||
|
||||
def discoverable
|
||||
if object.local?
|
||||
object.user&.setting_discoverable_local ? false : original_discoverable
|
||||
else
|
||||
original_discoverable
|
||||
end
|
||||
end
|
||||
|
||||
def original_discoverable
|
||||
object.suspended? ? false : (object.discoverable || false)
|
||||
end
|
||||
|
||||
|
|
|
@ -10,6 +10,11 @@ class UpdateAccountService < BaseService
|
|||
params.delete(:bio_markdown)
|
||||
account.user.send(update_method, user_params)
|
||||
end
|
||||
if account.user && params.key?(:discoverable_local)
|
||||
user_params = { settings_attributes: { discoverable_local: params['discoverable_local'] } }
|
||||
params.delete(:discoverable_local)
|
||||
account.user.send(update_method, user_params)
|
||||
end
|
||||
|
||||
account.send(update_method, params).tap do |ret|
|
||||
next unless ret
|
||||
|
|
|
@ -64,6 +64,10 @@
|
|||
.fields-group
|
||||
= f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable'), recommended: true
|
||||
|
||||
= f.simple_fields_for :settings, current_user.settings do |ff|
|
||||
.fields-group
|
||||
= ff.input :discoverable_local, input_html: { name: 'account[discoverable_local]' }, wrapper: :with_label, kmyblue: true, label: I18n.t('simple_form.labels.defaults.discoverable_local'), hint: I18n.t('simple_form.hints.defaults.discoverable_local')
|
||||
|
||||
.fields-group
|
||||
= f.input :locked, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.locked')
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue