tracks/lib/tasks/tracks.rake

35 lines
1.1 KiB
Ruby
Raw Normal View History

2014-02-09 14:56:05 +01:00
namespace :tracks do
desc 'Replace the password of USER with a new one.'
task :password => :environment do
require "highline/import"
user = User.find_by_login(ENV['USER'])
if user.nil?
puts "Sorry, we couldn't find user '#{ENV['USER']}'. To specify a different user, pass USER=username to this task."
exit 0
end
puts "Changing Tracks password for #{ENV['USER']}."
password = ask("New password: ") { |q| q.echo = false }
password_confirmation = ask('Retype new password: ') { |q| q.echo = false }
begin
user.change_password(password, password_confirmation)
rescue ActiveRecord::RecordInvalid
puts "Sorry, we couldn't change #{ENV['USER']}'s password: "
user.errors.each_full { |msg| puts "- #{msg}\n" }
end
end
desc 'Check all passwords for deprecated hashes'
task :check_passwords => :environment do
puts "The following users have deprecated password hashes:"
User.all.each do |user|
if user.uses_deprecated_password?
puts " #{user.login}"
end
end
end
2014-02-09 14:56:05 +01:00
end