i have a request where an event might have several time options to attend - users must only attend one. e.g. the event has 10 different time options
i would like to restrict users to only sign up to one of the 10 time options (users tend to sign up to many times, even though they will only attend one). this requires that the 10 time options be linked in some way so a user may only signup to one of them, and once they have signed up to one, they cannot signup to a different time option.
i am happy to be involved in this module - coding, documentation, testing or usability are areas i could contribute to.
thanks

Comments

dww’s picture

Version: 5.x-1.x-dev » 5.x-2.x-dev

After thinking about this for all of 15 seconds, I have no idea how this would fit into the current model of the signup.module. :( It doesn't strike me as a completely insane use case, but it's totally different from how things are currently designed and structured.

Part of what you're talking about is sort of what the signup_conflicts module in the contrib folder does. However, that's specifically about signups for 2 events at the same time. You're talking about signup "conflicts" for events at different times. :(

So, if you're serious about this feature, you need to spend some quality time on:

- Mockups and/or descriptions of the UIs -- both for users to signup and for admins to define these conflicts/dependencies.

- How this would be represented in the backend/schema.

I don't have any use for this, so I'm not going to spend any more time on it, but if you come up with good solutions to these problems, and either write the code yourself or find/sponsor someone else to do so, I'll review it, and depending on how far-reaching the changes go, consider committing it to the main project.

That said, I'd highly recommend targetting this as another "contrib" to stick into modules/signup/contrib, since I suspect it'll be fairly complicated and I'm sure not everyone will want it. Therefore, I probably wouldn't commit it directly to signup.module itself, but I'd definitely be open to sticking another add-on in the contrib folder if you wanted. Or, you could just do it as a completely separate module and maintain it yourself. Either way, signup.module *does* provide an API that other modules can (and do) use for dealing with signups (e.g. signup_ecommerce, etc), so it should be possible to do what you need in a separate module. If not, and there are limitations in the current signup API that make this impossible, I'd definitely be willing to review and commit changes to signup.module itself to make the API more flexible to support something like this.

Cheers,
-Derek

p.s. new features will only happen in 5.x-2.x-dev. 5.x-1.x-dev is for bug fixes only at this point.

teedave’s picture

Thanks Derek,
I'm new to this so wasn't sure how it would fit into the current signup module.
I have just ordered the Pro Drupal Development book, so hopefully I can create a contrib module in the future sometime.
Thanks for the insight.
Dave T

teedave’s picture

Status: Active » Closed (fixed)

as usual, when things can't be supplied NOW(), we tend to cope without them.
i'm putting my time into other Drupal modules and contribs for our intranet.
i have closed this, as it is unlikely to go any further.