On some triggers, user accounts can be passed as arguments. There seems to be inconsistencies among the triggers, conditions, and actions about whether the arguments are called "user" or "account".
This isn't usually a problem because ca_pull_trigger() just takes an ordered list of arguments and gives them the right name. Taxes don't use ca_pull_trigger(), and the code passes in an argument called "account", but the predicate expects one called "user".
This patch changes all of the arguments named "user" to "account" (the #entity is still "user"), and the one instance of "uc_order" in uc_taxes that shouldn't ever have been done. CA is updated to fix all of the saved predicates in the database.
| Comment | File | Size | Author |
|---|---|---|---|
| #4 | argument_name.patch | 3.23 KB | Island Usurper |
| argument_name.patch | 2.8 KB | Island Usurper |
Comments
Comment #1
Island Usurper commentedNote that the user role condition (#379394: condition role user) won't work on taxes until this is fixed.
Comment #2
rszrama commentedHmm... sorry, didn't notice the condition failing before committing! My bust. Will review this one ASAP.
Comment #3
rszrama commentedSo, I applied this patch and ran the update, but my predicate using a role condition didn't work until I re-saved the predicate. I'm going to guess there's something wrong with the update function. : ?
Comment #4
Island Usurper commentedNo, the update function is fine. It's just that the role condition wasn't fixed in ca.ca.inc. New patch for fixing.
Comment #5
Island Usurper commentedCommitted. I tested it with a role condition on a tax predicate, so it should work for everything. Now to make sure that #384652: Convert Workflow-ng configurations into CA predicates during upgrade to D6 makes these changes happen too.