Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Critical
-
Resolution: Cannot Reproduce
-
Affects Version/s: 4.7.9
-
Fix Version/s: 4.7.10
-
Component/s: None
-
Labels:
-
Documentation Required?:None
-
Sprint:4.7.10 Merge
-
Funding Source:Contributed Code
Description
As suspected in CRM-17597 it turns out that the merge batch function treats 0 as no data - meaning merging a deceased contact with a live contact results in a zombie rather than a merge conflict.
Due to sloppy coding the order matters - if the dead person comes first you get a merge. If the living person is the first in the pair you get a conflict.
This also applies to do_not_trade, do_not_email etc.
I have added a test to cover is_deceased. I also had to tweak the query object /api to allow you to get both deceased & live contacts - ie. is_deceased => array('IN' => array(0, 1);