I didn't see this anywhere in the configuration settings, but what I'd like to do is make sure a node remains unpublished until checkout is complete. Is that something the module can do directly or is that something I have to configure via Rules?

If it's a Rules thing, does anyone have a recipe for that?

Comments

allegragf’s picture

It has been a while since I set mine up. The node by default should remain unpublished until checkout. What I did was follow this link http://drupaleasy.com/blogs/ultimike/2009/03/event-registration-ubercart. I had to download the hidden fields module so I could make my "status" and "orderid" hidden. Then using a rule I update these field. Then using views I only show the node if it matches the filter criteria of the status and orderid.

pbeakley’s picture

That would be totally awesome if that's what the module did, but it doesn't. If I create the node and add it to the cart, and then go look at Content -> List, it's sitting there published. :-( I read through the drupaleasy.com page, and it reads to me (maybe I'm misreading) that in fact the node being published is part of the module:

There's still one major flaw in the system - if a user completes the "registrant profile" form, but failed to complete the checkout, you'll end up with an orphaned registrant profile page - we need some way to mark a registrant profile page as paid. This is what we're going to use the "Status" and "Order ID" fields for. We'll use Ubercart's Conditional Actions to add a bit of PHP code to update the fields when the user completes the checkout process.

Which brings us back to the need for these hidden status fields. So thank you so much for the link! I think I can make that work.

I think I could also publish/unpublish via Rules but I have no idea how to relate the Rule to the created node. There might be a missing bit of code between UC Rules integration and this module. Dunno! In the mean time, the hidden code thing is gold. Thanks again.

pbeakley’s picture

Okay, additional thoughts:

That drupaleasy.com page was written pre-D7, which means it uses Conditional Actions instead of Rules. Rules integration with Node Checkout I think is my problem here! I have no idea how to write a Rule so it can act on the created node, so I think I'm going to start a new thread with that in the title.

allegragf’s picture

You can find the condition I wrote for the rule here: https://drupal.org/node/1117870