19 lines
592 B
Ruby
Raw Normal View History

2017-05-04 17:23:41 +10:00
module Jobs
class DonationUser < ::Jobs::Base
def execute(args)
user = User.create!(args.slice(:username, :password, :name, :email))
2017-05-12 10:28:39 +10:00
return unless user.persisted?
Jobs.enqueue(
:critical_user_email,
type: :signup, user_id: user.id, email_token: user.email_tokens.first.token
)
2017-05-08 14:37:19 +10:00
rewards = DiscourseDonations::Rewards.new(user)
args[:rewards].to_a.each do |reward|
rewards.grant_badge(reward[:name]) if reward[:type] == 'badge'
rewards.add_to_group(reward[:name]) if reward[:type] == 'group'
2017-05-08 13:38:14 +10:00
end
2017-05-04 17:23:41 +10:00
end
end
end