Sha256: c7368e6b42dd0ba937edc90aa3996433134e47656ef765131655da5afa506924
Contents?: true
Size: 1.52 KB
Versions: 23
Compression:
Stored size: 1.52 KB
Contents
module EgovUtils module RegistrationRequests class HandleRequest < ActiveInteraction::Base record :registration_request, class: 'EgovUtils::RegistrationRequest' string :status string :reason, default: nil string :internal_reason, default: nil array :roles, default: [] do string end array :group_ids, default: [] do integer end def execute registration_request.update( status: status, reason: reason, internal_reason: internal_reason ) case status when 'accepted' user = create_user! EgovUtils::RegistrationRequestMailer .accepted(registration_request.id, user.id, password) .deliver_now when 'rejected' EgovUtils::RegistrationRequestMailer .rejected(registration_request.id) .deliver_now end registration_request end private def create_user! User.create( mail: registration_request.mail, login: registration_request.mail, firstname: registration_request.firstname, lastname: registration_request.lastname, password: password, password_confirmation: password, roles: roles, group_ids: group_ids, must_change_password: true, active: true, last_login_at: Time.current ) end def password @password ||= SecureRandom.hex(8) end end end end
Version data entries
23 entries across 23 versions & 1 rubygems