Add user statuses and seed admin user
This commit is contained in:
parent
d2fbacbf62
commit
e29c060a39
@ -28,7 +28,7 @@ Copy config template and update database configuration:
|
||||
|
||||
Run database creation and migration tasks:
|
||||
|
||||
RAILS_ENV="production" bundle exec rake db:create db:migrate
|
||||
RAILS_ENV="production" bundle exec rake db:create db:migrate db:seed
|
||||
|
||||
|
||||
## Running
|
||||
|
@ -3,4 +3,13 @@ class User < ApplicationRecord
|
||||
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
|
||||
devise :database_authenticatable, :registerable,
|
||||
:recoverable, :rememberable, :validatable
|
||||
|
||||
# Statuses ordered by decreasing privileges
|
||||
enum :status, {
|
||||
admin: 1, # admin level access
|
||||
active: 2, # read-write user level access
|
||||
restricted: 3, # read-only user level access
|
||||
locked: 4, # disallowed to sign in due to failed logins
|
||||
disabled: 5 # administratively disallowed to sign in
|
||||
}, default: :active
|
||||
end
|
||||
|
@ -35,8 +35,12 @@ module FixinMe
|
||||
#
|
||||
# URL to use in sent e-mails.
|
||||
config.action_mailer.default_url_options = {host: 'localhost'}
|
||||
|
||||
# List of hosts this app is available at.
|
||||
# https://guides.rubyonrails.org/configuring.html#actiondispatch-hostauthorization
|
||||
config.hosts << 'localhost'
|
||||
|
||||
# Email address of admin account
|
||||
config.admin = 'admin@localhost'
|
||||
end
|
||||
end
|
||||
|
@ -178,7 +178,7 @@ Devise.setup do |config|
|
||||
|
||||
# ==> Configuration for :validatable
|
||||
# Range for password length.
|
||||
config.password_length = 6..128
|
||||
config.password_length = 5..128
|
||||
|
||||
# Email regex used to validate email formats. It simply asserts that
|
||||
# one (and only one) @ exists in the given string. This is mainly
|
||||
|
20
db/seeds.rb
20
db/seeds.rb
@ -1,7 +1,13 @@
|
||||
# This file should contain all the record creation needed to seed the database with its default values.
|
||||
# The data can then be loaded with the bin/rails db:seed command (or created alongside the database with db:setup).
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# movies = Movie.create([{ name: "Star Wars" }, { name: "Lord of the Rings" }])
|
||||
# Character.create(name: "Luke", movie: movies.first)
|
||||
# This file should contain all the record creation needed to seed the database
|
||||
# with its default values. The data can then be loaded with the
|
||||
# bin/rails db:seed
|
||||
# command (or created alongside the database with db:setup).
|
||||
# Seeding process should be idempotent.
|
||||
|
||||
User.transaction do
|
||||
User.find_or_create_by!(status: :admin) do |user|
|
||||
user.email = Rails.configuration.admin
|
||||
user.password = 'admin'
|
||||
puts "Admin account '#{user.email}' created with default password '#{user.password}'"
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user