Class: SpreeCmCommissioner::InviteTeam
- Defined in:
- app/models/spree_cm_commissioner/invite_team.rb
Instance Attribute Summary collapse
-
#user_id ⇒ Object
readonly
Returns the value of attribute user_id.
-
#vendor_id ⇒ Object
readonly
Returns the value of attribute vendor_id.
Instance Method Summary collapse
- #invitation_link ⇒ Object
- #roles ⇒ Object
- #send_team_invite_email ⇒ Object
- #set_expiration ⇒ Object
- #url_valid? ⇒ Boolean
- #validate_roles ⇒ Object
Instance Attribute Details
#user_id ⇒ Object (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_id ⇒ Object (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
#invitation_link ⇒ Object
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 |
#roles ⇒ Object
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_email ⇒ Object
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_expiration ⇒ Object
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
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_roles ⇒ Object
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 |