Extract getQueryParams
authoreileen <emcnaughton@wikimedia.org>
Fri, 19 Mar 2021 21:13:56 +0000 (10:13 +1300)
committereileen <emcnaughton@wikimedia.org>
Sun, 21 Mar 2021 22:24:32 +0000 (11:24 +1300)
CRM/Contribute/Form/Task/TaskTrait.php

index 552d46d847f88a31a1fc3e465044b1272f42b75c..85d17ffe2b3b7ddeea4c2b0c52e2b8690e4641b0 100644 (file)
@@ -29,25 +29,7 @@ trait CRM_Contribute_Form_Task_TaskTrait {
    */
   public function getSearchQueryResults(): CRM_Core_DAO {
     $form = $this;
-    $queryParams = $form->get('queryParams');
-    $isTest = FALSE;
-    if (is_array($queryParams)) {
-      foreach ($queryParams as $fields) {
-        if ($fields[0] === 'contribution_test') {
-          $isTest = TRUE;
-          break;
-        }
-      }
-    }
-    if (!$isTest) {
-      $queryParams[] = [
-        'contribution_test',
-        '=',
-        0,
-        0,
-        0,
-      ];
-    }
+    $queryParams = $this->getQueryParams();
     $returnProperties = ['contribution_id' => 1];
     $sortOrder = $sortCol = NULL;
     if ($form->get(CRM_Utils_Sort::SORT_ORDER)) {
@@ -74,4 +56,29 @@ trait CRM_Contribute_Form_Task_TaskTrait {
     return $query->searchQuery(0, 0, $sortOrder);
   }
 
+  /**
+   * Get the query parameters, adding test = FALSE if needed.
+   *
+   * @return array|null
+   */
+  protected function getQueryParams(): ?array {
+    $queryParams = $this->get('queryParams');
+    if (!is_array($queryParams)) {
+      return NULL;
+    }
+    foreach ($queryParams as $fields) {
+      if ($fields[0] === 'contribution_test') {
+        return $queryParams;
+      }
+    }
+    $queryParams[] = [
+      'contribution_test',
+      '=',
+      0,
+      0,
+      0,
+    ];
+    return $queryParams;
+  }
+
 }