Fix 5.20 regression on retrieving template transaction with no logged in user
authoreileen <emcnaughton@wikimedia.org>
Thu, 28 Nov 2019 02:26:45 +0000 (15:26 +1300)
committereileen <emcnaughton@wikimedia.org>
Thu, 28 Nov 2019 02:26:45 +0000 (15:26 +1300)
CRM/Contribute/BAO/ContributionRecur.php

index b9ea712716757c3d7a1bf23a1e21f3cc129851a6..1787a54137eeceaa0e9600e433d706467ced8779 100644 (file)
@@ -426,6 +426,7 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
    *
    * @return array
    * @throws \CiviCRM_API3_Exception
+   * @throws \Civi\API\Exception\UnauthorizedException
    */
   public static function getTemplateContribution($id, $overrides = []) {
     // use api3 because api4 doesn't handle ContributionRecur yet...
@@ -435,6 +436,7 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
     ]);
     // First look for new-style template contribution with is_template=1
     $templateContributions = \Civi\Api4\Contribution::get()
+      ->setCheckPermissions(FALSE)
       ->addWhere('contribution_recur_id', '=', $id)
       ->addWhere('is_template', '=', 1)
       ->addWhere('is_test', '=', $is_test)
@@ -444,6 +446,7 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
     if (!$templateContributions->count()) {
       // Fall back to old style template contributions
       $templateContributions = \Civi\Api4\Contribution::get()
+        ->setCheckPermissions(FALSE)
         ->addWhere('contribution_recur_id', '=', $id)
         ->addWhere('is_test', '=', $is_test)
         ->addOrderBy('id', 'DESC')