CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2022-06-11T14:54:43Zhttps://lab.civicrm.org/dev/core/-/issues/3579Add pause/resume functionality to civicrm bulk mailing.2022-06-11T14:54:43ZjitendraAdd pause/resume functionality to civicrm bulk mailing.Scenario
Site admin is sending out a big blast but want to send out a press release without waiting for first job to end.Scenario
Site admin is sending out a big blast but want to send out a press release without waiting for first job to end.5.4.0https://lab.civicrm.org/dev/core/-/issues/263Release candidate regression: Can't create contribution pages.2018-07-18T22:42:07ZJonGoldRelease candidate regression: Can't create contribution pages.I've replicated this locally on the rc, the master branch and on the demo site.
* Create a new contribution page, filling in only the two required fields.
* Press "Submit".
Get this:
```
backTrace
#0 /home/jon/local/civicrm-buildkit/b...I've replicated this locally on the rc, the master branch and on the demo site.
* Create a new contribution page, filling in only the two required fields.
* Press "Submit".
Get this:
```
backTrace
#0 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Core/Error.php(190): CRM_Core_Error::backtrace()
#1 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/PEAR.php(921): CRM_Core_Error::handle(Object(DB_Error))
#2 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/DB.php(985): PEAR_Error->__construct("DB Error: unknown error", -1, 16, (Array:2), "INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id...")
#3 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/PEAR.php(575): DB_Error->__construct(-1, 16, (Array:2), "INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id...")
#4 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -1, 16, (Array:2), "INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id...", "DB_Error", TRUE)
#5 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/DB/common.php(1907): PEAR->__call("raiseError", (Array:7))
#6 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-1, NULL, NULL, "INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id...", "1292 ** Incorrect datetime value: '7' for column 'start_date' at row 1")
#7 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError()
#8 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/DB/common.php(1216): DB_mysqli->simpleQuery("INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id...")
#9 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/DB/DataObject.php(2443): DB_common->query("INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id...")
#10 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/DB/DataObject.php(1068): DB_DataObject->_query("INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id...")
#11 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Core/DAO.php(571): DB_DataObject->insert()
#12 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Contribute/BAO/ContributionPage.php(59): CRM_Core_DAO->save()
#13 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Contribute/Form/ContributionPage/Settings.php(344): CRM_Contribute_BAO_ContributionPage::create((Array:25))
#14 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Core/Form.php(489): CRM_Contribute_Form_ContributionPage_Settings->postProcess()
#15 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Core/StateMachine.php(160): CRM_Core_Form->mainProcess()
#16 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Contribute_Form_ContributionPage_Settings), "next", "Next")
#17 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Contribute_Form_ContributionPage_Settings), "next")
#18 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contribute_Form_ContributionPage_Settings), "next")
#19 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("next")
#20 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Core/Invoke.php(309): CRM_Core_Controller->run((Array:4), NULL)
#21 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:14))
#22 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#23 /home/jon/local/civicrm-buildkit/build/rc/sites/all/modules/civicrm/drupal/civicrm.module(445): CRM_Core_Invoke::invoke((Array:4))
#24 /home/jon/local/civicrm-buildkit/build/rc/includes/menu.inc(527): civicrm_invoke("admin", "contribute", "add")
#25 /home/jon/local/civicrm-buildkit/build/rc/index.php(21): menu_execute_active_handler()
#26 {main}
Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Error: unknown error
Error Details
Database Error Code: Incorrect datetime value: '7' for column 'start_date' at row 1, 1292
Additional Details:
Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -1
[message] => DB Error: unknown error
[mode] => 16
[debug_info] => INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id , is_credit_card_only , is_confirm_enabled , goal_amount , is_active , footer_text , start_date , end_date , created_id , created_date , currency , is_share ) VALUES ('test' , NULL , 3 , 0 , 1 , NULL , 1 , NULL , 7 , NULL , 202 , 20180717100536 , 'USD' , 0 ) [nativecode=1292 ** Incorrect datetime value: '7' for column 'start_date' at row 1]
[type] => DB_Error
[user_info] => INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id , is_credit_card_only , is_confirm_enabled , goal_amount , is_active , footer_text , start_date , end_date , created_id , created_date , currency , is_share ) VALUES ('test' , NULL , 3 , 0 , 1 , NULL , 1 , NULL , 7 , NULL , 202 , 20180717100536 , 'USD' , 0 ) [nativecode=1292 ** Incorrect datetime value: '7' for column 'start_date' at row 1]
[to_string] => [db_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_contribution_page (title , intro_text , financial_type_id , is_credit_card_only , is_confirm_enabled , goal_amount , is_active , footer_text , start_date , end_date , created_id , created_date , currency , is_share ) VALUES ('test' , NULL , 3 , 0 , 1 , NULL , 1 , NULL , 7 , NULL , 202 , 20180717100536 , 'USD' , 0 ) [nativecode=1292 ** Incorrect datetime value: '7' for column 'start_date' at row 1]"]
)
```5.4.0https://lab.civicrm.org/dev/core/-/issues/258Possible unreleased regression - message template update altered customised t...2018-07-18T22:12:09ZeileenPossible unreleased regression - message template update altered customised templateOn the site that I have upgraded to 5.4 I found my template customisations were gone. The upgrade code should only update the default template and templates in use that are the same as the default (I need to test further as it's conceiva...On the site that I have upgraded to 5.4 I found my template customisations were gone. The upgrade code should only update the default template and templates in use that are the same as the default (I need to test further as it's conceivable my defaults had been updated in error)5.4.0https://lab.civicrm.org/dev/core/-/issues/249Contact Export fails in 5.4 when trying to export using the All radio button2018-07-12T22:29:35ZseamusleeContact Export fails in 5.4 when trying to export using the All radio buttonAs per https://chat.civicrm.org/civicrm/pl/a8myronnftgt8mcehfa8ohcnbo when using the all contacts radio button to do an export the export fails in 5.4As per https://chat.civicrm.org/civicrm/pl/a8myronnftgt8mcehfa8ohcnbo when using the all contacts radio button to do an export the export fails in 5.45.4.0https://lab.civicrm.org/dev/core/-/issues/234Upgrade Steps in 5.3.alpha1 may not have been run2018-10-14T01:01:14ZseamusleeUpgrade Steps in 5.3.alpha1 may not have been runDue to a bug in the upgrade process the upgrade steps in 5.3.alhpa1 may not have been run. We need to copy them to 5.3.0 and re-runDue to a bug in the upgrade process the upgrade steps in 5.3.alhpa1 may not have been run. We need to copy them to 5.3.0 and re-run5.4.0seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/222Importing contacts with dedupe rule does not use the rule2018-07-02T20:41:13ZscardiniusImporting contacts with dedupe rule does not use the ruleImporting contacts with dedupe rule does not use the rule because of invalid call to getDuplicateContacts() method
## how to reproduce
* open *Import Contacts* page
* choose csv file with contact with name and address already exists in...Importing contacts with dedupe rule does not use the rule because of invalid call to getDuplicateContacts() method
## how to reproduce
* open *Import Contacts* page
* choose csv file with contact with name and address already exists in db
* fill the form with *Dedupu rule* = **Name and Address (reserved) - General**
* ...several steps later ;-) at the end of importing you have additional contact with the same name and address
## technical aspect
```php
// current, invalid call
$ids = CRM_Contact_BAO_Contact::getDuplicateContacts($params, $params['contact_type'], 'Unsupervised', array(), CRM_Utils_Array::value('check_permissions', $params, $dedupeRuleGroupID));
// fixed
$ids = CRM_Contact_BAO_Contact::getDuplicateContacts($params, $params['contact_type'], 'Unsupervised', array(), CRM_Utils_Array::value('check_permissions', $params), $dedupeRuleGroupID);
```5.4.0https://lab.civicrm.org/dev/core/-/issues/220State province/country doesn't show properly in the report2021-04-27T17:58:10ZyashodhaState province/country doesn't show properly in the reportState province/country doesn't show properly in the Contribution History by Relationship reportState province/country doesn't show properly in the Contribution History by Relationship report5.4.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/203Cruft code in CRM_Core_BAO_OptionGroup::add()2018-06-23T02:30:00ZPradeep Nayakpradpnayak@gmail.comCruft code in CRM_Core_BAO_OptionGroup::add()PR at https://github.com/civicrm/civicrm-core/pull/12357/filesPR at https://github.com/civicrm/civicrm-core/pull/12357/files5.4.0https://lab.civicrm.org/dev/core/-/issues/202Empty row under currency drop down2018-08-20T15:21:29ZPradeep Nayakpradpnayak@gmail.comEmpty row under currency drop downThis is something i noticed on drupal7, CiviCRM 5.2.1 fresh install where i don't have default currency set under(Settings - Localization). The currency field on New Contribution and elsewhere shows an empty option as attached in screens...This is something i noticed on drupal7, CiviCRM 5.2.1 fresh install where i don't have default currency set under(Settings - Localization). The currency field on New Contribution and elsewhere shows an empty option as attached in screenshot
![Before](/uploads/672ac199ab60d3763a20d1c5968616b9/Before.png)
PR at https://github.com/civicrm/civicrm-core/pull/123565.4.0https://lab.civicrm.org/dev/core/-/issues/194Search Builder greater than and lesser than operators for contribution total ...2018-12-09T21:15:34ZMatthias BärnthalerSearch Builder greater than and lesser than operators for contribution total amount omittedTo reproduce:
* Go to Search -> Search generator
* Choose Contribution -> Total Amount
* No greater than, lesser than, greater than equal, lesser than equal operators are present.
My guess is that the field gets treated as a String, th...To reproduce:
* Go to Search -> Search generator
* Choose Contribution -> Total Amount
* No greater than, lesser than, greater than equal, lesser than equal operators are present.
My guess is that the field gets treated as a String, therefore the operator is omitted in Builder.js
`// based on data type remove invalid operators e.g. IS EMPTY doesn't work with Boolean type column
if ((field in CRM.searchBuilder.fieldTypes) === true) {
if (CRM.searchBuilder.fieldTypes[field] == 'Boolean') {
CRM.searchBuilder.generalOperators = _.omit(CRM.searchBuilder.generalOperators, ['IS NOT EMPTY', 'IS EMPTY']);
}
else if (CRM.searchBuilder.fieldTypes[field] == 'String') {
CRM.searchBuilder.generalOperators = _.omit(CRM.searchBuilder.generalOperators, ['>', '<', '>=', '<=']);
}
}
buildOperator(operator, CRM.searchBuilder.generalOperators);`5.4.0https://lab.civicrm.org/dev/core/-/issues/187Fix typo in CRM_Grant_Form_Task that prevents retrieving session key from URL2018-06-21T21:41:15Zmattwiremjw@mjwconsult.co.ukFix typo in CRM_Grant_Form_Task that prevents retrieving session key from URLOverview
----------------------------------------
Identified during investigation for dev/core#158
Before
----------------------------------------
Cannot retrieve session key for Grant form task.
After
---------------------------------...Overview
----------------------------------------
Identified during investigation for dev/core#158
Before
----------------------------------------
Cannot retrieve session key for Grant form task.
After
----------------------------------------
Session key for Grant form task is retrieved just like all other tasks.
Technical Details
----------------------------------------
The wrong object was being used in static context ($this instead of $form).5.4.0https://lab.civicrm.org/dev/core/-/issues/177Redis driver - Reports incorrect value for cache-miss2018-06-17T23:17:42ZtottenRedis driver - Reports incorrect value for cache-miss`CRM_Utils_Cache_Interface::get()` specifies that the return value for a non-existent cache-key is `NULL`. But `CRM_Utils_Cache_Redis::get()` returns `FALSE`. This makes it impossible to detect a cache-miss.`CRM_Utils_Cache_Interface::get()` specifies that the return value for a non-existent cache-key is `NULL`. But `CRM_Utils_Cache_Redis::get()` returns `FALSE`. This makes it impossible to detect a cache-miss.5.4.0https://lab.civicrm.org/dev/core/-/issues/175Smart group involving relationship type filter display incorrect results.2018-11-04T20:48:08ZjitendraSmart group involving relationship type filter display incorrect results.replicated on dmaster -
- Advanced Search -> Relationship tab -> type = `Employer of` (or any `b_a` reln type) -> Search (results all organization contacts).
- Proceed and add all of them to a smart group.
- When you click on `Done` aft...replicated on dmaster -
- Advanced Search -> Relationship tab -> type = `Employer of` (or any `b_a` reln type) -> Search (results all organization contacts).
- Proceed and add all of them to a smart group.
- When you click on `Done` after creating smart group, you are navigated to advanced search result with the contacts belonging to this group. All contacts are incorrectly displayed.
Another way to replicate -
- Advanced Search -> Relationship tab -> type = `Employer of` (or any `b_a` reln type) -> Search (results all organization contacts).
- Click on Search button again. All contacts are replaced with `Employee of` relationship5.4.0jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/151Action to Update Recurring Contributions From Membership View is Never Shown2018-06-20T20:41:20ZCamilo RodrĂguezAction to Update Recurring Contributions From Membership View is Never Shown## Overview
The table added to view recurring contributions form the membership details view (https://lab.civicrm.org/dev/core/issues/38) was never showing the 'Edit' action. The table shown when looking at recurring contributions from w...## Overview
The table added to view recurring contributions form the membership details view (https://lab.civicrm.org/dev/core/issues/38) was never showing the 'Edit' action. The table shown when looking at recurring contributions from within a membership should behave exactly as the table shown on a contact's **Contributions** tab.
## How it Works Currently
The table added to view recurring contributions form the membership details view was never showing the 'Edit' action, even though the user had all necessary permissions.
## How it Should Work
If the 'Edit' action is shown on the list of recurring contributions of a contact on **Contributions** tab, it should also be available on the list shown within a membership.
## Comments
Related to change introduced in #385.4.0https://lab.civicrm.org/dev/core/-/issues/144getCustomFieldID switch to API, add caching, add full string return option2018-06-17T23:18:27Zmattwiremjw@mjwconsult.co.ukgetCustomFieldID switch to API, add caching, add full string return optionIn most of my extensions I implement something like this: https://github.com/mattwire/uk.co.mjwconsult.recurmaster/blob/master/CRM/Recurmaster/Utils.php#L14
Because I want the lookup to be cached so I can use it multiple times without a...In most of my extensions I implement something like this: https://github.com/mattwire/uk.co.mjwconsult.recurmaster/blob/master/CRM/Recurmaster/Utils.php#L14
Because I want the lookup to be cached so I can use it multiple times without a performance issue (eg. within hooks). It is also useful to be able to return the full string equivalent (ie. custom_123 instead of 123) as it can then be used directly in parameter arrays like `$key = getCustomFieldID()` without doing: `$key = 'custom_' . getCustomFieldID()`
This is a proposal to update the core function getCustomFieldID so that it is more useful. It should also help towards https://lab.civicrm.org/dev/core/issues/1095.4.0https://lab.civicrm.org/dev/core/-/issues/140Add missing pseudoconstant for option_group_id in CustomField2018-11-04T20:40:17ZMichael McAndrewAdd missing pseudoconstant for option_group_id in CustomFieldPseudoconstant tag was missing from the XML definition, meaning that one could not create custom fields and specify their select options without knowing the numerical ID.Pseudoconstant tag was missing from the XML definition, meaning that one could not create custom fields and specify their select options without knowing the numerical ID.5.4.0https://lab.civicrm.org/dev/core/-/issues/133Reply-to field with empty string get saved in DB as NULL2018-06-18T20:41:13ZvarshithReply-to field with empty string get saved in DB as NULL**Issue:**
Somehow our client's mailing got saved with 'NULL' reply-to field and was causing problems.
On looking into it and trying to reproduce the issue, 'reply to' field can be NULL in the following case
- Add a new mailing (or reus...**Issue:**
Somehow our client's mailing got saved with 'NULL' reply-to field and was causing problems.
On looking into it and trying to reproduce the issue, 'reply to' field can be NULL in the following case
- Add a new mailing (or reuse one)
- Select a 'reply to' email (I had to enable "Enable Custom Reply-To" in 'civicrm/admin/mail')
- Fill in other fields as usual
- Under 'Responses' tab, check "Track Replies" checkbox. This brings up a warning message on the top right saying 'reply-to' has been cleared out (but still allows user to save mailing)
- Proceed to next step and save mailing
**Proposed Fix:**
I am not sure how to fix this as the user is expected to see the warning message and act accordingly. But I think we can check and not allow NULL values for reply-to in DB.
In CRM_Mailing_BAO_Mailing.php when adding a new mailing (add() method), there is a condition to check if 'reply-to' field is set and if it is not set, then 'from-email' is used.
here instead if using
if(\!isset($params['replyto_email']))...
we should use
if(empty($params['replyto_email']))...
so that empty string like '' will also be considered and reply-to could not be NULL5.4.0https://lab.civicrm.org/dev/core/-/issues/124Registration approval issues2018-06-17T23:18:36Zaydunsaidan.saunders@squiffle.ukRegistration approval issuesFor events requiring approval:
1) The confirmation screen generates a warning:
`Warning: A non-numeric value encountered in XXX/civicrm/CRM/Event/Form/Registration/Confirm.php on line 262`
2) The pre-approval confirmation and post-appr...For events requiring approval:
1) The confirmation screen generates a warning:
`Warning: A non-numeric value encountered in XXX/civicrm/CRM/Event/Form/Registration/Confirm.php on line 262`
2) The pre-approval confirmation and post-approval confirmation emails both have the subject 'Registration Confirmation' which is confusing to recipients.
3) The pre-approval confirmation mail includes a Fees section which shows fees of 0 since the fees have not been selected at this stage. So it would be better to remove the Fees section from the pre-approval confirmation (but not the post-approval confirmation)5.4.0aydunsaidan.saunders@squiffle.ukaydunsaidan.saunders@squiffle.ukhttps://lab.civicrm.org/dev/core/-/issues/118Fix where count() is used on an object that isn't an array nor implements Cou...2018-12-19T14:11:24ZseamusleeFix where count() is used on an object that isn't an array nor implements Countable for php7.2 (tested instances)```
<error type="PHPUnit_Framework_Error_Warning">CRM_Contribute_Import_Parser_ContributionTest::testImportParserWithSoftCreditsByExternalIdentifier with data set #0 ('.')
count(): Parameter must be an array or an object that...```
<error type="PHPUnit_Framework_Error_Warning">CRM_Contribute_Import_Parser_ContributionTest::testImportParserWithSoftCreditsByExternalIdentifier with data set #0 ('.')
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php:67
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
</testcase>
<testcase name="testImportParserWithSoftCreditsByExternalIdentifier with data set #1" assertions="8" time="0.685860">
<error type="PHPUnit_Framework_Error_Warning">CRM_Contribute_Import_Parser_ContributionTest::testImportParserWithSoftCreditsByExternalIdentifier with data set #1 (',')
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Contribute/Import/Parser/ContributionTest.php:67
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
<error type="PHPUnit_Framework_Error_Warning">CRM_Pledge_BAO_PledgePaymentTest::testRetrieveZeroPledeID
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgePaymentTest.php:100
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
<error type="PHPUnit_Framework_Error_Warning">CRM_Pledge_BAO_PledgePaymentTest::testRetrieveStringPledgeID
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgePaymentTest.php:113
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
<error type="PHPUnit_Framework_Error_Warning">CRM_Pledge_BAO_PledgePaymentTest::testRetrieveKnownPledgeID
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgePaymentTest.php:127
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
<error type="PHPUnit_Framework_Error_Warning">CRM_Pledge_BAO_PledgePaymentTest::testDeletePledgePaymentsNormal
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgePaymentTest.php:137
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
<error type="PHPUnit_Framework_Error_Warning">CRM_Pledge_BAO_PledgePaymentTest::testDeletePledgePaymentsNullId
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgePaymentTest.php:160
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
<error type="PHPUnit_Framework_Error_Warning">CRM_Pledge_BAO_PledgeTest::testRetrieveZeroPledeID
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgeTest.php:106
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
</testcase>
<testcase name="testRetrieveStringPledgeID" class="CRM_Pledge_BAO_PledgeTest" file="/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgeTest.php" line="112" assertions="1" time="0.143334">
<error type="PHPUnit_Framework_Error_Warning">CRM_Pledge_BAO_PledgeTest::testRetrieveStringPledgeID
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgeTest.php:117
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
</testcase>
<testcase name="testRetrieveKnownPledgeID" class="CRM_Pledge_BAO_PledgeTest" file="/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgeTest.php" line="123" assertions="1" time="0.165138">
<error type="PHPUnit_Framework_Error_Warning">CRM_Pledge_BAO_PledgeTest::testRetrieveKnownPledgeID
count(): Parameter must be an array or an object that implements Countable
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgeTest.php:147
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
</testcase>
<testcase name="testGetPledgeStartDate" class="CRM_Pledge_BAO_PledgeTest" file="/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgeTest.php" line="153" assertions="1" time="0.149295">
<error type="PHPUnit_Framework_Error_Deprecated">CRM_Pledge_BAO_PledgeTest::testGetPledgeStartDate
The each() function is deprecated. This message will be suppressed on further calls
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/CRM/Pledge/BAO/Pledge.php:1203
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CRM/Pledge/BAO/PledgeTest.php:163
/home/seamus/buildkit/build/47.demo/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:182
/home/seamus/buildkit/bin/phpunit5:598
</error>
```
ping @eileen @monish.deb5.4.0https://lab.civicrm.org/dev/core/-/issues/101Allow further customization of search form in hooks2018-06-18T20:13:57ZmichaelAllow further customization of search form in hooksThe contact search form uses the template `templates/CRM/Contact/Form/Search/Criteria/Basic.tpl`. In the template there are already some conditionals to hide certain fields, such as
```
{if $form.group}
<td>
...
{/if}
```
However o...The contact search form uses the template `templates/CRM/Contact/Form/Search/Criteria/Basic.tpl`. In the template there are already some conditionals to hide certain fields, such as
```
{if $form.group}
<td>
...
{/if}
```
However only some fields are covered. For an extension developer who wants to hide more fields here it is difficult without causing warnings or breaking the layout.
It is now possible to override the fields on the basic search template by altering the fields array assigned to the template in a hook
---
Core PR: https://github.com/civicrm/civicrm-core/pull/120785.4.0