Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Critical
-
Resolution: Cannot Reproduce
-
Affects Version/s: 4.2.1
-
Fix Version/s: 4.3.0
-
Component/s: CiviContribute, CiviCRM Profile
-
Labels:
Description
Problem : DB Error : Already exists - on "Contribution Page" Submission
Background :
"User" registers on site via a CiviCRM "Contribution Page".
That "Contribution Page" includes :
- "Membership" tab > a "Membership" = "Required"
- "Profile" tab > "New Individual" Profile (with "Advanced Settings" > "Joomla user account registration option?" = "Account creation required")
- Result = CiviCRM & Joomla Reg OK. Joomla User = "Registered"
"User" then attempts to make an "On Behalf Of" contribution via another "Contribution Page".
That "Contribution Page" includes :
- "Title" tab > "Allow individuals to contribute .... " = "Ticked" > "Organization Profile" = "New Organization" > "Check 'Required' to force ... organization" > value = "Optional".
- "Amounts" tab > "Dummy Payment Processor" > 1 x Amount
- "Membership" tab > a "Membership" = "Required"
- Result : "User" clicks > "Confirm Contribution" button > "Confirmation Page" > "Make Contribution" button > generates "DB Error : already exists"
WHAT "ALREADY EXISTS" ?
No matter what combination of "Organization" Profiles & values specified on that "Contribution Page" submission results in "DB Error : already exists"
When reviewed in "Admin", CiviCRM has created a new "Contact" for that "New Organization" & the "Users" details have been updated to included "Billing Address" info generated by completing the Credit Card payment area.
Completely deleting both the "User" & the "New Organization" from both Joomla & CiviCRM prior to re-testing does not effect the outcome when the test is repeated.
I have created a site to demo the problem. Site created on new PHP 5.3.17 server with Joomla 2.5.7 & CiviCRM 4.2.1
The site has only one "User", "Super Admin". admin login is Username = admin, p/w = admin (http://test.xitranet.com/administrator)
Site : http://test.xitranet.com
When you view site, on main menu find "CiviCRM + Joomla Membership". Completing that form creates a Joomla Registered User with a CiviCRM "Contact" record.
Now Login with the Username & P/W you created & new options with be available on main menu > "On Behalf Of Test 01-04" - each test relates to a CiviCRM contribution page.
P.S. When you access Joomla Admin you wont find CiviCRM in "Components" because all version of CiviCRM for servers that don't have "built-in unzip functionality" (eg : civicrm-4.2.1-joomla-alt) fail on install because they contain code relating to "Server unzip functionality".
To get around that problem you have to deleted the first few lines of ".../tmp/com_civicrm/admin/configure.php" prior to install via Joomla "Extension Manager" to remove references to "server unzip functionality". As a result of this mucking around CiviCRM does install but does not appear in the "Components" list and can only be accessed from the Joomla "Control Panel").