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
@Percent-Pledge
Leaving some comments on the requirements above - to potentially clarify a few things in case helpful:
"always belong to multiple companies" above ... this is probably correct, but more accurately these events should belong to every company PP team associates with them ... in practice, this will likely always be multiple companies but it could be a single companyfor the moment, assumption that a community event has multiple companies still standsQuestion from CS ... if we change something about one of these events after it has been created (e.g. date) - will it automatically email the registrants like we have set up with the new volunteer event features or would that not happen for this? CS would like it to happen but did not know if it matters that these events are created via Rails Admin vs. the new multi-step wizard event creation flowCS will manually handle event change emails for these with the MVP