$queryString .= " AND id !=" . CRM_Utils_Type::escape($relationshipId, 'Integer');
}
- $relationship = new CRM_Contact_BAO_Relationship();
- $relationship->query($queryString);
+ $relationship = CRM_Core_DAO::executeQuery($queryString);
while ($relationship->fetch()) {
// Check whether the custom field values are identical.
$result = self::checkDuplicateCustomFields($params, $relationship->id);
}
/**
- * Get get list of relationship type based on the target contact type.
+ * Get list of relationship type based on the target contact type.
+ * Both directions of relationships are included if their labels are not the same.
*
* @param string $targetContactType
- * It's valid contact tpye(may be Individual , Organization , Household).
+ * A valid contact type (may be Individual, Organization, Household).
*
* @return array
- * array reference of all relationship types with context to current contact type .
+ * array reference of all relationship types with context to current contact type.
*/
public static function getRelationType($targetContactType) {
$relationshipType = [];
if ($type['contact_type_b'] == $targetContactType || empty($type['contact_type_b'])) {
$relationshipType[$key . '_a_b'] = $type['label_a_b'];
}
+ if (($type['contact_type_a'] == $targetContactType || empty($type['contact_type_a']))
+ && $type['label_a_b'] != $type['label_b_a']
+ ) {
+ $relationshipType[$key . '_b_a'] = $type['label_b_a'];
+ }
}
return $relationshipType;