Fix relays UI being available in whitelist/secure mode (#11963)

Fix relays UI referencing relay that is not functional
This commit is contained in:
Eugen Rochko
2019-09-27 02:13:34 +02:00
committed by GitHub
parent 00d7bdcc2a
commit add4d4118c
4 changed files with 10 additions and 7 deletions

View File

@ -3,6 +3,7 @@
module Admin
class RelaysController < BaseController
before_action :set_relay, except: [:index, :new, :create]
before_action :require_signatures_enabled!, only: [:new, :create, :enable]
def index
authorize :relay, :update?
@ -11,7 +12,7 @@ module Admin
def new
authorize :relay, :update?
@relay = Relay.new(inbox_url: Relay::PRESET_RELAY)
@relay = Relay.new
end
def create
@ -54,5 +55,9 @@ module Admin
def resource_params
params.require(:relay).permit(:inbox_url)
end
def require_signatures_enabled!
redirect_to admin_relays_path, alert: I18n.t('admin.relays.signatures_not_enabled') if authorized_fetch_mode?
end
end
end

View File

@ -12,8 +12,6 @@
#
class Relay < ApplicationRecord
PRESET_RELAY = 'https://relay.joinmastodon.org/inbox'
validates :inbox_url, presence: true, uniqueness: true, url: true, if: :will_save_change_to_inbox_url?
enum state: [:idle, :pending, :accepted, :rejected]
@ -74,7 +72,6 @@ class Relay < ApplicationRecord
end
def ensure_disabled
return unless enabled?
disable!
disable! if enabled?
end
end