Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Blocker
-
Resolution: Fixed/Completed
-
Affects Version/s: 4.7
-
Fix Version/s: 4.7.7
-
Component/s: Core CiviCRM
-
Labels:
-
Documentation Required?:None
-
Funding Source:Core Team Funds
Description
When deduping contacts holding a custom file field, we're a facing the following error:
One of parameters (value: 5667c1677bca0_3f2cb71777b83d7a5ed1cca5e7dff69f.jpg) is not of the type Integer
From a first glance at the code I think there may be a bug. As you can see in the stacktrace below, CRM_Core_BAO_File::paperIconAttachment() is feeded with the field's value while it requires the field's id as param.
Could that be?
StackTrace:
{{
#1 CRM/Utils/Type.php(369): CRM_Core_Error::fatal("One of parameters (value: 5667c1677bca0_3f2cb71777b83d7a5ed1cca5e7dff69f.jpg...")
#2 CRM/Core/DAO.php(1335): CRM_Utils_Type::validate("5667c1677bca0_3f2cb71777b83d7a5ed1cca5e7dff69f.jpg", "Integer")
#3 CRM/Core/DAO.php(1254): CRM_Core_DAO::composeQuery("\nSELECT CF.id as cfID,\n CF.uri as uri,\n CF.mime_typ...", (Array:2), TRUE)
#4 CRM/Core/BAO/File.php(309): CRM_Core_DAO::executeQuery("\nSELECT CF.id as cfID,\n CF.uri as uri,\n CF.mime_typ...", (Array:2))
#5 CRM/Core/BAO/File.php(691): CRM_Core_BAO_File::getEntityFile("*", "5667c1677bca0_3f2cb71777b83d7a5ed1cca5e7dff69f.jpg")
#6 CRM/Core/BAO/CustomField.php(1233): CRM_Core_BAO_File::paperIconAttachment("*", "5667c1677bca0_3f2cb71777b83d7a5ed1cca5e7dff69f.jpg")
#7 CRM/Core/BAO/CustomField.php(1139): CRM_Core_BAO_CustomField::formatDisplayValue("5667c1677bca0_3f2cb71777b83d7a5ed1cca5e7dff69f.jpg", (Array:44), NULL)
#8 CRM/Dedupe/Merger.php(1411): CRM_Core_BAO_CustomField::displayValue("5667c1677bca0_3f2cb71777b83d7a5ed1cca5e7dff69f.jpg", 88)
#9 CRM/Contact/Form/Merge.php(186): CRM_Dedupe_Merger::getRowsElementsAndInfo("266847", "252170")
#10 CRM/Core/Form.php(519): CRM_Contact_Form_Merge->preProcess()
#11 CRM/Core/QuickForm/Action/Display.php(92): CRM_Core_Form->buildForm()
#12 packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Contact_Form_Merge), "display")
#13 packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Form_Merge), "display")
#14 CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("display")
#15 CRM/Utils/Wrapper.php(113): CRM_Core_Controller->run()
#16 CRM/Core/Invoke.php(286): CRM_Utils_Wrapper->run("CRM_Contact_Form_Merge", "Kontakt zusammenführen", NULL)
#17 CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:13))
#18 CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:3))
#19 drupal/civicrm.module(454): CRM_Core_Invoke::invoke((Array:3))
#20 [internal function](): civicrm_invoke("contact", "merge")
#21 /d/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:2))
#22 /d/index.php(21): menu_execute_active_handler()
#23
}}