Module: HasCompanyOnboarding
- Extended by:
- ActiveSupport::Concern
- Included in:
- Company
- Defined in:
- app/models/concerns/has_company_onboarding.rb
Instance Method Summary collapse
- #agree_to_agreement(erp_user_id:, ip_address:, app_mode:, agreement_date: Time.zone.now) ⇒ Object
- #agreed_to_agreement?(app_mode:) ⇒ Boolean
- #company_details?(app_mode:) ⇒ Boolean
- #onboarded?(app_mode:) ⇒ Boolean
- #onboarding_path(app_mode:) ⇒ Object
Instance Method Details
#agree_to_agreement(erp_user_id:, ip_address:, app_mode:, agreement_date: Time.zone.now) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/models/concerns/has_company_onboarding.rb', line 15 def agree_to_agreement( erp_user_id:, ip_address:, app_mode:, agreement_date: Time.zone.now ) company_agreements.create!( erp_user_id: erp_user_id, ip_address: ip_address, agreement_date: agreement_date, agreement_path: app_mode.agreement_file_path, agreement_type: app_mode.agreement_type ) end |
#agreed_to_agreement?(app_mode:) ⇒ Boolean
30 31 32 33 34 |
# File 'app/models/concerns/has_company_onboarding.rb', line 30 def agreed_to_agreement?(app_mode:) company_agreements.exists?( agreement_type: app_mode.agreement_type ) end |
#company_details?(app_mode:) ⇒ Boolean
36 37 38 |
# File 'app/models/concerns/has_company_onboarding.rb', line 36 def company_details?(app_mode:) app_mode.company_details_present?(company: self) end |
#onboarded?(app_mode:) ⇒ Boolean
4 5 6 7 |
# File 'app/models/concerns/has_company_onboarding.rb', line 4 def onboarded?(app_mode:) agreed_to_agreement?(app_mode: app_mode) && company_details?(app_mode: app_mode) end |
#onboarding_path(app_mode:) ⇒ Object
9 10 11 12 13 |
# File 'app/models/concerns/has_company_onboarding.rb', line 9 def onboarding_path(app_mode:) return app_mode.agreement_path unless agreed_to_agreement?(app_mode: app_mode) app_mode.company_details_path unless company_details?(app_mode: app_mode) end |