hi!

I found that signup module doesn't respect change of node type.
I have own cck node type - global event, *without* option to signup for it and other cck node type - our (community organized) event *with* option signup for it.

sometimes people did mistake and add global event as community event. then I change node type using module nodetype
Everything works except signup - it offers signup to event although it was change to node type *without* option to signup for it.

thanks
Igorik
http://www.somvprahe.sk

Comments

dww’s picture

Category: bug » support
Status: Active » Closed (works as designed)

nodetype doesn't provide a hook to do anything smarter when you change a node's type. All it does is change the node's type in a single DB column in the {node} table. See the warning on the nodetype project page you linked to:

Note: This module is extremely simple and *only* changes the node type in the database column. That is all. It does not convert any CCK fields or change other things about the node.

So, first of all, there's no way signup.module can know that you used nodetype to change the node's type. Furthermore, even if it did know, signup.module supports having individual nodes enabled for signups, even if most nodes of that type aren't signup enabled. So, if a node starts out life as signup-enabled, just because it changes its type doesn't mean it shouldn't necessarily be signup enabled anymore.

If you want to convert a node from something signup-enabled to something else, you'll have to edit the node and toggle the setting about if it's signup-enabled or not. Just visit the edit tab on the node, scroll down to "Signup settings" and it all works perfectly.

Good luck,
-Derek