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.
7 8 9 |
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 7 def user_id @user_id end |
#vendor_id ⇒ Object (readonly)
Returns the value of attribute vendor_id.
7 8 9 |
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 7 def vendor_id @vendor_id end |
Instance Method Details
#invitation_link ⇒ Object
36 37 38 |
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 36 def invitation_link "http://#{ENV.fetch('APP_HOST')}/organizer/invite_teams/#{token}?utm_source=email" end |
#roles ⇒ Object
18 19 20 |
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 18 def roles Spree::Role.where(id: preferred_role_ids) end |
#send_team_invite_email ⇒ Object
28 29 30 |
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 28 def send_team_invite_email SpreeCmCommissioner::TeamInviteMailer.send_team_invite_email(id).deliver_now end |
#set_expiration ⇒ Object
32 33 34 |
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 32 def set_expiration update(expires_at: 3.days.from_now) end |
#url_valid? ⇒ Boolean
40 41 42 |
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 40 def url_valid? expires_at.present? && expires_at > Time.current end |
#validate_roles ⇒ Object
22 23 24 25 26 |
# File 'app/models/spree_cm_commissioner/invite_team.rb', line 22 def validate_roles return if preferred_role_ids.present? errors.add(:base, I18n.t('user_roles_assigner.roles_required')) end |