0

I'm trying to work out the best way to administer this. The point of the system I'm building is as follows:

  • A front-end system which contains Events, Partners and Users
  • Each User is associated with one Partner
  • Each Event allows each Partner a certain number of places (guestAllocation)
  • Each User must be able to log in via the front end and update the names of the people who are going to the event (limited by guestAllocation) associated with their Partner.

Structure:

  • Currently, SuperTable lists the Partners invited to that event and their allowed guestAllocation

At the end of all this I need to export a Guest List which should be generated by the names of people who are attending the Event (if there are missing names and spare guestAllocation, there will be default value).

  1. What's the best way to structure this in the database? Should I have one Event that gets updated by multiple users somewhow, or an Entry for each Partner related to an Event?
  2. Is it possible to update a single Entry by multiple Users who can only add the correct number of names to the guest list for their Partner?
2

Definitely multiple ways to do this but I think you're close. I wouldn't want to have multiple users hitting the same entry. Use Craft's power of relations to help here.

I'm guessing you're trying to great some kind of "rotary" or networking registration system?

You need 2 more sections: Guest Names and Guest List (name these whatever you want).

  • Guest Names is straightforward, it basically is going to be a list of every guest name available. You just need 1 field: the name. Craft's user ownership will take care relating this back to the User who created it and the Partner it contains.

  • Guest List is going to hold the master list. You need a couple more relational fields, one to relate back to tell which which event it's for (in your Events section) and another to "hold" the names of the guests attending.

Now it's just a matter of wiring it all up. You're going to want users to post to the Guest List and Guest Names sections. It's up to you how you want to handle the validation on the front end as to whether a guest already exists that's "owned" by the User.

The beauty here is also if you do multiple events and the same people attend the events, when someone registers, you can simply pull up their prior Guests and offer those up as guest choices too. Again, I'm just speculating.

When it's time to pull out a guest list, just query your Guest List section based on the Event you want, loop through the event, and grab the names for each attendee.

2
  • Thanks for taking the time to answer this! Really useful comments - I'll put em in to action. Thank you. – darylknight Nov 16 '15 at 14:06
  • Nice Daryl, let me know how it works out for you! Glad hear like things are heading in the right direction. – RitterKnight Nov 16 '15 at 16:18

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.