Currently, all participants are automatically assigned to the "Attendee" role when they register via an online event registration page. Users have asked us to make this role assignment configurable on a per-event basis.
1. Add column to civicrm_event - default_role_id - INT implicit FK to civicrm_option_value
2. Add new <select> field to the Event Information and Settings form under Configure Event (CRM/Event/Form/ManageEvent/EventInfo.php)
- label: Participant Role
- field: <select> with all active participant role option values, value is required
- default value: Attendee
3. Modify Event Registration processing to get default_role_id for the event and use it when creating the participant record
4. Modify Confirmation, Thankyou pages as well as Confirmation email to include the role "label" as the last line in the Event Information section IF the role is NOT Attendee. This allows us to show "special roles" - which we assume are useful for the participant to - while not showing "Attendee" - which is not useful output.