We list a number of events on our site some of which we run and some of which are from other organizations. It'd be great if we could disable 'SignUp' for events from other organizations. I mean, it makes no sense for us to do signups for them and it's potential misleading -- hence the need for this option.

Any help would be appreciated. Thanks.

Comments

leoklein’s picture

P.S. This could work through a Checkbox on the event form ("Enable Signup for This Event"). An alternative is how Volunteer goes about it, where if the count of Volunteers is set to '-1' (which can be the default), the "volunteer" link for the user doesn't show up.

hunmonk’s picture

Status: Active » Closed (fixed)

the most current 4.6 version has support for enabling a node for signups 'on the fly', or you could make a seperate node type for your events an their events, and only enable yours.

leoklein’s picture

"the most current 4.6 version has support for enabling a node for signups 'on the fly', or you could make a seperate node type for your events an their events, and only enable yours."

This doesn't seem like a very practical way of going about this.

First, once you set up a special "no signup" event node, you're locked into that node and would have to recreate the same event from scratch in "yes signup" event node if for some reason you needed to accept signups. It's not a coicindence that you can turn on and off the equivalent of 'sign-ups' in RSVP, Volunteer, and EventFinder without having to recreate the event itself.

And in any case, this sort of distinction would be lost on the vast majority of normal people who would actually be creating events. All you'd have to do is explain the difference between a "no signup event" and a "yes signup event" and they'd probably turn blue in the face.

hunmonk’s picture

Status: Closed (fixed) » Closed (won't fix)

This doesn't seem like a very practical way of going about this.

we'll have to agree to disagree on this one... :)

i find the current method quite flexible, and have no plans to change it. incidentally, there will be a patch going in soon that allows admins to reopen closed signups. this would effectively give you the on/off switch you're looking for.

And in any case, this sort of distinction would be lost on the vast majority of normal people who would actually be creating events.

under 'create content', you have two flexinode types: 'our events', 'other events', or whatever you would call them. i feel pretty confident that people with the authority to create events would be able to distinguish the difference. in this case, you're leaving the more complex task of creating the node types up to the site admin...

leoklein’s picture

I'm sorry. I'm dealing with people who are great activists but lousy sysAdmins. They're having trouble telling the difference between a Blog Entry and an Event Entry. Again, it is no coincidence that the other methods of events registration -- RSVP, Volunteer, and EventFinder -- allow the administrator to turn on and off the registration -- as part of the event itself. There's no reason (or need) to create new nodes; no reason to re-create the event.

Naturally, you're free to develop this module as you deem fit. I was merely asked to evaluate it.

hunmonk’s picture

I'm sorry. I'm dealing with people who are great activists but lousy sysAdmins.

i don't think this is the kind of problem that you should fix w/ module changes. in my view site administrators should at a minimum have a solid grasp of drupal's core functionality. not to say that things should be complicated on purpose, but drupal is a robust CMS and requires some investment to master.

Again, it is no coincidence that the other methods of events registration -- RSVP, Volunteer, and EventFinder -- allow the administrator to turn on and off the registration -- as part of the event itself.

you _can_ turn off signups for a node--just close the signups for the event! and as i said, very shortly you'll also be able to reopen closed signup nodes. is there some reason why that won't work for you?

dww’s picture

for what it's worth, i added this exact functionality to my locally-patched version of signup.module. if i have a signup-enabled event type, but certain events i don't want to track signups for, i just have a little "disable signups for this node" check-box. it's the inverse of the "enable signups for this node" box that anyone with "admin signups" access has on node types that aren't "signup-enabled" on a type-wide basis.

the reasons i didn't think "close signups" was sufficient (for my tastes):

  • You still see the ugly "Signups Closed for this Event" text, even if there shouldn't be any signups at all.
  • Admins still get the signups tab
  • Other functionality i've added to query for any signup-enabled events still catches these events (features where i *want* to see closed signups, but not nodes that have nothing to do with signups)
  • Conceptually it's better: this node doesn't just have signups closed, they're completely non-existant/disabled.

sadly, since so many of my changes to signup haven't been accepted (yet) ;) i can't quite as easily produce a patch to just add this functionality, either for patachon to use directly, or for hunmonk to commit to the real version of signup. if y'all were interested, i could spend a little while extracting a patch from my local cvs repository and attach it... follow up here if there's interest.

thanks,
-derek

hunmonk’s picture

Status: Closed (won't fix) » Active

i've thought about this some more, and i may have a solution that would make everybody happy, and possibly simplify the code as well :)

  1. completely scrap enabling node types for signup
  2. inject a radio button set for all nodes, regardless of node type, which would be an enable/disable switch for that particular node

this would mean that all nodes can be individually switched on or off, allowing for a very high degree of control. it would eliminate the convenience of having a node type 'always on', as i would make the default state disabled -- but it seems pretty simple to just flip a switch while you're creating the node.

thoughts??

jsimonis’s picture

What I run into is that the vasy majority of people posting events on the sites I run are not Sys Admins. They're just users with the ability to post events.

I've already had to limit the number of node options for them, as they kept getting confused. Basically all they can create are events and blogs-- they couldn't grasp the difference between blogs, pages, book pages, and stories. The "page" thing was especially difficult to people who have had old-style html sites, as basically everything is a "page."

I like the idea of having the ability to turn enable/disable something when creating an event. If I have to have two different kinds of nodes, people will be so confused that they'll never post events-- and it's hard enough to get them to do that now.

I like the way event reg and volunteer is done now-- either click a checkbox to enable it and set how many spaces are open, or set how many volunteers you need. If you don't set a volunteer number, or don't check the box, people never see anything on it.

I'd hate for people to see wording about signups being closed, because they may think they can't come, that the event is full, etc.

This is just my thoughts. I haven't used this module yet, as I've been busy testing out some other ones. But I am definitely interested in something that very easily allows people to sign up for an event (either from the event listing or event finder, not just one) and hopefully ties into CiviCRM so that their details are captured.

Thanks for working on this!

Neil Adair’s picture

"# completely scrap enabling node types for signup
# inject a radio button set for all nodes, regardless of node type, which would be an enable/disable switch for that particular node"

+1 This is my preference, just add options for standard nodes.

Neil

seanr’s picture

Make it so it shows up in the content->configure->content types section just like the other default options do (comments, for example). The I can defautl it to on for events and off for other stuff.

hunmonk’s picture

seanr: yes, i considered this as well. it's already in there actually, so that would mean just reconstituting how that setting is used. my only concern is that i'm not sure if that makes things easier or more complicated. i like "all off by default, turn it on if you want" because it's global and simple, and enabling signups upon node creation is just one more switch you have to flip when creating the node, which i don't see as a big deal.

one upside of custom defaults is that the 'signup settings' options can appear right when the node is first created for all node types that have default set to 'on'. any node that is enabled 'on-the-fly' requires you to go back into the edit page after you enable it in order to access the signup settings for the node.

i'm still on the fence w/ this one :)

hunmonk’s picture

Status: Active » Postponed

postponed until we map the new direction of the module based on the event module revamp

hunmonk’s picture

Assigned: Unassigned » hunmonk

ok, i've decided to do the full revamp on this, which includes default settings for the node types, as well as a set of radio buttons to enable/disable nodes for signup on the fly. i'm not going to do this right away, as i'm still waiting to see what direction the event module changes go. it's on the radar, though...

hunmonk’s picture

that last link was bad. try: http://drupal.org/node/49007

dww’s picture

Title: Disable 'SignUp' for Certain Events » Enable/disable signups per-node-type and per-node
Version: 4.6.x-1.x-dev » 4.7.x-1.x-dev
Component: Code » User interface
Assigned: hunmonk » dww
Category: feature » bug
Status: Postponed » Active

bump: there was an attempt at a patch for this in http://drupal.org/node/99329#comment-160406

this is still confusing and broken, so i'm changing this to call it a bug in the UI, not a feature request. see also http://drupal.org/node/67509

i'd like to work on cleaning this up at some point soon, but probably not in time for the 5.x-1.0 and 4.7.x-1.1 releases.

dww’s picture

Status: Active » Needs review
StatusFileSize
new8.82 KB

i had a nice long conversation with hunmonk about how this should really work. so, i wrote the patch. ;) in 5.x, we could add a little jQuery to hide some stuff users don't need to see, but otherwise, this should be pretty much RTBC as-is. some reviews and testing would be great, though. ;) so, here's the patch for 4.7.x.

dww’s picture

StatusFileSize
new8.81 KB

here's the 5.x/HEAD version (so far, without the jQuery itself -- but it's jQuery-ready). ;)

dww’s picture

StatusFileSize
new11.25 KB

cleaned up the behavior in terms of permissions and fixed some bugs in how we handle certain cases. now, you need "administer all signups" permissions to see the signup settings for any arbitrary node type, and you have to have either "administer all signups" or "administer signups for own content" permission to see the signup settings, even on a signup-enabled node type. i think this makes more sense. the admin might want to give users permission to create signup-enabled nodes but not change the signup settings. in that case, they define the default site-wide signup settings, and signup-enable a node type, but don't give their users any signup admin perms. then, when users create the signup-enabled nodes, they just get the site-wide default settings, and no way to customize, alter, or disable signups.

attached patch (for 4.7.x) also cleans up some descriptions, help text, adds more comments, and is more php5-warning friendly.

dww’s picture

StatusFileSize
new13.32 KB

here's the 5.x version of the previous fixes and (drum roll, please) dww's first ever jQuery patch! (well, of course, i got help in IRC from hunmonk and UnConeD -- but i got the basic idea of it on my own, i just needed some help from the experts to get it actually working). ;)

so, if a node has signups disabled, and JS is enabled, the other signup-related settings will be hidden by default, so all you see are the radios. as soon as you click on "Enabled", all the other signup-related settings appear. similarly, if the node has signups enabled, and you click on either of the "Disabled" radios, everything else disappears. for extra credit, the little description/help text about "If you disabled signups, all other settings are ignored" will appear if there's no JS (since all the settings will be visible), but will be hidden if JS is enabled (since the JS hiding/showing renders the help text unnecessary, and in some cases, confusing).

i'm *very* happy with this patch. i've tested it heavily, with all sorts of users, perms, edge cases, etc it's all working fine. however, some more testing and reviews would still be most appreciated. there are a few cases where the form element titles and descriptions might not be clear enough, so i'd especially like some feedback on those parts of the UI.

thanks,
-derek

dww’s picture

StatusFileSize
new11.75 KB

i was a little worried about potentital confusion between the "Allow signups" radios on the edit tab, and the open/close signups toggle on the signups tab. after discussion with add1sun and webchick in IRC, we decided that it's pretty ok as it is now, but that a little description hint might help avoid confusion. here's a 4.7.x version of the previous patch that adds this hint.

dww’s picture

StatusFileSize
new13.75 KB

5.x version with hint.

dww’s picture

Status: Needs review » Fixed

after a session in IRC with hunmonk, we made a few final, minor tweaks to the UI, and a tiny change to the signup.js killswitch function. however, everyone agrees this patch rocks, so i committed it to HEAD, DRUPAL-5, and DRUPAL-4-7. at long last, an integrated workflow for how to enable signups per node type and per node. ;)

csc4’s picture

Brilliant work - and great team work too!

Thanks a lot to everyone for all the efforts, this is exactly what I've been wishing for!

csc4’s picture

One small query - if signups are disabled does that mean that the event reminder functionality is lost as well?

dww’s picture

yes. once you use the edit tab to disable signups for a given node, the signup.module doesn't know anything about the node anymore, and none of the signup-specific functionality happens at all. if you just want to prevent people from signing up, but still have the signup functionality there, you want to "close signups" on the signups tab for that node, not "disable" signup functionality on the edit tab. make sense? please open a new documentation or UI issue if you can come up with a better way to explain this stuff directly in the module or its docs. thanks.

csc4’s picture

I think the issue lies in people entering events they don't 'own' but they want people to know about and be reminded about.

As has been said before the issue with closing signups is the display of the closed signups text - is it possible there could be a no signup setting (as distinct from closed signup - to avoid the confusion display) or a 'reminder only' setting so that reminder emails would still be possible?

dww’s picture

please open a new issue about this request, since it's getting off topic from what's already in here. if all you're worried about for the "Closed signups" thing is the text, check out http://drupal.org/node/47913

Anonymous’s picture

Status: Fixed » Closed (fixed)