with this OpenID prefix *and* a matching email address in order to \
claim the account.
eos
+ opt :send_notification_email, <<-eos, default: 'true'
+Send notification email after successfully setting up the user.
+ eos
end
log.level = (ENV['DEBUG'] || opts.debug) ? Logger::DEBUG : Logger::WARN
-
+
if ARGV.count != 3
Trollop::die "required arguments are missing"
end
begin
found_user = arv.user.get(uuid: user_arg)
rescue Arvados::TransactionFailedError
- found = arv.user.list(where: {email: ARGV[0]})[:items]
-
- if found.count == 0
+ found = arv.user.list(where: {email: user_arg})[:items]
+
+ if found.count == 0
if !user_arg.match(/\w\@\w+\.\w+/)
abort "About to create new user, but #{user_arg.inspect} " +
"does not look like an email address. Stop."
end
elsif found.count != 1
- abort "Found #{found.count} users " +
- "with uuid or email #{user_arg.inspect}. Stop."
+ abort "Found #{found.count} users with email. Stop."
else
found_user = found.first
end
# Invoke user setup method
if (found_user)
user = arv.user.setup uuid: found_user[:uuid], repo_name: user_repo_name,
- vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix
+ vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix,
+ send_notification_email: opts.send_notification_email
else
user = arv.user.setup user: {email: user_arg}, repo_name: user_repo_name,
- vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix
+ vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix,
+ send_notification_email: opts.send_notification_email
end
log.info {"user uuid: " + user[:uuid]}