1

I have an EE 2.5.5 site. Using Cartthrob 2.2.9 with Profile:edit 1.0.9 as well.

During checkout I've set the create_user="yes" param which does in fact create a member upon checkout completion.

I have CT setup under the Members tab to use Profile:edit.

I receive an email asking to click a link to activate said account. This email is based on a message template "Member Account Activation Instructions" in EE itself which uses {unwrap}{activation_url}{/unwrap} to create the actual link

The link looks like: http://mysite.com/?ACT=14&id=3YI1MYDJtG

When I click this link I get an error as follows:

Error Invalid activation request.

Note: I'm using custom system messages

In profile:edit I set "Require Member Account Activation?" to be "Self-activation via email".

There is this setting in Cartthrob under the Member tab:

Member Creation Setting

I have this set to Auto Login so it pulls the data from the checkout form to the member creation fields (and then on to to P:E or vice versa I presume.)

Questions:

  • Does Cartthrob automatically activate the user upon checkout with the above setting? And if so why is there an email still being sent out for activation? Would that be the cause of the error then? Is this a bug on the part of CT, P:E or EE maybe?

  • Is there a setting which I'm missing in EE, CT, P:E or combination there of which I need to set to get the activation working properly?

Thanks!

  • With that CT Auto-login setting, it WILL set the user's member group to an active group. So when you hit the activation url, it fails because it sees that you are already in an active member group. The problem is, the member creation, where the email gets sent, occurs prior to CT's auto-login. I think the only solution is to not require any activation in your P:E/member settings. – Rob Sanchez Apr 17 '13 at 0:47
  • Maaaybe you could write an extension that alters the member activation preference when the checkout_form has create_user="yes" and auto-login on. – Rob Sanchez Apr 17 '13 at 0:52
  • Thanks for the reply Rob! Assuming it was possible what hook would be used and would it be a CT hook I presume? – Natetronn Apr 17 '13 at 3:56
1

You'd want to use the cartthrob_pre_process hook. Your extension would look something like this:

public function cartthrob_pre_process()
{
  if ($this->EE->input->post('create_user') === 'yes')
  {
    $this->EE->config->set_item('req_mbr_activation', 'none');
  }
}
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.