Add single user mode

This commit is contained in:
Eugen Rochko 2016-12-06 17:19:26 +01:00
parent 84d2371d6a
commit 1357c1cb3d
4 changed files with 25 additions and 8 deletions

View file

@ -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=

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,5 @@
# frozen_string_literal: true
Rails.application.configure do
config.x.single_user_mode = ENV['SINGLE_USER_MODE'] == 'true'
end