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



38
39
40
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 38

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

#rolesObject



20
21
22
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 20

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

#send_team_invite_emailObject



30
31
32
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 30

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

#set_expirationObject



34
35
36
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 34

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

#url_valid?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 42

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

#validate_rolesObject



24
25
26
27
28
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 24

def validate_roles
  return if preferred_role_ids.present?

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