Project

General

Profile

Download (1.16 KB) Statistics
| Branch: | Tag: | Revision:
namespace :permissions do
desc <<~END_DESC
Create or reset "admin" user permissions to defaults. Alternatively, you may
specify a username or password.

Examples:
# foreman-rake permissions:reset
Reset to user: admin, password: HrbX7zQErrT6

# foreman-rake permissions:reset username=bclark password=changeme
Reset to user: bclark, password: changeme
END_DESC

task :reset => :environment do
User.as_anonymous_admin do
user = User.where(:login => ENV["username"] || 'admin').first_or_create(:firstname => 'Admin', :lastname => 'User', :mail => Setting[:administrator])
src = AuthSourceInternal.where(:type => "AuthSourceInternal").first_or_create
src.update_attribute :name, "Internal"
user.admin = true
user.auth_source = src
password = ENV["password"] || User.random_password
user.password = password
if user.save
puts "Reset to user: #{user.login}, password: #{password}"
puts "WARNING: You need to change the password for hammer in ~/.hammer/cli.modules.d/foreman.yml manually!"
else
puts user.errors.full_messages.join(", ")
end
end
end
end
(35-35/45)