dev/core#2066 Use shared function to set the next url
authoreileen <emcnaughton@wikimedia.org>
Wed, 14 Oct 2020 04:09:07 +0000 (17:09 +1300)
committereileen <emcnaughton@wikimedia.org>
Wed, 14 Oct 2020 04:09:07 +0000 (17:09 +1300)
Reduces copy & paste - there are some more places like this to sort out after ....

CRM/Activity/Form/Task.php
CRM/Contribute/Form/Task.php
CRM/Core/Form/Task.php

index 3be85d5bc3025648c3dd67e80dce747db8142542..2c9adde7281d1cb077dc8764c5278d465d909dcf 100644 (file)
@@ -83,24 +83,7 @@ class CRM_Activity_Form_Task extends CRM_Core_Form_Task {
     }
 
     $form->_activityHolderIds = $form->_componentIds = $ids;
-
-    // Set the context for redirection for any task actions.
-    $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $form);
-    $urlParams = 'force=1';
-    if (CRM_Utils_Rule::qfKey($qfKey)) {
-      $urlParams .= "&qfKey=$qfKey";
-    }
-
-    $session = CRM_Core_Session::singleton();
-    $searchFormName = strtolower($form->get('searchFormName'));
-    if ($searchFormName == 'search') {
-      $session->replaceUserContext(CRM_Utils_System::url('civicrm/activity/search', $urlParams));
-    }
-    else {
-      $session->replaceUserContext(CRM_Utils_System::url("civicrm/contact/search/$searchFormName",
-        $urlParams
-      ));
-    }
+    $form->setNextUrl('activity');
   }
 
   /**
index e6cc4ea750453eb9c129213d27aee29c97ce33af..94d76b0fd4ce08e830dbc0fb6c9d97839d140aef 100644 (file)
@@ -136,25 +136,7 @@ class CRM_Contribute_Form_Task extends CRM_Core_Form_Task {
 
     $form->_contributionIds = $form->_componentIds = $ids;
     $form->set('contributionIds', $form->_contributionIds);
-
-    //set the context for redirection for any task actions
-    $session = CRM_Core_Session::singleton();
-
-    $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $form);
-    $urlParams = 'force=1';
-    if (CRM_Utils_Rule::qfKey($qfKey)) {
-      $urlParams .= "&qfKey=$qfKey";
-    }
-
-    $searchFormName = strtolower($form->get('searchFormName'));
-    if ($searchFormName == 'search') {
-      $session->replaceUserContext(CRM_Utils_System::url('civicrm/contribute/search', $urlParams));
-    }
-    else {
-      $session->replaceUserContext(CRM_Utils_System::url("civicrm/contact/search/$searchFormName",
-        $urlParams
-      ));
-    }
+    $form->setNextUrl('contribute');
   }
 
   /**
index 2c87a8ccbb92067970de5eeac75890750874cd5b..a051f6bf53b58e428fd2a8168bf5b6644cc93596 100644 (file)
@@ -80,7 +80,7 @@ abstract class CRM_Core_Form_Task extends CRM_Core_Form {
    *
    * @throws \CRM_Core_Exception
    */
-  protected function setNextUrl(string $pathPart) {
+  public function setNextUrl(string $pathPart) {
     //set the context for redirection for any task actions
     $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $this);
     $urlParams = 'force=1';