0
0
Fork 0

Give SINGLE_USER a chance to register (#1820)

An attempt to open a brand new Mastodon instance configured
as SINGLE_USER_MODE=true will cause an exception.

Enable temporary registration if we have no users in the database

Fixes #1817
This commit is contained in:
Marcin Cieślak 2017-04-15 16:46:27 +02:00 committed by Eugen
parent 6670e6d33f
commit 1c8477eab2
5 changed files with 9 additions and 5 deletions

View file

@ -8,7 +8,7 @@ class ApplicationController < ActionController::Base
force_ssl if: "Rails.env.production? && ENV['LOCAL_HTTPS'] == 'true'"
include Localized
helper_method :current_account
helper_method :current_account, :single_user_mode?
rescue_from ActionController::RoutingError, with: :not_found
rescue_from ActiveRecord::RecordNotFound, with: :not_found
@ -69,6 +69,10 @@ class ApplicationController < ActionController::Base
end
end
def single_user_mode?
@single_user_mode ||= Rails.configuration.x.single_user_mode && Account.first
end
def current_account
@current_account ||= current_user.try(:account)
end

View file

@ -28,7 +28,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController
end
def check_enabled_registrations
redirect_to root_path if Rails.configuration.x.single_user_mode || !Setting.open_registrations
redirect_to root_path if single_user_mode? || !Setting.open_registrations
end
private

View file

@ -13,7 +13,7 @@ class HomeController < ApplicationController
private
def authenticate_user!
redirect_to(Rails.configuration.x.single_user_mode ? account_path(Account.first) : about_path) unless user_signed_in?
redirect_to(single_user_mode? ? account_path(Account.first) : about_path) unless user_signed_in?
end
def find_or_create_access_token