4

In a Drupal/Civicrm setup, how do I create a page which

  1. Lists all members of a group
  2. Allows user to select certain members and register them for an pre-selected event to record attendance

This is how I envision it:

Please submit attendance for this week's event:

[ ] Bob Smith
[x] Jeff Mason
[x] Susan Collins

[Submit]

My thoughts so far:

  • I know #1 can be accomplished with a View, but how do I allow group members to be selected and registered for a pre-selected event?
  • I know #2 can be partially accomplished with a Webform, but only by typing in group member names – not selecting them from a list.

Is there a way to combine Views/Webform to accomplish this?

The ultimate goal is to automatically email a custom link to this page to group leader to submit attendance after event each week.

Thank you.

2

That's a good question. This ought to get you started, if you get it all working please post your own answer with more details :)

  • Create a webform with 1 contact
  • Disable all fields except the "existing contact" field
  • Edit this field and set it to be "static", and set the default value to be populated from the group of your choice
  • Under the "event" settings for the webform, choose "register each participant separately" and set the event field to be "user select"
  • Edit this event field to limit the options to only the event of your choosing.
  • You should now have a working webform that shows the first member of your group and allows you to register them for the event.
  • If the above is working, you can now clone contact 1 as many times as needed to add the other members of the group.

Admittedly this method has a few drawbacks

  1. Doesn't allow the end-user to select the group or event.
  2. Contact name and event checkbox will be on separate lines (maybe some css could fix this).
  3. There is a limit to the number of contacts you can have on a webform. Depending on the size of your groups, this may or may not be a problem.
  • One question: should each contact field auto-populate or do I need to select each person's name when setting up? Under Webform > Existing Contact> Default Value it says, "If more than one contact meets the criteria, the first match will be picked. If multiple existing contact fields exist on the webform, each will select a different contact." So I think they should auto-populate with different names, but each contact field is the same for me. Is there another box I need to check? ("Randomize" works, but it ignores the alphabetizing of the group). Thanks again! – Justin Young May 17 '15 at 0:19
  • Each one ought to be different, as long as you have the "Allow duplicate autofill" disabled. – Coleman May 17 '15 at 2:42
  • Thank you. Must be related to an error I'm getting: 'Notice: Undefined index: id in wf_crm_webform_preprocess->findContact() (line 421 of /srv/bindings/3c695246b0c94163b1111659015ce247/code/sites/all/modules/webform_civicrm/includes/wf_crm_webform_preprocess.inc)' Will look into that. – Justin Young May 17 '15 at 2:49
2

The other option as you noted, is to use Views, via Views Bulk Operations along with CiviCRM Entities module. Not sure which solution is smoother given it isn't clear to me how many scenarios there are - eg X Groups times Y Events. Or whether there are multiple Groups for same Event, etc. Or how many contacts you might need to be ticking off as attended, so in case it helps.

In VBO you ought to be able to provide a list of 'my events' to the User (based on Contextual Filters), then go to a page loaded with Participants and filter to the required Group, then 'modify entities' for all the contacts you want to attend.

We set up a VBO for a similar situation but without the 'only contacts in my group' - you can read the blog here and grab a Views export to get started with http://www.fuzion.co.nz/blogs/confirming-attendees-door-another-use-entity-and-vbo

Also note that for another scenario we used Activities as the way to record 'attendance' for a school situation, and Eileen cooked up a Civi Report that allows for on screen editing (a bit like a Batch Update, but no saving required). Can flesh that option out too if it is useful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.