+ * Get default title for this item, based on the entity's `label_field`
+ *
+ * @param string $entityType
+ * @param int $entityId
+ * @return string|null
+ */
+ private static function getTitle($entityType, $entityId) {
+ $labelField = CoreUtil::getInfoItem($entityType, 'label_field');
+ $title = NULL;
+ if ($labelField) {
+ $record = civicrm_api4($entityType, 'get', [
+ 'where' => [['id', '=', $entityId]],
+ 'select' => [$labelField],
+ ], 0);
+ $title = $record[$labelField] ?? NULL;
+ }
+ return $title ?? (CoreUtil::getInfoItem($entityType, 'label_field'));
+ }
+
+ /**
+ * Get a link to view/update/delete a given entity.
+ *
+ * @param string $entityType
+ * @param int $entityId
+ * @param string $action
+ * Either 'view', 'update', or 'delete'