Needs work
Project:
Signup
Version:
6.x-2.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Reporter:
Created:
11 Sep 2007 at 18:32 UTC
Updated:
19 May 2010 at 18:08 UTC
Jump to comment: Most recent file
i you enable the signup module or singups for a specific node type the admin tabs on node/xxx won't be shown because the old nodes aren't in the signup table.
to ways to fix:
A) Put old nodes into signup table when enabling signups for that node type
B) Fix the menu hook to show the tabs if the node type is event enabled.
I've tried B) but ran into troubles because the code assumes that there is an entry in the signup table in other places. So, should I try A or rather fix these other places to first check for a record and then insert if it isn't there?
| Comment | File | Size | Author |
|---|---|---|---|
| #4 | 174805_signup_mass_node_ops.4.d6.patch | 1.85 KB | dww |
| #3 | 174805_signup_mass_node_ops.3.d6.patch | 1.8 KB | dww |
Comments
Comment #1
dwwUgh. Yeah, that's a tricky one. Admins are able to disable signups on a per-node basis, not just per-node type. But, if they signup-enable a given node type, that means signups are enabled by default for new nodes of that type. So, I suppose it makes sense that old nodes of that type would also be signup-enabled by default.
Perhaps we need option C: add another checkbox to the node type form to indicate if the admin wants all nodes of a given type to be signup-enabled when they check the box? Maybe that's too confusing.
Or, maybe better yet, option D: add some admin interface to signup-enable nodes in bulk. E.g. alter the "Update options" form at admin/content/node to provide "Enable for signups" and "Disable for signups" as 2 more choices, and let admins go back and signup-enable all nodes of a given type, if that's what they really want to do.
I don't like (B) at all, for various reasons.
So, I think my prefered order of solutions would be D, C (if there's a way to do it clearly in the UI), then A (if both D and C are impossible to get working cleanly).
Thanks,
-Derek
Comment #2
dwwThis isn't a bug. It's working by design. This issue is really about a new feature to make it possible to retroactively signup-enabled a bunch of existing content.
Comment #3
dwwThis implements hook_node_operations() and a few callbacks. Seems to work nicely. This patch is for HEAD (6.x-2.*) only because of db_placeholders(). hook_node_operations() works in D5 just like D6, so it'd be easy to backport this if anyone was interested.
Comment #4
dwwNote: I just realized that the previous patch bypasses the node type settings where signups can be completely disabled (never allowed), allowed (but off by default), and enabled (on by default). Using this admin UI, you could signup-enable nodes of a type where signups are supposed to be permanently disabled. I'm not sure if this behavior is a feature or a bug in this context. ;)
New patch doesn't change that, but it only shows these two new operations for users that have 'administer signups'.
Comment #5
dwwgreggles agrees this should respect the node type signup configuration and fail with a validation error if you try to signup enable any nodes of a type that has signups "Disabled".
Comment #6
jpcwebb commentedAny news on making this more permanent feature and dealing with the misalignment of node type config?