Files

38 lines
837 B
Ruby

class SetupController < ApplicationController
before_action :check_setup_allowed
def show
@user = User.new(role: :admin)
end
def create
@user = User.new(user_params)
@user.role = :admin
@user.invitation_accepted_at = Time.current
if @user.save
SetupState.mark_installed!
session[:user_id] = @user.id
redirect_to admin_root_path, notice: "Setup complete! Welcome to Sanasto Wiki."
else
render :show, status: :unprocessable_entity
end
end
private
def check_setup_allowed
if setup_completed?
redirect_to root_path, alert: "Setup has already been completed."
end
end
def setup_completed?
SetupState.installed?
end
def user_params
params.require(:user).permit(:email, :name, :password, :password_confirmation, :primary_language)
end
end