Add user-facing titles for sql functions
authorColeman Watts <coleman@civicrm.org>
Wed, 24 Jun 2020 20:10:56 +0000 (16:10 -0400)
committerColeman Watts <coleman@civicrm.org>
Wed, 24 Jun 2020 22:17:00 +0000 (18:17 -0400)
20 files changed:
CRM/Api4/Page/Api4Explorer.php
Civi/Api4/Query/SqlFunction.php
Civi/Api4/Query/SqlFunctionABS.php
Civi/Api4/Query/SqlFunctionAVG.php
Civi/Api4/Query/SqlFunctionCOALESCE.php
Civi/Api4/Query/SqlFunctionCONCAT.php
Civi/Api4/Query/SqlFunctionCOUNT.php
Civi/Api4/Query/SqlFunctionCURDATE.php
Civi/Api4/Query/SqlFunctionGREATEST.php
Civi/Api4/Query/SqlFunctionGROUP_CONCAT.php
Civi/Api4/Query/SqlFunctionISNULL.php
Civi/Api4/Query/SqlFunctionLEAST.php
Civi/Api4/Query/SqlFunctionLOWER.php
Civi/Api4/Query/SqlFunctionMAX.php
Civi/Api4/Query/SqlFunctionMIN.php
Civi/Api4/Query/SqlFunctionNULLIF.php
Civi/Api4/Query/SqlFunctionREPLACE.php
Civi/Api4/Query/SqlFunctionROUND.php
Civi/Api4/Query/SqlFunctionSUM.php
Civi/Api4/Query/SqlFunctionUPPER.php

index 35897d051d4d67de3c4beae2d8b5ee705dc80340..3daba0733836d8b0966bde5fbf613d298bfc36f6 100644 (file)
@@ -70,6 +70,7 @@ class CRM_Api4_Page_Api4Explorer extends CRM_Core_Page {
         if (is_subclass_of($className, '\Civi\Api4\Query\SqlFunction')) {
           $fns[] = [
             'name' => $className::getName(),
+            'title' => $className::getTitle(),
             'params' => $className::getParams(),
             'category' => $className::getCategory(),
           ];
index dacf04c5338d2d6c68e188c51acad82100e5e33b..dbc245f7bfc40dfd5e3ed0c5e6dbc74a47614b75 100644 (file)
@@ -206,4 +206,9 @@ abstract class SqlFunction extends SqlExpression {
     return static::$category;
   }
 
+  /**
+   * @return string
+   */
+  abstract public static function getTitle(): string;
+
 }
index f626e41f270f835c7913b9747f7ccd645e7cdb9f..96d682cd576b140f2c7d3c63043d54cace49d4c3 100644 (file)
@@ -26,4 +26,11 @@ class SqlFunctionABS extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Absolute');
+  }
+
 }
index 9d9fcdd539ea45c0bbf23a3be16a244a7abadecf..577f05afc7a6c70499f47e7a2e91cd0580e094ed 100644 (file)
@@ -26,4 +26,11 @@ class SqlFunctionAVG extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Average');
+  }
+
 }
index 938eb02f038a061b155dec7ecda93420936f7350..584f4374ec774015b594668f842a123e08563e2b 100644 (file)
@@ -25,4 +25,11 @@ class SqlFunctionCOALESCE extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Coalesce');
+  }
+
 }
index ff6b7b993b402863124f198e99f568d4b87970c4..5dc63348a181c05888e4d088c416e2715b37f346 100644 (file)
@@ -26,4 +26,11 @@ class SqlFunctionCONCAT extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Combine');
+  }
+
 }
index 84bb2105fb772798f287d5d6cfb3c863f485d898..f149108a8d9e665902937b93209e5507155942a2 100644 (file)
@@ -27,4 +27,11 @@ class SqlFunctionCOUNT extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Count');
+  }
+
 }
index db3cb84415a8c0b298b7b22a638d2ad283037076..b7687d711e7a1eb2a87c2f6af0fa1a9d9f7e75f6 100644 (file)
@@ -18,4 +18,11 @@ class SqlFunctionCURDATE extends SqlFunction {
 
   protected static $category = self::CATEGORY_DATE;
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Now');
+  }
+
 }
index 8b2dc40122b3e0200374382d77bc15525612cd06..755ab2815112005b743315f702436f6dd1203ed8 100644 (file)
@@ -25,4 +25,11 @@ class SqlFunctionGREATEST extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Greatest');
+  }
+
 }
index 43d548a679b89b5ad96be93d32d7e87f6cb60424..869bd077bfea47280a749f8535af1b51c2756c32 100644 (file)
@@ -40,4 +40,11 @@ class SqlFunctionGROUP_CONCAT extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('List');
+  }
+
 }
index 30ab3ddae8b028f5fc3282bd9ab1ebda649b6cc7..538ad322860d84b27034e69c409300ee0ae0bb9a 100644 (file)
@@ -25,4 +25,11 @@ class SqlFunctionISNULL extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Is null');
+  }
+
 }
index 4c22415c12f0dfb12e4b544e69377fe663d1bc01..ea246a820da7e63803bffdff3e794da006fc973d 100644 (file)
@@ -25,4 +25,11 @@ class SqlFunctionLEAST extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Least');
+  }
+
 }
index eefd0f943b712f5eb8acc5b831ddcdde80ae25d7..2a6b9686f5f20408fbebccb1bd865e32bccf996f 100644 (file)
@@ -26,4 +26,11 @@ class SqlFunctionLOWER extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Lowercase');
+  }
+
 }
index c40d5876aa6093bbc8a1d3981667b444f873df98..2116ec19f3744691019088c0e94e0a189376104e 100644 (file)
@@ -26,4 +26,11 @@ class SqlFunctionMAX extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Max');
+  }
+
 }
index 29c313452fc6c94abcbf4ff1cd20ed66542065a1..e8d4c56ebb3a13e6cc8246542ff0cc2632a171ae 100644 (file)
@@ -26,4 +26,11 @@ class SqlFunctionMIN extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Min');
+  }
+
 }
index 53e74999cad93b6126e772060bb54e59fcb1e6f9..846981c736b1f9508036f1947273161cc72d1731 100644 (file)
@@ -29,4 +29,11 @@ class SqlFunctionNULLIF extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Null if');
+  }
+
 }
index 36d5bcdfbc3b4ed381c922529090ae1cb3864081..d1cdef78e5d72c0d739148b570f7a5d87119b899 100644 (file)
@@ -36,4 +36,11 @@ class SqlFunctionREPLACE extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Replace');
+  }
+
 }
index 29eb06c77d1915abde70374b2fb111d2f3faf101..4d5b2f084d2b236755bcccf117b7502f7b5a8bc3 100644 (file)
@@ -31,4 +31,11 @@ class SqlFunctionROUND extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Round');
+  }
+
 }
index 44520c3f32836fe1af10a43b3f4b970e07271684..b6b74ae786b3b58cb001d2d4880eae3cb90a43a2 100644 (file)
@@ -26,4 +26,11 @@ class SqlFunctionSUM extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Sum');
+  }
+
 }
index c23430365c35fd5a1712dd2eb2c430508eadcb64..b9a714e2d5af53ac784fab8707cdfa5f06f01d31 100644 (file)
@@ -26,4 +26,11 @@ class SqlFunctionUPPER extends SqlFunction {
     ],
   ];
 
+  /**
+   * @return string
+   */
+  public static function getTitle(): string {
+    return ts('Uppercase');
+  }
+
 }