To Reproduce this problem...
Install Commerce Kickstart without any demo products. Also enable "Commerce Checkout Redirect" and "Commerce Kickstart Checkout Redirect". Add a product to a cart in another browser (while not logged in), and click 'checkout'. It will redirect you to the login form. Click "Register" and enter a username, email, and passwords, then click submit.

You will get two duplicate registration emails, as well as two "Registration Successful" messages in the browser. This is exacerbated by modules like email_registration.module which causes you to get two emails with two different usernames.

Solution: Within commerce_kickstart_checkout_redirect.module, I removed this entire function:

/**
 * Implements hook_module_implements_alter().
 */
function commerce_kickstart_checkout_redirect_module_implements_alter(&$implementations, $hook) {
  //if (in_array($hook, array('form_alter')) && isset($implementations['commerce_kickstart_checkout_redirect'])) {
  //  // Move our hook implementation to the bottom.
  //  $group = $implementations['commerce_kickstart_checkout_redirect'];
  //  unset($implementations['commerce_kickstart_checkout_redirect']);
  //  $implementations['commerce_kickstart_checkout_redirect'] = $group;
  //}
}

I don't know what the ramifications of doing this are, but it solved the problem! Can someone smarter than me please let me know? Also, doing this change disables the final redirect to the cart display... so it appears that the order of $implementations matters depending on the function...

Comments

jsacksick’s picture

Title: Duplicate Registration in commerce_kickstart_checkout_redirect.module » Cleanup the checkout redirect feature implementation
jsacksick’s picture

Status: Active » Fixed

We entirely removed the commerce kickstart checkout redirect module and we're using the commerce checkout redirect module in his 2.0 version instead.
See https://code.drupalcommerce.org/#/c/631/

A new kickstart stable version is gonna be tagged tomorrow.

Status: Fixed » Closed (fixed)

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