Unlike a company event, which can only be associated with one company, a community event is a new event type that is visible across multiple companies. A community event can receive user signups from any company that is associated with it, and functions almost identically to a company event — except that it is for more than one company at a time.
Community events:
- always belong to multiple companies
- will show in every company platform that the event is associated with
- can accept users from any associated company for event signup
- may have the number of participants caped (like company events) and the cap applies across all companies (e.g., a cap of 50 participants is reached if one company has 40 signups and another company has 10 signups)
- will not be editable in the Admin dashboard UI
- will only show a company's users in the participants area of the UI (e.g., will not show one company who is signed up from another company)
- will only allow participant management of the company's users (e.g., will not let one company manage another company's users)
- will only count a company's users toward the company's metrics (e.g., a community event may have 100 hours volunteered across all participants but if a company's users only account for 50 of those hours, the company will only have their hour total increase by 50)
Also, community events:
- are only created in Rails Admin, not in the Admin dashboard UI
- must be distinguishable on the frontend from a standard company event
A community event and a company event have so much overlap that we don't yet see the purpose of creating a separate model for community events. Therefore, all changes will be made to the Event
model.
- update association between
event
andcompany
tohas_and_belongs_to_many
- new method on model (
community_event?
) to check if event has greater than one company associated with it for use by frontend for UI differentiation between community and company event types --> could be a boolean or enum instead to differentiate but I'm not sure this is necessary yet - two new scopes for list view of events in Rails Admin: company event and community event
Updated requirements (after call with MoJo and Joel on 1 Aug 2023)
Changes to requirements:
Net new requirements:
EventSignup
associated with the community event) that includes: [1] first name [2] last name [3] email [4] associated company