Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • D dataprocessor
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 39
    • Issues 39
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Extensions
  • dataprocessor
  • Merge requests
  • !68

Fix Activity Contact field usage in filters

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged David Hayes requested to merge dave/dataprocessor:hack-to-fix-activity-contact-filters into master Dec 04, 2020
  • Overview 7
  • Commits 3
  • Pipelines 0
  • Changes 1

No idea if this is the right way to handle this issue. Seems a bit hack-ish.

The issue

Adding an Activity Contact field from an Activity source such as Record Type ID produces a bad query with the error "No such field". image

The query comes out similar to this:

SELECT
      `_activity`.`id` AS `id`,
      `_activity`.`source_record_id` AS `source_record_id`,
      `_activity`.`activity_type_id` AS `activity_type_id`,
      `_activity`.`subject` AS `subject`,
      `_activity`.`activity_date_time` AS `activity_date_time`,
      `_activity`.`duration` AS `duration`,
      `_activity`.`location` AS `location`,
      `_activity`.`phone_id` AS `phone_id`,
      `_activity`.`phone_number` AS `phone_number`,
      `_activity`.`details` AS `details`,
      `_activity`.`status_id` AS `status_id`,
      `_activity`.`priority_id` AS `priority_id`,
      `_activity`.`parent_id` AS `parent_id`,
      `_activity`.`is_test` AS `is_test`,
      `_activity`.`medium_id` AS `medium_id`,
      `_activity`.`is_auto` AS `is_auto`,
      `_activity`.`relationship_id` AS `relationship_id`,
      `_activity`.`is_current_revision` AS `is_current_revision`,
      `_activity`.`original_id` AS `original_id`,
      `_activity`.`result` AS `result`,
      `_activity`.`is_deleted` AS `is_deleted`,
      `_activity`.`campaign_id` AS `campaign_id`,
      `_activity`.`engagement_level` AS `engagement_level`,
      `_activity`.`weight` AS `weight`,
      `_activity`.`is_star` AS `is_star`,
      `_activity`.`created_date` AS `created_date`,
      `_activity`.`modified_date` AS `modified_date`,
      `_activity_contact`.`activity_id` AS `activity_contact_activity_id`,
      `_activity_contact`.`contact_id` AS `activity_contact_contact_id`,
      `_activity_contact`.`record_type_id` AS `activity_contact_record_type_id`,
      `_activity_case`.`case_id` AS `activity_case_case_id`
    FROM
      `civicrm_activity` `_activity`
      INNER JOIN `civicrm_activity_contact` `_activity_contact` ON `_activity`.`id` = `_activity_contact`.`activity_id`
      LEFT JOIN `civicrm_case_activity` `_activity_case` ON `_activity`.`id` = `_activity_case`.`activity_id`
    WHERE
      1
      AND `activity`.`activity_contact_record_type_id` IN (1)

activity_contact_record_type_id does not exit. It looks like there is quite a bit of special handing for this table.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: hack-to-fix-activity-contact-filters