Class: SpreeCmCommissioner::InviteTeam

Inherits:
Base
  • Object
show all
Defined in:
app/models/spree_cm_commissioner/invite_team.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#user_idObject (readonly)

Returns the value of attribute user_id.



9
10
11
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 9

def user_id
  @user_id
end

#vendor_idObject (readonly)

Returns the value of attribute vendor_id.



9
10
11
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 9

def vendor_id
  @vendor_id
end

Instance Method Details



40
41
42
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 40

def invitation_link
  "#{ENV.fetch('ORGANIZER_URL')}/invite_teams/#{token}?utm_source=email"
end

#rolesObject



22
23
24
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 22

def roles
  Spree::Role.where(id: preferred_role_ids)
end

#send_team_invite_emailObject



32
33
34
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 32

def send_team_invite_email
  SpreeCmCommissioner::TeamInviteMailer.send_team_invite_email(id).deliver_now
end

#set_expirationObject



36
37
38
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 36

def set_expiration
  update(expires_at: 3.days.from_now)
end

#url_valid?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 44

def url_valid?
  expires_at.present? && expires_at > Time.current
end

#validate_rolesObject



26
27
28
29
30
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 26

def validate_roles
  return if preferred_role_ids.present?

  errors.add(:base, I18n.t('user_roles_assigner.roles_required'))
end