Merge pull request #14300 from colemanw/Fix
[civicrm-core.git] / CRM / Contribute / Form / SearchContribution.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 5 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2019 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26 */
27
28 /**
29 *
30 * @package CRM
31 * @copyright CiviCRM LLC (c) 2004-2019
32 */
33 class CRM_Contribute_Form_SearchContribution extends CRM_Core_Form {
34
35 /**
36 * Build the form object.
37 */
38 public function buildQuickForm() {
39 $attributes = CRM_Core_DAO::getAttribute('CRM_Contribute_DAO_ContributionPage', 'title');
40 $attributes['style'] = 'width: 90%';
41
42 $this->add('text', 'title', ts('Find'), $attributes);
43
44 $financial_account = CRM_Contribute_PseudoConstant::financialType();
45 foreach ($financial_account as $contributionId => $contributionName) {
46 $this->addElement('checkbox', "financial_type_id[$contributionId]", 'Financial Type', $contributionName);
47 }
48
49 CRM_Campaign_BAO_Campaign::addCampaignInComponentSearch($this);
50
51 $this->addButtons([
52 [
53 'type' => 'refresh',
54 'name' => ts('Search'),
55 'isDefault' => TRUE,
56 ],
57 ]);
58 }
59
60 public function postProcess() {
61 $params = $this->controller->exportValues($this->_name);
62 $parent = $this->controller->getParent();
63 $parent->set('searchResult', 1);
64 if (!empty($params)) {
65 $fields = ['title', 'financial_type_id', 'campaign_id'];
66 foreach ($fields as $field) {
67 if (isset($params[$field]) &&
68 !CRM_Utils_System::isNull($params[$field])
69 ) {
70 $parent->set($field, $params[$field]);
71 }
72 else {
73 $parent->set($field, NULL);
74 }
75 }
76 }
77 }
78
79 }