X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FContribute%2FForm%2FSearch.php;h=1e967dca2f2e8b7f66801da8e6e0d6715017d1d1;hb=0d69fd8e79da60b18afdf94d299dea5feeb6d5e4;hp=f3aa40248b8aa5e7f57ffef5e34c4153225b0154;hpb=7abd0f3724d41e929046ee7f1f6975e29bfa210f;p=civicrm-core.git diff --git a/CRM/Contribute/Form/Search.php b/CRM/Contribute/Form/Search.php index f3aa40248b..1e967dca2f 100644 --- a/CRM/Contribute/Form/Search.php +++ b/CRM/Contribute/Form/Search.php @@ -84,16 +84,7 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { $this->_done = FALSE; - $this->loadStandardSearchOptionsFromUrl(); - - // get user submitted values - // get it from controller only if form has been submitted, else preProcess has set this - if (!empty($_POST)) { - $this->_formValues = $this->controller->exportValues($this->_name); - } - else { - $this->_formValues = $this->get('formValues'); - } + parent::preProcess(); //membership ID $memberShipId = CRM_Utils_Request::retrieve('memberId', 'Positive', $this); @@ -105,15 +96,6 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { $this->_formValues['contribution_participant_id'] = $participantId; } - if ($this->_force) { - // Search field metadata is normally added in buildForm but we are bypassing that in this flow - // (I've always found the flow kinda confusing & perhaps that is the problem but this mitigates) - $this->addSearchFieldMetadata(['Contribution' => CRM_Contribute_BAO_Query::getSearchFieldMetadata()]); - $this->addSearchFieldMetadata(['ContributionRecur' => CRM_Contribute_BAO_ContributionRecur::getContributionRecurSearchFieldMetadata()]); - $this->postProcess(); - $this->set('force', 0); - } - $sortID = NULL; if ($this->get(CRM_Utils_Sort::SORT_ID)) { $sortID = CRM_Utils_Sort::sortIDValue($this->get(CRM_Utils_Sort::SORT_ID), @@ -289,10 +271,12 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { $this->_done = TRUE; $this->setFormValues(); + // @todo - stop changing formValues - respect submitted form values, change a working array. $this->fixFormValues(); // We don't show test records in summaries or dashboards if (empty($this->_formValues['contribution_test']) && $this->_force && !empty($this->_context) && $this->_context == 'dashboard') { + // @todo - stop changing formValues - respect submitted form values, change a working array. $this->_formValues["contribution_test"] = 0; } @@ -301,11 +285,11 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { 'contribution_amount_high', ] as $f) { if (isset($this->_formValues[$f])) { + // @todo - stop changing formValues - respect submitted form values, change a working array. $this->_formValues[$f] = CRM_Utils_Rule::cleanMoney($this->_formValues[$f]); } } - $config = CRM_Core_Config::singleton(); if (!empty($_POST)) { $specialParams = [ 'financial_type_id', @@ -318,10 +302,13 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { 'payment_instrument_id', 'contribution_batch_id', ]; + // @todo - stop changing formValues - respect submitted form values, change a working array. CRM_Contact_BAO_Query::processSpecialFormValue($this->_formValues, $specialParams); + // @todo - stop changing formValues - respect submitted form values, change a working array. $tags = CRM_Utils_Array::value('contact_tags', $this->_formValues); if ($tags && !is_array($tags)) { + // @todo - stop changing formValues - respect submitted form values, change a working array. unset($this->_formValues['contact_tags']); $this->_formValues['contact_tags'][$tags] = 1; } @@ -329,12 +316,14 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { if ($tags && is_array($tags)) { unset($this->_formValues['contact_tags']); foreach ($tags as $notImportant => $tagID) { + // @todo - stop changing formValues - respect submitted form values, change a working array. $this->_formValues['contact_tags'][$tagID] = 1; } } $group = CRM_Utils_Array::value('group', $this->_formValues); if ($group && !is_array($group)) { + // @todo - stop changing formValues - respect submitted form values, change a working array. unset($this->_formValues['group']); $this->_formValues['group'][$group] = 1; } @@ -342,16 +331,18 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { if ($group && is_array($group)) { unset($this->_formValues['group']); foreach ($group as $groupID) { + // @todo - stop changing formValues - respect submitted form values, change a working array. $this->_formValues['group'][$groupID] = 1; } } } + // @todo - stop changing formValues - respect submitted form values, change a working array. CRM_Core_BAO_CustomValue::fixCustomFieldValue($this->_formValues); + // @todo - stop changing formValues - respect submitted form values, change a working array. $this->_queryParams = CRM_Contact_BAO_Query::convertFormValues($this->_formValues); - $this->set('formValues', $this->_formValues); $this->set('queryParams', $this->_queryParams); $buttonName = $this->controller->getButtonName(); @@ -372,6 +363,7 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { ); } + // @todo - stop changing formValues - respect submitted form values, change a working array. $this->_queryParams = CRM_Contact_BAO_Query::convertFormValues($this->_formValues); $selector = new CRM_Contribute_Selector_Search($this->_queryParams, $this->_action, @@ -414,8 +406,6 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { if (!$this->_force) { return; } - // Start by loading url defaults. - $this->_formValues = $this->setDefaultValues(); $status = CRM_Utils_Request::retrieve('status', 'String'); if ($status) { @@ -470,9 +460,6 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { if ($contribPageId) { $this->_formValues['contribution_page_id'] = $contribPageId; } - - //give values to default. - $this->_defaults = $this->_formValues; } /** @@ -484,4 +471,14 @@ class CRM_Contribute_Form_Search extends CRM_Core_Form_Search { return ts('Find Contributions'); } + /** + * Set the metadata for the form. + * + * @throws \CiviCRM_API3_Exception + */ + protected function setSearchMetadata() { + $this->addSearchFieldMetadata(['Contribution' => CRM_Contribute_BAO_Query::getSearchFieldMetadata()]); + $this->addSearchFieldMetadata(['ContributionRecur' => CRM_Contribute_BAO_ContributionRecur::getContributionRecurSearchFieldMetadata()]); + } + }