In support of an RSVP workflow where Participant Status is exposed in online registration forms, site administrators need to be able to limit the statuses which are displayed.
1. Create a new civicrm_option_group:
name = 'visibility'
description = 'Visibility'
... and add two option_value records for this group:
label = 'Public', name = 'public', value = 1
label = 'Admin', name = 'admin', value = 2
(these should be populated via civicrm_data, added to civicrm_generated and added to the 2.1 -> 2.2 upgrade)
2. Add a column to civicrm_option_value which can be used to set visibility:
visibility_id INT Default = NULL Implicit foreign key to civicrm_option_value.value in the 'visibility' option group
3. Modify PHP and tpl for editing the Participant Status option values so that the new Visibility field is exposed as a drop-down for user editing. Also add the label display as a column in the selector FOR THIS OPTION GROUP only. (NOTE: This can probably just be added to the conditional logic already in place for editing and displaying the "Counted" field.)
4. Modify the code which retrieves participant status array when that field is rendered in a Profile so that it only retrieves option value rows where visibility_id = civicrm_option_value.value WHERE civicrm_option_value.name = 'public' and option_group = 'visibility' (i.e. "Public" statuses). The desired behavior for visibility setting is:
- ALL status options shown in Add / Edit Participant forms (singleton and batch task)
- ALL options show when using Batch Update via Profile
- Only 'Public' options show when Participant Status is included in online registration form via a Profile
---- Original Post -----
This feature is somewhat mentioned here by Xavier: http://forum.civicrm.org/index.php/topic,3480.0.html
and here by us: http://forum.civicrm.org/index.php?topic=4741.0
We propose that there be a setting to control the visibility of participant statuses. The use case is that if you include the participant status field within a profile, every status appears to both anonymous and registered users which is not ideal since some are for admin purposes only. This functionality should be similar to a group's visibility control.
Along with setting which statuses are marked as "counted," this feature will be a huge step in moving towards a more RSVP style workflow for CiviEvent.