Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Minor
-
Resolution: Fixed/Completed
-
Affects Version/s: 3.1.3
-
Fix Version/s: 3.2.4
-
Component/s: CiviCRM Profile
-
Labels:None
Description
1. Current behavior for non-embedded profiles when CiviMail is NOT enabled is incorrect:
– Contact is added to group w/ Pending status
– Email is sent with link to confirm (see below)
– Clicking confirm link gives 'Access Denied'.
Correct behavior: If CiviMail is NOT enabled, contact should be directly 'Added' to group - no double-optin used regardless of double-optin setting in civicrm.settings.php.
2. When a profile is embedded in a contribution page (and likely in event registration) with 'Groups" field, AND CiviMail is enabled - we should be doing double-optin (unless it is explicitly disabled in civicrm.settings.php with CIVICRM_PROFILE_DOUBLE_OPTIN = 0). Currently this is not happening:
http://forum.civicrm.org/index.php/topic,12485.msg53756.html#msg53756
NOTE: Please test all 4 conditions for profiles embedded in contribution page / event registration page: CiviMail disabled, CiviMail enabled with double-optin setting = 0, Civmail enabled with double-optin setting = 1, Civmail enabled with double-optin setting not present (this should be the same is double-optin = 1 since default behavior is to use double-optin). Please make sure that this also works for each of the additional participants that have been configured w/ such a profile as well.
=========================
Detailed commend from Kurund on this:
defined( 'CIVICRM_PROFILE_DOUBLE_OPTIN' ) is missing in civicrm.settings.php.
Code in Defaults.php
//profile double opt-in
$this->profileDoubleOptIn = defined( 'CIVICRM_PROFILE_DOUBLE_OPTIN' ) ? false : true;
if it is not defined then profile double opt in enabled, which is incorrect IF CiviMail is not enabled.
Also in Form.php
if ( $config->profileDoubleOptIn &&
CRM_Utils_Array::value( 'group', $this->_fields ) ) {
Here also CiviMail condition is not handled. So I think we CiviMail is disabled then double opt in disabled and we directly add Contacts to groups.