hi -

haven't tested exhaustively, but UC Rules module seems to break role expiry. Experiencing this in 2 separate sites, each running Ubercart 6.x-2.4 with "Roles" activated and a single expirable role attached to my test products.

I can confirm that the expirable role does work as expected when UC Rules is un-activated: the role shows up in the user's account -> ubercart roles once the order is moved through the "completed" stage.

With UC Rules activated (but no active ubercart-related rules added), the order is processed as "complete", but no expirable role is added to the user's account.

Not sure if i'm overlooking something, and will test further, but wanted to flag this for anyone else testing uc rules with expirable roles activated.

Comments

rickmanelius’s picture

So essentially, the thing breaking is the actual granting of the role when uc_rules is enabled?

rickmanelius’s picture

I'm experiencing the same:

Works: rules
Breaks: rules + uc_rules

Both the email and the actual role assignment do not work. I can also confirm that it doesn't matter whether you have any rules installed at all.

There are no errors thrown that I can tell. Is something unsetting or blocking conditional actions from firing off?

reinvented’s picture

I can confirm this as well:

We have a product with a Feature that assigns a role.

With this module installed, a purchase proceeds normally with no warnings, but the role is not assigned.

If we remove the module, purchases result in the successful assignment of the role.

reinvented’s picture

Some additional debugging shows me that the function uc_roles_action_order_renew() that does the actual role-granting does not fire at all if the Ubercart Rule Integration module is installed.

When I remove the module, the function fires properly.

tinker’s picture

Assigned: Unassigned » tinker
Status: Active » Closed (duplicate)

This is caused by faulty order status change in uc_rules_order(). See #1276132: uc_rules_order() should NOT be changing the order status

Marking this as 'Closed (duplicate)' because a patch is provided in #1276132. If the patch does not fix the issue please re-open this bug report.