Allow turning keybase off instance-wide

This commit is contained in:
Thibaut Girka 2019-04-17 21:50:18 +02:00 committed by ThibG
parent 619d55358f
commit c22175bb86
7 changed files with 22 additions and 0 deletions

View file

@ -5,6 +5,7 @@ class Settings::IdentityProofsController < Settings::BaseController
before_action :authenticate_user!
before_action :check_required_params, only: :new
before_action :check_enabled, only: :new
def index
@proofs = AccountIdentityProof.where(account: current_account).order(provider: :asc, provider_username: :asc)
@ -41,6 +42,10 @@ class Settings::IdentityProofsController < Settings::BaseController
private
def check_enabled
not_found unless Setting.enable_keybase
end
def check_required_params
redirect_to settings_identity_proofs_path unless [:provider, :provider_username, :username, :token].all? { |k| params[k].present? }
end

View file

@ -2,8 +2,16 @@
module WellKnown
class KeybaseProofConfigController < ActionController::Base
before_action :check_enabled
def show
render json: {}, serializer: ProofProvider::Keybase::ConfigSerializer
end
private
def check_enabled
head 404 unless Setting.enable_keybase
end
end
end

View file

@ -27,6 +27,7 @@ class Form::AdminSettings
custom_css
profile_directory
hide_followers_count
enable_keybase
flavour_and_skin
thumbnail
hero
@ -43,6 +44,7 @@ class Form::AdminSettings
preview_sensitive_media
profile_directory
hide_followers_count
enable_keybase
).freeze
UPLOAD_KEYS = %i(

View file

@ -49,6 +49,8 @@
= feature_hint(link_to(t('admin.dashboard.feature_profile_directory'), edit_admin_settings_path), @profile_directory)
%li
= feature_hint(link_to(t('admin.dashboard.feature_timeline_preview'), edit_admin_settings_path), @timeline_preview)
%li
= feature_hint(link_to(t('admin.dashboard.keybase'), edit_admin_settings_path), @timeline_preview)
%li
= feature_hint(link_to(t('admin.dashboard.feature_relay'), admin_relays_path), @relay_enabled)

View file

@ -69,6 +69,9 @@
.fields-group
= f.input :hide_followers_count, as: :boolean, wrapper: :with_label, label: t('admin.settings.hide_followers_count.title'), hint: t('admin.settings.hide_followers_count.desc_html')
.fields-group
= f.input :enable_keybase, as: :boolean, wrapper: :with_label, label: t('admin.settings.enable_keybase.title'), hint: t('admin.settings.enable_keybase.desc_html')
%hr.spacer/
.fields-group

View file

@ -252,6 +252,7 @@ en:
feature_timeline_preview: Timeline preview
features: Features
hidden_service: Federation with hidden services
keybase: Keybase integration
open_reports: open reports
recent_users: Recent users
search: Full-text search

View file

@ -31,6 +31,7 @@ defaults: &defaults
system_font_ui: false
noindex: false
hide_followers_count: false
enable_keybase: true
flavour: 'glitch'
skin: 'default'
aggregate_reblogs: true