From 4e161794d0d952261bda6460cb34757ea210d029 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Fri, 1 Oct 2021 11:20:36 -0400 Subject: [PATCH] APIv4 - Give every SQL expression a title Fixes a bug in Afform where it would crash trying to get the title of SQL Equations on search display forms. --- Civi/Api4/Query/SqlEquation.php | 4 ++++ Civi/Api4/Query/SqlExpression.php | 5 +++++ Civi/Api4/Query/SqlField.php | 4 ++++ Civi/Api4/Query/SqlFunction.php | 5 ----- Civi/Api4/Query/SqlNull.php | 4 ++++ Civi/Api4/Query/SqlNumber.php | 4 ++++ Civi/Api4/Query/SqlString.php | 4 ++++ Civi/Api4/Query/SqlWild.php | 4 ++++ 8 files changed, 29 insertions(+), 5 deletions(-) diff --git a/Civi/Api4/Query/SqlEquation.php b/Civi/Api4/Query/SqlEquation.php index 479c6977f8..caaba24fb4 100644 --- a/Civi/Api4/Query/SqlEquation.php +++ b/Civi/Api4/Query/SqlEquation.php @@ -116,4 +116,8 @@ class SqlEquation extends SqlExpression { return $value; } + public static function getTitle(): string { + return ts('Equation'); + } + } diff --git a/Civi/Api4/Query/SqlExpression.php b/Civi/Api4/Query/SqlExpression.php index 4cbe46386a..46a81c0f1d 100644 --- a/Civi/Api4/Query/SqlExpression.php +++ b/Civi/Api4/Query/SqlExpression.php @@ -171,6 +171,11 @@ abstract class SqlExpression { return substr($className, strrpos($className, '\\') + 1); } + /** + * @return string + */ + abstract public static function getTitle(): string; + /** * @return string|NULL */ diff --git a/Civi/Api4/Query/SqlField.php b/Civi/Api4/Query/SqlField.php index 6180fbf1b4..a665f68609 100644 --- a/Civi/Api4/Query/SqlField.php +++ b/Civi/Api4/Query/SqlField.php @@ -41,4 +41,8 @@ class SqlField extends SqlExpression { return $fieldList[$this->expr]['sql_name']; } + public static function getTitle(): string { + return ts('Field'); + } + } diff --git a/Civi/Api4/Query/SqlFunction.php b/Civi/Api4/Query/SqlFunction.php index c5bc9b46f1..ea09a42d5d 100644 --- a/Civi/Api4/Query/SqlFunction.php +++ b/Civi/Api4/Query/SqlFunction.php @@ -195,11 +195,6 @@ abstract class SqlFunction extends SqlExpression { return static::$category; } - /** - * @return string - */ - abstract public static function getTitle(): string; - /** * @return string */ diff --git a/Civi/Api4/Query/SqlNull.php b/Civi/Api4/Query/SqlNull.php index 046d04c749..5b804ba7e9 100644 --- a/Civi/Api4/Query/SqlNull.php +++ b/Civi/Api4/Query/SqlNull.php @@ -23,4 +23,8 @@ class SqlNull extends SqlExpression { return 'NULL'; } + public static function getTitle(): string { + return ts('Null'); + } + } diff --git a/Civi/Api4/Query/SqlNumber.php b/Civi/Api4/Query/SqlNumber.php index c3331bd953..04e7424aa0 100644 --- a/Civi/Api4/Query/SqlNumber.php +++ b/Civi/Api4/Query/SqlNumber.php @@ -26,4 +26,8 @@ class SqlNumber extends SqlExpression { return $this->expr; } + public static function getTitle(): string { + return ts('Number'); + } + } diff --git a/Civi/Api4/Query/SqlString.php b/Civi/Api4/Query/SqlString.php index ae2208d6f3..53228498d3 100644 --- a/Civi/Api4/Query/SqlString.php +++ b/Civi/Api4/Query/SqlString.php @@ -31,4 +31,8 @@ class SqlString extends SqlExpression { return '"' . \CRM_Core_DAO::escapeString($this->expr) . '"'; } + public static function getTitle(): string { + return ts('Text'); + } + } diff --git a/Civi/Api4/Query/SqlWild.php b/Civi/Api4/Query/SqlWild.php index 7799042102..f0679f58a2 100644 --- a/Civi/Api4/Query/SqlWild.php +++ b/Civi/Api4/Query/SqlWild.php @@ -23,4 +23,8 @@ class SqlWild extends SqlExpression { return '*'; } + public static function getTitle(): string { + return ts('Wild'); + } + } -- 2.25.1