Details
Description
First of three Jira Issues to stop the Email address being a required field during event registration if a profile has been assigned for the sign up process.
This Jira issue is to provide the relevant SQL scripts to create the Custom Profile
This profile should contain the email address field only and should not be editable by CiviCRM end users. The profile should be set to reserved. As set of insert statements should be provided which create the data.
The tables in question are
• civicrm_uf_group
• civicrm_uf_field
The Email profile field (uf_field entry) should have location_type_id = NULL (this means Primary email, use default location type), and is_reserved = 1 (this will prevent admins from deleting or disabling this field in the reserved profile).
For new installs, modify xml/templates/civicrm_data.tpl.
For upgrades:
1. Patch for CRM/Upgrade/Incremental/sql/4.2.alpha1.mysql.tpl to insert uf_group and uf_field rows
2. Patch for CRM/Upgrade/Incremental/php/FourTwo.php to handle existing events using these rules:
- For each is_active event - check if there is one or more profiles associated with the event's online registration (uf_join table).
- If there are profile(s) - check if there's an email address field in any of the profiles
+ If there IS an email address field, no action required
+ If no email address field, insert an email address in the profile with the lowest weight in the uf_join table rows referencing that event - If no profiles associated with event, insert the new reserved profile as "top of page" profile for the event by inserting row in uf_join with weight = 1.