uc_signup_cancel_temporary_signups() is being passed the wrong variable in uc_signup_order(), so temporary signups don't get correctly deleted if the order somehow gets submitted multiple times.

CommentFileSizeAuthor
#5 848726.patch1.82 KBezra-g
#1 uc_signup-848726.patch818 bytesles lim

Comments

les lim’s picture

Status: Active » Reviewed & tested by the community
StatusFileSize
new818 bytes

Patch attached.

goose2000’s picture

So this is by design, and thus means you can not checkout using a check / money order payment option? Is this correct?

les lim’s picture

Sorry, I'm not sure what you're referring to when you ask if "this is by design".

I get the feeling the question you're asking might be outside the scope of this issue, which is simply about fixing a bad function call in the existing code. You might want to open a new issue.

fletchgqc’s picture

Status: Reviewed & tested by the community » Needs work

I'm also having the problem of temporary signups not being cancelled. However, it happens every time and isn't dependent on an order being submitted multiple times. I tried your patch and unfortunately it didn't help me - the same problem remains.

In any case, I reviewed the code it does appear that $order is incorrectly used. The variable $order is also used in two other places in that function, apart from the one that you have fixed. Do you think these should be changed too?

ezra-g’s picture

Status: Needs work » Fixed
StatusFileSize
new1.82 KB

Indeed, these all did need to be changed to arg1. I'm surprised I missed this error in my testing. Sorry about that!

I've committed this fix which changes all instances of $order to $arg1 in uc_signup_order().

modctek’s picture

I've applied this patch, and I'm still not seeing my temporary signups being converted into actuals on order completion. I'm only using Paypal Standard Web Payments (Sandbox) at the moment, and the order itself is showing as "Completed" but the temporaries are still in the list of signups alongside the actual, legit signups.

In looking at the view "uc_signup/attendees" I can see that the anonymous signups have the correct order # assigned to them, where as the real signups have no order # assigned, so perhaps the conditional action isn't running/completing?

49digital’s picture

I have noticed the same problem and have applied the patch but the problem remains.

If users pay by cheque then I don't get duplicate signups, but if they pay with credit card then I do.

Subscribing.

echoz’s picture

Using 6.x-1.x-dev from Aug 1, which includes #5 patch, and no other patches applied, using test gateway, I get same as #6 describes - duplicate signups, one is placeholder-x email associated with the order#, the other signup has correct email, username, profile field + no order#.

LisaX’s picture

this problem might be related to this http://drupal.org/node/861058

echoz’s picture

Reporting that my issue (#8) about the placeholder email not getting deleted (duplicate signups) is resolved by moving my installation to my shared server dev environment, rather than on my local machine.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.