Sha256: 8cdf077f3b822f2cfa676bf2db27e444f08d293b849997df6205a42913c3d31a

Contents?: true

Size: 1.8 KB

Versions: 1

Compression:

Stored size: 1.8 KB

Contents

require 'highline/import'

# see last line where we create an admin if there is none, asking for email and password
def prompt_for_admin_password
  password = ask('Password [spree123]: ') do |q|
    q.echo = false
    q.validate = /^(|.{5,40})$/
    q.responses[:not_valid] = 'Invalid password. Must be at least 5 characters long.'
    q.whitespace = :strip
  end
  password = 'spree123' if password.blank?
  password
end

def prompt_for_admin_email
  email = ask('Email [spree@example.com]: ') do |q|
    q.echo = true
    q.whitespace = :strip
  end
  email = 'spree@example.com' if email.blank?
  email
end

def create_admin_user
  if ENV['AUTO_ACCEPT']
    password = 'spree123'
    email = 'spree@example.com'
  else
    puts 'Create the admin user (press enter for defaults).'
    #name = prompt_for_admin_name unless name
    email = prompt_for_admin_email
    password = prompt_for_admin_password
  end
  attributes = {
    :password => password,
    :password_confirmation => password,
    :email => email,
    :login => email
  }

  load 'spree/user.rb'

  if Spree::User.find_by_email(email)
    say "\nWARNING: There is already a user with the email: #{email}, so no account changes were made.  If you wish to create an additional admin user, please run rake db:admin:create again with a different email.\n\n"
  else
    admin = Spree::User.create(attributes)
    # create an admin role and and assign the admin user to that role
    role = Spree::Role.find_or_create_by_name 'admin'
    admin.roles << role
    admin.save
  end
end

if Rails.env.development?
  if Spree::User.admin.empty?
    create_admin_user
  else
    puts 'Admin user has already been previously created.'
    if agree('Would you like to create a new admin user? (yes/no)')
      create_admin_user
    else
      puts 'No admin user created.'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spree_auth-1.0.0.rc2 db/default/users.rb