+1 vote
in Rock by MarissaEubanks (4.0k points)
edited

Client: Champion Forest Baptist Church

Asana Task: https://app.asana.com/0/1203194444641509/1204009623819893/f

The Registrants are missing from the Registrants Tab in both instances:

Event Template: https://rock.cfbc.org/page/403?RegistrationTemplateId=13

Session 1 Registrants Tab: https://rock.cfbc.org/web/event-registrations/1398/registrants

Session 2 Registrants Tab: https://rock.cfbc.org/web/event-registrations/1399/registrants

I've checked through Rocket Chat and haven't found any messages related to this issue. The registrants were missing from the registrants' tab in both instances prior to the upgrade.

enter image description here

enter image description here

enter image description here

by MarissaEubanks (4.0k points)
@DavidTurner This seems to be a related issue: github.com/SparkDevNetwork/Rock/issues/5091

1 Answer

+1 vote
by DavidTurner (14.9k points)
edited

This was due to the registration template having a Group Attribute on the form who's IsGridField property was set to true. I could not find anyway in the UI or code where a Group Attribute would get created with this option set to True (there's no UI for setting it), Group Attributes in a registration form don't seem to support that option, but Champion Forest had 4 such registration fields in their database. I'm wondering if someone manually set those flags to try and see those values on the registrant list.

When the list of registrants is displayed, Rock will look at all group attributes defined on the template's form, and then look for corresponding filter controls for those attribute. If it finds one, it will only return registrants where their group member attribute value is equal to the filter control. If registrants aren't in a group, they would never match the filter (even if user has not selected a filter value for that attribute). Most of the time, group attributes wouldn't have a filter control on the list because they do not have the IsGridField flag set. If someone manually sets that to true though, a filter control is added, and then Rock tries to do the filtering of group member values.

This SQL query will list (and can be used to fix) any registration template form fields that have type of Group Member Attribute and have the IsGridField set to true:

select t.Name, a.Name
--update ff set IsGridField = 0
from RegistrationTemplateFormField ff
inner join RegistrationTemplateForm f on f.id = ff.RegistrationTemplateFormId
inner join RegistrationTemplate t on t.id = f.RegistrationTemplateId
inner join Attribute a on a.id = ff.AttributeId
where FieldSource = 2 and isgridfield = 1
Welcome! Here you can ask questions and receive answers (hopefully) from other members of our team.
...