---
 src/lib/tasks/dc_tasks.rake |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/src/lib/tasks/dc_tasks.rake b/src/lib/tasks/dc_tasks.rake
index 5a2560b..28f444f 100644
--- a/src/lib/tasks/dc_tasks.rake
+++ b/src/lib/tasks/dc_tasks.rake
@@ -1,4 +1,29 @@
 namespace :dc do
+  desc 'Create and register a new user'
+  task :create_user, [:login] => :environment do |t, args|
+    unless args.login && args.email && args.password
+      puts "Usage: rake dc:site_admin[user] email=...@xyz password=S3cR3t"
+      exit(1)
+    end
+
+    user = User.find_by_login(args.login)
+
+    if user
+      puts "User already exists: #{args.login}"
+      exit(1)
+    end
+
+    user = User.new(:login => args.login, :email => args.email,
+                    :password => args.password,
+                    :password_confirmation => args.password)
+    registration = RegistrationService.new(user)
+    if registration.save
+      puts "User registered"
+    else
+      puts "User registration failed: #{registration.error}"
+    end
+  end
+
   desc 'Grant administrator privileges to registred user'
   task :site_admin, [:login] => :environment do |t, args|
 
-- 
1.7.2.3

_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to