public function addSelectWhereClause() {
$clauses = [];
$permittedActivityTypeIDs = self::getPermittedActivityTypes();
- $allActivityTypes = self::buildOptions('activity_type_id');
+ $allActivityTypes = self::buildOptions('activity_type_id', 'validate');
if (empty($permittedActivityTypeIDs)) {
// This just prevents a mysql fail if they have no access - should be extremely edge case.
$permittedActivityTypeIDs = [0];
}
- if (array_keys($allActivityTypes) !== array_keys($permittedActivityTypeIDs)) {
- $clauses['activity_type_id'] = ('IN (' . implode(', ', $permittedActivityTypeIDs) . ')');
+ if (array_diff_key($allActivityTypes, $permittedActivityTypeIDs)) {
+ $clauses['activity_type_id'] = ['IN (' . implode(', ', $permittedActivityTypeIDs) . ')'];
}
$contactClause = CRM_Utils_SQL::mergeSubquery('Contact');
'searchDescendentGroups' => FALSE,
'expected_query' => [
0 => 'SELECT contact_a.id as contact_id, source_contact.id as source_contact_id',
- 2 => 'WHERE ( source_contact.id IS NOT NULL ) AND ( 1 ) AND (contact_a.is_deleted = 0)',
],
+ 'where_contains' => 'WHERE ( source_contact.id IS NOT NULL ) AND ( 1 ) AND (contact_a.is_deleted = 0)',
],
],
'Test display relationships' => [