// Multiple revisions of the activity.
// Q: Could we simplify & move the extra AND clauses into `where(...)`?
$e->query->param('casEntityJoinExpr', 'e.id = reminder.entity_id AND e.is_current_revision = 1 AND e.is_deleted = 0');
+ $e->query->select('e.id AS tokenContext_' . $this->getEntityContextSchema());
}
/**
*/
public function prefetch(TokenValueEvent $e) {
// Find all the entity IDs
- $entityIds
- = $e->getTokenProcessor()->getContextValues('actionSearchResult', 'entityID')
- + $e->getTokenProcessor()->getContextValues($this->getEntityContextSchema());
+ $entityIds = $e->getTokenProcessor()->getContextValues($this->getEntityContextSchema());
if (!$entityIds) {
return NULL;
}
/**
- * @inheritDoc
+ * Evaluate the content of a single token.
+ *
+ * @param \Civi\Token\TokenRow $row
+ * The record for which we want token values.
+ * @param string $entity
+ * The name of the token entity.
+ * @param string $field
+ * The name of the token field.
+ * @param mixed $prefetch
+ * Any data that was returned by the prefetch().
+ *
+ * @throws \CRM_Core_Exception
*/
public function evaluateToken(TokenRow $row, $entity, $field, $prefetch = NULL) {
// maps token name to api field
'activity_id' => 'id',
];
- // Get ActivityID either from actionSearchResult (for scheduled reminders) if exists
- $activityId = $row->context['actionSearchResult']->entityID ?? $row->context[$this->getEntityContextSchema()];
+ $activityId = $row->context[$this->getEntityContextSchema()];
$activity = $prefetch['activity'][$activityId];