Fix fatal error in joomla with civicrm task query param
authorjitendrapurohit <jitendra@fuzion.co.nz>
Mon, 25 Oct 2021 06:31:41 +0000 (12:01 +0530)
committerjitendrapurohit <jitendra@fuzion.co.nz>
Mon, 25 Oct 2021 06:31:41 +0000 (12:01 +0530)
CRM/Contribute/Task.php
CRM/Core/Controller/Task.php

index b95755c4811196baeae222e3e4014c81f2a22714..9f54f2258d81b796a335ef896b48ba9376e31032 100644 (file)
@@ -91,7 +91,7 @@ class CRM_Contribute_Task extends CRM_Core_Task {
           'result' => FALSE,
           'title_single_mode' => ts('Send Receipt'),
           'name' => ts('Send Receipt'),
-          'url' => 'civicrm/contribute/task?reset=1&task=receipt',
+          'url' => 'civicrm/contribute/task?reset=1&task_item=receipt',
           'key' => 'receipt',
           'icon' => 'fa-envelope-o',
           'filters' => ['contribution_status_id' => [CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Completed')]],
@@ -101,7 +101,7 @@ class CRM_Contribute_Task extends CRM_Core_Task {
           'title' => ts('Thank-you letters - print or email'),
           'class' => 'CRM_Contribute_Form_Task_PDFLetter',
           'result' => FALSE,
-          'url' => 'civicrm/contribute/task?reset=1&task=letter',
+          'url' => 'civicrm/contribute/task?reset=1&task_item=letter',
           'key' => 'letter',
           'name' => ts('Send Letter'),
           'is_single_mode' => TRUE,
index 5af9740b65c2ce96d9c0984c9342100afd692e80..02674c6a40682842c6d875232d811101c71cb5f1 100644 (file)
@@ -72,7 +72,10 @@ abstract class CRM_Core_Controller_Task extends CRM_Core_Controller {
    * @throws \CRM_Core_Exception
    */
   protected function getTaskClass(): array {
-    $task = CRM_Utils_Request::retrieve('task', 'Alphanumeric', $this, TRUE);
+    $task = CRM_Utils_Request::retrieve('task_item', 'Alphanumeric', $this);
+    if (empty($task)) {
+      $task = CRM_Utils_Request::retrieve('task', 'Alphanumeric', $this, TRUE);
+    }
     foreach ($this->getAvailableTasks() as $taskAction) {
       if (($taskAction['key'] ?? '') === $task) {
         return (array) $taskAction['class'];