2

I have a bi-lingual site with public registration, the site has a front-end registration form which when completed sends the user to an 'activation pending' page correctly, then sends an email off that the user must click to activate the account.

Clicking that link takes the user to the normal Craft login page, and I am expecting it to instead take the user to the page I've got set up as a welcome message and FAQ.

My code is:

return array(
'*' => array(
    'omitScriptNameInUrls'       => true,          // Whether Craft should omit the script filename currently being used to access Craft (e.g. index.php) when generating URLs
    'cpTrigger'                  => 'secretadmin', // The URI segment Craft should look for when determining if the current request should route to the CP rather than the front-end website
    'maxUploadFileSize'          => '16777216',    // 16Mb
    'phpMaxMemoryLimit'          => '128M',        // The maximum amount of memory Craft will try to reserve during memory intensive operations such as zipping, unzipping and updating
    'enableCsrfProtection'       => true,          // Protect against Cross Site Request Forgery; http://buildwithcraft.com/help/csrf-protection
    'searchIgnoreWords'          => array('a',
                                          'the',
                                          'and',
                                          'as',
                                          'if'),   // Words that should be ignored when indexing search keywords and preparing search terms to be matched against the keyword index
    'purgePendingUsersDuration'  => 'P1W',         // If a user hasn't confirmed their registration in under a week, delete it.
    'activateAccountFailurePath' => array('en_gb' => '/accounts/activation-failed',
                                          'cy_gb' => '/accounts/activation-failed'),   // Where to send failed account activations (only from front-end registration forms)
    'activateAccountSuccessPath' => array('en_gb' => '/accounts/activation-succeeded',
                                          'cy_gb' => '/accounts/activation-succeeded'), // Where to send successful account activations (only from front-end registration forms)
),
...
);

The docs do say the activateAccountSuccessPath only applies to front-end registration, but that's what I'm doing?

What have I misunderstood or didn't set correctly?

1

If the user account that is registering has access to the control panel, either directly or via a user group, then they'll get redirected to the control panel login page after clicking the activation link in the email.

If they don't have access to the control panel, then they'll get redirected to the 'activateAccountSuccessPath' config setting.

  • Thanks Brad; any way I can change this behaviour? These users only have access to the one page they own in the CMS (auto created on activation by a plugin) - it seems madness to have to try and emulate the CMS's editing page with all its intricate behaviours on the front end just to get the activation redirect to work as wanted. – Matt Wilcox Oct 14 '14 at 7:54
  • 1
    Not currently. Send an email to support@buildwithcraft.com describing your whole registration/plugin workflow and we'll see what we can come up with. – Brad Bell Oct 14 '14 at 15:00
1

Brad’s answer does a good job explaining the behavior so I’m leaving the original Q&A in-tact, but it’s possible to work around the behavior with a plugin.

I posted a new Q&A that explains how to do that:

How can I set the "activateAccountSuccessPath" for users with Control Panel access?

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.