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
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 |
#roles ⇒ Object
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_email ⇒ Object
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_expiration ⇒ Object
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
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_roles ⇒ Object
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 |