Sha256: 2a920502b3a4aaf83cff7a4a32930f3269b218c95a49cf908a411cd8372aaf78
Contents?: true
Size: 1.01 KB
Versions: 7
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module Decidim # This command invites some user friends. class InviteFriends < Rectify::Command # Invites the user friends # # form - The form with the data. def initialize(form) @form = form end def call return broadcast(:invalid) unless form.valid? invite_friends broadcast(:ok) end private attr_reader :form def invite_friends form.clean_emails.each do |email| InviteUser.call(build_invite_form(email)) do on(:ok) do |user| user end end end end def build_invite_form(email) OpenStruct.new( name: email.downcase.split("@").first, email: email.downcase, organization: form.current_organization, admin: false, role: nil, invited_by: form.current_user, extra_email_options: { custom_text: form.custom_text }, invitation_instructions: "invite_friend" ) end end end
Version data entries
7 entries across 7 versions & 1 rubygems