Add single user mode
This commit is contained in:
parent
84d2371d6a
commit
1357c1cb3d
4 changed files with 25 additions and 8 deletions
|
@ -16,6 +16,12 @@ LOCAL_HTTPS=true
|
||||||
PAPERCLIP_SECRET=
|
PAPERCLIP_SECRET=
|
||||||
SECRET_KEY_BASE=
|
SECRET_KEY_BASE=
|
||||||
|
|
||||||
|
# Registrations
|
||||||
|
# Single user mode will disable registrations and redirect frontpage to the first profile
|
||||||
|
# SINGLE_USER_MODE=true
|
||||||
|
# Prevent registrations with following e-mail domains
|
||||||
|
# EMAIL_DOMAIN_BLACKLIST=example1.com|example2.de|etc
|
||||||
|
|
||||||
# E-mail configuration
|
# E-mail configuration
|
||||||
SMTP_SERVER=smtp.mailgun.org
|
SMTP_SERVER=smtp.mailgun.org
|
||||||
SMTP_PORT=587
|
SMTP_PORT=587
|
||||||
|
@ -27,8 +33,11 @@ SMTP_FROM_ADDRESS=notifications@example.com
|
||||||
# CDN_HOST=assets.example.com
|
# CDN_HOST=assets.example.com
|
||||||
|
|
||||||
# S3 (optional)
|
# S3 (optional)
|
||||||
S3_ENABLED=false
|
# S3_ENABLED=true
|
||||||
S3_BUCKET=
|
# S3_BUCKET=
|
||||||
AWS_ACCESS_KEY_ID=
|
# AWS_ACCESS_KEY_ID=
|
||||||
AWS_SECRET_ACCESS_KEY=
|
# AWS_SECRET_ACCESS_KEY=
|
||||||
S3_REGION=
|
# S3_REGION=
|
||||||
|
|
||||||
|
# Optional alias for S3 if you want to use Cloudfront or Cloudflare in front
|
||||||
|
# S3_CLOUDFRONT_HOST=
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
class Auth::RegistrationsController < Devise::RegistrationsController
|
class Auth::RegistrationsController < Devise::RegistrationsController
|
||||||
layout 'auth'
|
layout 'auth'
|
||||||
|
|
||||||
|
before_action :check_single_user_mode
|
||||||
before_action :configure_sign_up_params, only: [:create]
|
before_action :configure_sign_up_params, only: [:create]
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
@ -21,4 +22,8 @@ class Auth::RegistrationsController < Devise::RegistrationsController
|
||||||
def after_sign_up_path_for(_resource)
|
def after_sign_up_path_for(_resource)
|
||||||
new_user_session_path
|
new_user_session_path
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def check_single_user_mode
|
||||||
|
redirect_to root_path if Rails.configuration.x.single_user_mode
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,15 +5,13 @@ class HomeController < ApplicationController
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@body_classes = 'app-body'
|
@body_classes = 'app-body'
|
||||||
@home = Feed.new(:home, current_user.account).get(20)
|
|
||||||
@mentions = Feed.new(:mentions, current_user.account).get(20)
|
|
||||||
@token = find_or_create_access_token.token
|
@token = find_or_create_access_token.token
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def authenticate_user!
|
def authenticate_user!
|
||||||
redirect_to about_path unless user_signed_in?
|
redirect_to(Rails.configuration.x.single_user_mode ? account_path(Account.first) : about_path) unless user_signed_in?
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_or_create_access_token
|
def find_or_create_access_token
|
||||||
|
|
5
config/initializers/single_user_mode.rb
Normal file
5
config/initializers/single_user_mode.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
Rails.application.configure do
|
||||||
|
config.x.single_user_mode = ENV['SINGLE_USER_MODE'] == 'true'
|
||||||
|
end
|
Loading…
Reference in a new issue