commit: da9317fa56d2b38e74781aa3a8dc6920298f824d
parent: be92babd008a7356738dec1aa7f36500638d00e5
Author: Debanshu Kundu <debanshu.kundu@joshtechnologygroup.com>
Date: Tue, 27 Jun 2017 17:48:53 +0530
#1456 Added rake task to add a user. (#1482)
Diffstat:
1 file changed, 31 insertions(+), 0 deletions(-)
diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake
@@ -42,6 +42,37 @@ namespace :mastodon do
end
end
+ desc 'Add a user by providing their email, username and initial password.' \
+ 'The user will receive a confirmation email, then they must reset their password before logging in.'
+ task add_user: :environment do
+ print 'Enter email: '
+ email = STDIN.gets.chomp
+
+ print 'Enter username: '
+ username = STDIN.gets.chomp
+
+ print 'Create user and send them confirmation mail [y/N]: '
+ confirm = STDIN.gets.chomp
+ puts
+
+ if confirm.casecmp?('y')
+ password = SecureRandom.hex
+ user = User.new(email: email, password: password, account_attributes: { username: username })
+ if user.save
+ puts 'User added and confirmation mail sent to user\'s email address.'
+ puts "Here is the random password generated for the user: #{password}"
+ else
+ puts 'Following errors occured while creating new user:'
+ user.errors.each do |key, val|
+ puts "#{key}: #{val}"
+ end
+ end
+ else
+ puts 'Aborted by user.'
+ end
+ puts
+ end
+
namespace :media do
desc 'Removes media attachments that have not been assigned to any status for longer than a day'
task clear: :environment do