Tim Otten [Wed, 15 Jul 2020 05:41:16 +0000 (22:41 -0700)]
(REF) APIv4 ConformanceTest - Split apart into per-entity sub-tests
Overview
--------
This updates a unit-test to make the output easier to understand.
We need more output because the test sporadically fails, and we don't know why.
Before
------
There is a function `testConformance()` which internally
loops through a list of entities.
Whenever the test fails, it aborts testing and reports one failure (for all
entities) without indicating the specific entity which failed.
After
-----
There is a test function `testConformance($entity)` which uses
a data provider.
Whenever the test fails, it will be logged with the entity name.
Testing can resume for additional entities.
Technical Details
-----------------
There are a couple technical distinctions between this revision, the
previous revision, and the comparable APIv3 test:
1. Each test-case returned by the '@dataProvider' has a symbolic name.
These are easier to skim than numeric names.
2. The list of entities is *not* based on runtime services,
because that constrains how PHPUnit and Civi lifecycles interact.
It uses a heuristic/low-tech listing (`getEntitiesLotech()`).
In the rare case where the low-tech list is wrong, it will complain
and ask for maintenance.
Seamus Lee [Wed, 15 Jul 2020 01:47:19 +0000 (11:47 +1000)]
Merge pull request #17842 from seamuslee001/regen
[NFC] Re run regen after recent merges
Seamus Lee [Wed, 15 Jul 2020 00:43:12 +0000 (10:43 +1000)]
Merge pull request #17843 from civicrm/5.28
5.28
Seamus Lee [Wed, 15 Jul 2020 00:41:00 +0000 (10:41 +1000)]
Merge pull request #17840 from seamuslee001/5272_rns
5.27.1 and 5.27.2 Release Notes
Seamus Lee [Wed, 15 Jul 2020 00:01:08 +0000 (10:01 +1000)]
[NFC] Re run regen after recent merges
Seamus Lee [Tue, 14 Jul 2020 23:56:17 +0000 (09:56 +1000)]
Merge pull request #17743 from eileenmcnaughton/eventcart
Move BAO and template files into event cart
Eileen McNaughton [Tue, 14 Jul 2020 23:30:49 +0000 (11:30 +1200)]
Merge pull request #17839 from eileenmcnaughton/regen
Update regen.sh with new & upcoming core extensions
Tim Otten [Fri, 10 Jul 2020 05:55:29 +0000 (22:55 -0700)]
Add release-notes/5.27.1.md
Tim Otten [Tue, 14 Jul 2020 22:08:56 +0000 (15:08 -0700)]
Update 5.27.2.md
Remove dev/core#1847 - the initial fix caused other regressions, and the full fix merits a longer incubation
Tim Otten [Tue, 14 Jul 2020 21:30:03 +0000 (14:30 -0700)]
5.27.2 - Add release notes
Seamus Lee [Tue, 14 Jul 2020 23:04:51 +0000 (09:04 +1000)]
Merge pull request #17830 from eileenmcnaughton/renewtest
MembershipRenewalTest - Fix failure
eileen [Fri, 3 Jul 2020 08:00:04 +0000 (20:00 +1200)]
Move BAO and template files into event cart
Fix templates Path
colemanw [Tue, 14 Jul 2020 22:10:16 +0000 (18:10 -0400)]
Merge pull request #17826 from eileenmcnaughton/less_utf
Remove hard coded charset.
eileen [Tue, 14 Jul 2020 21:56:12 +0000 (09:56 +1200)]
Update regen.sh with new & upcoming core extensions
Putting this out there in case some goes 'oh I could just write the bash to do that off the folder names
in the directory.....
eileen [Tue, 14 Jul 2020 09:25:45 +0000 (21:25 +1200)]
Test fix
Tim Otten [Tue, 14 Jul 2020 19:51:08 +0000 (12:51 -0700)]
Merge pull request #17833 from totten/master-website-test
(REF) WebsiteTest - Mitigate flaky failures
Tim Otten [Tue, 14 Jul 2020 18:18:08 +0000 (11:18 -0700)]
(REF) WebsiteTest - Mitigate flaky failures
Overview
--------
In recent days, api_v3_WebsiteTest has emitted sporadic failures like this:
```
api_v3_WebsiteTest::testDeleteWebsite with data set #0 (3)
Failed asserting that 3 matches expected 0.
/home/jenkins/bknix-max/build/build-2/web/sites/all/modules/civicrm/tests/phpunit/api/v3/WebsiteTest.php:75
/home/jenkins/bknix-max/build/build-2/web/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:209
/home/jenkins/bknix-max/extern/phpunit7/phpunit7.phar:615
```
and
```
api_v3_WebsiteTest::testDeleteWebsiteInvalid with data set #0 (3)
Failed asserting that 4 matches expected 1.
/home/jenkins/bknix-max/build/build-2/web/sites/all/modules/civicrm/tests/phpunit/api/v3/WebsiteTest.php:88
/home/jenkins/bknix-max/build/build-2/web/sites/all/modules/civicrm/tests/phpunit/CiviTest/CiviUnitTestCase.php:209
/home/jenkins/bknix-max/extern/phpunit7/phpunit7.phar:615
```
These failures do not reproduce for me in isolation.
Before
------
Both the failing assertions make an implicit assumption that the baseline content of `civicrm_website` is empty.
After
-----
The failing assertions use an explicit baseline (`$beforeCount`).
Comments
--------
The test failures are sporadic and only seem to seem occur when run in the full suite.
My theory is that something else is leaking `civicrm_website` records;
however, it's hard to track that down amidst a full suite (when the full
suite takes so long to execute). Therefore, I cannot be certain that this
is actually fixes the problem. However, this really just tightens up the
assumptions of the test - as long as it passes the PR tests, it should be
safe to merge and then watch in the `CiviCRM-Core-Matrix`.
Mathieu Lu [Tue, 14 Jul 2020 13:55:04 +0000 (09:55 -0400)]
Merge pull request #17815 from spalmstr/dev/core#1812
dev/core#1812 Missing view when logging set in a non-US English instance
Mathieu Lu [Tue, 14 Jul 2020 13:43:50 +0000 (09:43 -0400)]
Merge pull request #13958 from JMAConsulting/core-785
dev/core#785 Differentiate smart group from regular group using icon in select2 field
colemanw [Tue, 14 Jul 2020 13:29:20 +0000 (09:29 -0400)]
Merge pull request #17766 from colemanw/activityContacts
APIv4 - Add activity contacts to APIv4 field spec
Eileen McNaughton [Tue, 14 Jul 2020 05:54:16 +0000 (17:54 +1200)]
Merge pull request #17825 from eileenmcnaughton/utf8
Adjust mysql SET NAMES in remaining places as we agreed this was the go
Eileen McNaughton [Tue, 14 Jul 2020 04:59:50 +0000 (16:59 +1200)]
Merge pull request #17569 from JMAConsulting/core-1805
core#1805: Autocomplete-select custom field is not searchable
eileen [Tue, 14 Jul 2020 04:51:45 +0000 (16:51 +1200)]
Remove hard coded charset.
In thinking about the proposal here
https://github.com/civicrm/civicrm-core/pull/13633/files#diff-c5e39924ad99ac88b48763a0d8fa246eR30
to switch to utf8mb4 I found that none of the places on the web that suggest functions like ours
specifiy charset - eg. https://stackoverflow.com/questions/287105/mysql-strip-non-numeric-characters-to-compare
When I look at the code it is iterating through the characters to find integers - which should
be the same regardless of charset. So, I think we can simply remove it.
:
eileen [Tue, 14 Jul 2020 04:33:14 +0000 (16:33 +1200)]
Adjust mysql SET NAMES in remaining places as we agreed this was the go
Eileen McNaughton [Tue, 14 Jul 2020 04:05:11 +0000 (16:05 +1200)]
Merge pull request #17695 from MegaphoneJon/event-template-fix
event#38 fix wording on event reg page
Eileen McNaughton [Tue, 14 Jul 2020 03:16:22 +0000 (15:16 +1200)]
Merge pull request #17513 from JMAConsulting/core-1795
core#1795: Searchable Parent tags
Coleman Watts [Mon, 6 Jul 2020 21:59:31 +0000 (17:59 -0400)]
APIv4 - Add activity contacts to APIv4 field spec
The BAO supports these pseudo-fields during save operations, this exposes them to the api explorer.
Seamus Lee [Tue, 14 Jul 2020 01:54:55 +0000 (11:54 +1000)]
Merge pull request #17709 from spalmstr/dev/core#1768
dev/core#1768 - Add CiviMail synchronisation frequency setting.
Seamus Lee [Tue, 14 Jul 2020 00:57:01 +0000 (10:57 +1000)]
Merge pull request #17813 from JKingsnorth/patch-15
Make new email open and url routes 'public'
Seamus Lee [Tue, 14 Jul 2020 00:54:48 +0000 (10:54 +1000)]
Merge pull request #17809 from eileenmcnaughton/jong
Test for https://github.com/civicrm/civicrm-core/pull/15435
Seamus Lee [Tue, 14 Jul 2020 00:54:01 +0000 (10:54 +1000)]
Merge pull request #17822 from demeritcowboy/packages-include-path
dev/core#1871 - require_once's that include "packages/" in the path don't work on drupal 8
Eileen McNaughton [Mon, 13 Jul 2020 23:56:43 +0000 (11:56 +1200)]
Merge pull request #17729 from colemanw/upgradeSafeApi
Make api get upgrade-safe
Eileen McNaughton [Mon, 13 Jul 2020 23:36:14 +0000 (11:36 +1200)]
Merge pull request #17799 from civicrm/5.28
5.28
Seamus Lee [Mon, 13 Jul 2020 23:24:12 +0000 (09:24 +1000)]
Merge pull request #17820 from seamuslee001/1867_qill
dev/core#1867 Ensure that the qill matches the filter when no time is…
demeritcowboy [Mon, 13 Jul 2020 23:09:23 +0000 (19:09 -0400)]
packages is already in include_path
Eileen McNaughton [Mon, 13 Jul 2020 22:56:39 +0000 (10:56 +1200)]
Merge pull request #17780 from totten/master-sync-into
CRM_Utils_SQL - Add "onDuplicate()" and "syncInto()" helpers
eileen [Mon, 13 Jul 2020 03:51:29 +0000 (15:51 +1200)]
Test for https://github.com/civicrm/civicrm-core/pull/15435
Seamus Lee [Mon, 13 Jul 2020 22:19:48 +0000 (08:19 +1000)]
dev/core#1867 Ensure that the qill matches the filter when no time is supplied
Seamus Lee [Mon, 13 Jul 2020 22:20:02 +0000 (08:20 +1000)]
Merge pull request #17811 from eileenmcnaughton/fromto
dev/core#1867 CiviReport filters: Fix incorrect defaulting to the beginning rather than end the to-range day
Seamus Lee [Mon, 13 Jul 2020 22:05:09 +0000 (08:05 +1000)]
Merge pull request #17814 from eileenmcnaughton/dedupe
Fix dedupe on same-activity-connection
Eileen McNaughton [Mon, 13 Jul 2020 20:58:23 +0000 (08:58 +1200)]
Merge pull request #17800 from colemanw/cronCheck
CheckEnv - Give new installs a grace period before 'Cron Not Running' msg
Eileen McNaughton [Mon, 13 Jul 2020 20:14:57 +0000 (08:14 +1200)]
Merge pull request #17816 from JKingsnorth/patch-16
Fix 'Undefined variable: jsSet in CRM_Core_BAO_Mapping::loadSavedMapping()'
Eileen McNaughton [Mon, 13 Jul 2020 20:10:22 +0000 (08:10 +1200)]
Merge pull request #17812 from eileenmcnaughton/uff
dev/core#1861 fix failure to unset location_type_id when saving uffield
Eileen McNaughton [Mon, 13 Jul 2020 19:53:39 +0000 (07:53 +1200)]
Merge pull request #17807 from colemanw/nonProdCronCheck
dev/core#1863 Downgrade checkEnvironment level and skip non-prod checks
Coleman Watts [Sun, 12 Jul 2020 22:59:37 +0000 (18:59 -0400)]
CheckEnv - Give new installs a grace period before 'Cron Not Running' error
Stephen Palmstrom [Mon, 13 Jul 2020 16:14:05 +0000 (17:14 +0100)]
dev/core#1812
John Kingsnorth [Mon, 13 Jul 2020 12:18:59 +0000 (13:18 +0100)]
[NFC] Ensure jsSet returned variable exists
eileen [Mon, 13 Jul 2020 11:09:34 +0000 (23:09 +1200)]
Fix dedupe on same-activity-connection
John Kingsnorth [Mon, 13 Jul 2020 10:55:24 +0000 (11:55 +0100)]
Make email open and url routes public
Seamus Lee [Mon, 13 Jul 2020 09:55:19 +0000 (19:55 +1000)]
Merge pull request #17803 from eileenmcnaughton/dedupe
dev/core#1862 Skip cache tables during merge, rely on cache management processes
eileen [Mon, 13 Jul 2020 07:06:27 +0000 (19:06 +1200)]
dev/core#1861 fix failure to unset location_type_id when saving uffield
https://lab.civicrm.org/dev/core/-/issues/1861
If this is a regression it probably from 2017
https://github.com/civicrm/civicrm-core/commit/
2e74ff5574027b2ce84177b82884ebd7c9b87fd1#diff-1911d0c1a896701ba9aa044181f5972bR556
eileen [Mon, 13 Jul 2020 05:47:08 +0000 (17:47 +1200)]
Fix incorrect defaulting to the beginning rather than end the to-range day
eileen [Mon, 13 Jul 2020 01:15:28 +0000 (13:15 +1200)]
dev/core#1862 Skip cache tables during merge, rely on cache management processes
We later call Contact.create on both contacts so that should manage the caches for this update 'as well as for any other update'
and solve the bug + reduce locking queries
Seamus Lee [Mon, 13 Jul 2020 05:03:03 +0000 (15:03 +1000)]
Merge pull request #17797 from seamuslee001/dev_core_1865
dev/core#1865 Remove civiwp and option query strings from redirected …
Eileen McNaughton [Mon, 13 Jul 2020 05:00:43 +0000 (17:00 +1200)]
Merge pull request #15435 from MegaphoneJon/reporting-21
reporting#21 - don't multiple contribution details when a 1-to-many r…
Coleman Watts [Mon, 13 Jul 2020 02:03:53 +0000 (22:03 -0400)]
Downgrade checkEnvironment level and skip non-prod checks
Seamus Lee [Mon, 13 Jul 2020 01:34:04 +0000 (11:34 +1000)]
Merge pull request #17762 from eileenmcnaughton/date
dev/core#1847 Fix datepicker to respect the searchDate offsets
Seamus Lee [Mon, 13 Jul 2020 00:53:31 +0000 (10:53 +1000)]
Merge pull request #17789 from eileenmcnaughton/search
Add hidden tag to search extension
Seamus Lee [Mon, 13 Jul 2020 00:34:39 +0000 (10:34 +1000)]
Merge pull request #17788 from eileenmcnaughton/update
[REF] Follow up cleanup
eileen [Mon, 6 Jul 2020 01:52:08 +0000 (13:52 +1200)]
dev/core#1847 Fix datepicker to respect the searchDate offsets
I have some misgivings about this since I suspect the rationale behind the search offsets was primarily about the clunky UI.
Having said that I think the datepicker UI is a bit clunky on this front too as it's not obvious you can choose earlier
dates. This does at least restore established behaviour.
https://lab.civicrm.org/dev/core/-/issues/1847
Eileen McNaughton [Mon, 13 Jul 2020 00:22:14 +0000 (12:22 +1200)]
Merge pull request #17723 from seamuslee001/feature_contribution_detail_no_acl
[REF] Remove ACL join on temp table creation in Member ContributionDe…
Eileen McNaughton [Mon, 13 Jul 2020 00:20:34 +0000 (12:20 +1200)]
Merge pull request #17769 from seamuslee001/lab_core_1858
dev/core#1858 Prevent Duplicate contact records being created and har…
Seamus Lee [Mon, 13 Jul 2020 00:12:28 +0000 (10:12 +1000)]
Merge pull request #17798 from seamuslee001/dev_core_1864
dev/core#1864 Ensure that when search in trash is not checked that on…
Seamus Lee [Mon, 13 Jul 2020 00:12:09 +0000 (10:12 +1000)]
Merge pull request #17801 from colemanw/statusPrefCleanup
REF - Cleanup StatusPreference BAO to be more standard
Seamus Lee [Sun, 12 Jul 2020 23:04:54 +0000 (09:04 +1000)]
Merge pull request #17794 from eileenmcnaughton/act_perms
Sort permittedActivityTypes
Seamus Lee [Sun, 12 Jul 2020 23:03:42 +0000 (09:03 +1000)]
Merge pull request #17792 from agh1/5.28.0-releasenotes-initial
5.28.0 release notes initial run
Seamus Lee [Wed, 8 Jul 2020 06:27:45 +0000 (16:27 +1000)]
dev/core#1858 Ensure that no duplicate contact is created by if we have the contactID in the post variable from the contact task form that we map that to contact_id for the dedupe params
Add in a code comment describing the issue
Seamus Lee [Sun, 12 Jul 2020 21:31:38 +0000 (07:31 +1000)]
dev/core#1865 Remove civiwp and option query strings from redirected url as they only relate to CiviCRM internal uses
Seamus Lee [Sun, 12 Jul 2020 22:47:42 +0000 (08:47 +1000)]
dev/core#1864 Ensure that when search in trash is not checked that only contacts not deleted are returned in the advanced search form
Coleman Watts [Sun, 12 Jul 2020 20:56:25 +0000 (16:56 -0400)]
REF - Cleanup StatusPreference BAO to be more standard
colemanw [Sun, 12 Jul 2020 20:21:15 +0000 (16:21 -0400)]
Merge pull request #17795 from demeritcowboy/comment-resultset
[REF] Do or do not - there is no try
demeritcowboy [Sun, 12 Jul 2020 11:35:38 +0000 (07:35 -0400)]
unnecessary try block
Eileen McNaughton [Sun, 12 Jul 2020 11:27:54 +0000 (23:27 +1200)]
Merge pull request #17683 from agh1/memberdetailreportautorenew
Add auto-renew status to membership detail report
Eileen McNaughton [Sun, 12 Jul 2020 11:12:34 +0000 (23:12 +1200)]
Merge pull request #17791 from colemanw/dev/core#1866
APIv4 - Fix saving custom fields with same name
eileen [Sun, 12 Jul 2020 10:58:48 +0000 (22:58 +1200)]
Sort permittedActivityTypes
When determining whether to add a clause filtering activity types the permitted types
are compared to all types. If all are permitted no clause is needed.
However, without this sort it is incorrectly seeing them as not matching and adding extraneous joins
Eileen McNaughton [Sun, 12 Jul 2020 02:10:17 +0000 (14:10 +1200)]
Merge pull request #17698 from agh1/checkwpbasepage
Add system check to ensure WP base page exists
Andrew Hunt [Sat, 11 Jul 2020 23:08:10 +0000 (19:08 -0400)]
5.28.0 release notes: added boilerplate
Andrew Hunt [Sat, 11 Jul 2020 22:32:46 +0000 (18:32 -0400)]
5.28.0 release notes: raw from script
Coleman Watts [Sat, 11 Jul 2020 20:54:37 +0000 (16:54 -0400)]
Fix saving custom fields with same name
Eileen McNaughton [Sat, 11 Jul 2020 11:02:17 +0000 (23:02 +1200)]
Merge pull request #17786 from demeritcowboy/profile-description
dev/core#1868 - Regression - Description field is always blank on profiles admin page and slew of E_NOTICES
eileen [Sat, 11 Jul 2020 10:56:30 +0000 (22:56 +1200)]
Add hidden tag to search extension
This was a suggestion from @mattwire that we hide the extension from the UI until the styling dependency is resovled.
It seems reasonable to me as this is primarily in the civicrm-core repo for code management purposes and
making it too easy to enable before the styling is resolved could lead to confusion.
I would quite like to enable on buildkit builds just for dev visibility - but that is something to think
about
Eileen McNaughton [Sat, 11 Jul 2020 08:05:38 +0000 (20:05 +1200)]
Merge pull request #17787 from pradpnayak/REF-1
Fixed notice error on Relationships report
eileen [Mon, 29 Jun 2020 04:38:59 +0000 (16:38 +1200)]
[REF] Follow up cleanup
This removes an IF block that relies on the always-true parameter
I'm pretty sure it just wasn't done last round as all the white space created a lot of noise
Pradeep Nayak [Fri, 10 Jul 2020 23:49:41 +0000 (00:49 +0100)]
Fixed notice error on Relationships report
demeritcowboy [Fri, 10 Jul 2020 20:47:52 +0000 (16:47 -0400)]
put description back
Coleman Watts [Fri, 10 Jul 2020 13:36:06 +0000 (09:36 -0400)]
Search extension - improve results display
Seamus Lee [Fri, 10 Jul 2020 01:05:01 +0000 (11:05 +1000)]
Merge pull request #17783 from pradpnayak/REF-1
getLoggedInContactID() is a static function
Eileen McNaughton [Fri, 10 Jul 2020 00:06:57 +0000 (12:06 +1200)]
Merge pull request #17782 from civicrm/5.28
5.28
Eileen McNaughton [Fri, 10 Jul 2020 00:05:11 +0000 (12:05 +1200)]
Merge pull request #17744 from eileenmcnaughton/repeat
dev/core#1679: Ensure Paypal IPN always updates the next scheduled payment date
Seamus Lee [Thu, 9 Jul 2020 21:52:44 +0000 (07:52 +1000)]
Merge pull request #17749 from totten/master-setup
Support for installing CiviCRM-Backdrop via "setup" UI
Pradeep Nayak [Thu, 9 Jul 2020 21:25:35 +0000 (22:25 +0100)]
getLoggedInContactID() is a static function
Seamus Lee [Thu, 9 Jul 2020 21:08:15 +0000 (07:08 +1000)]
Merge pull request #17779 from seamuslee001/nfc_php74_flexmailer
[NFC] Update flexmailer to be PHP7.4 compatible
Seamus Lee [Thu, 9 Jul 2020 21:01:57 +0000 (07:01 +1000)]
Merge pull request #17774 from civicrm/5.28
5.28
Coleman Watts [Thu, 9 Jul 2020 17:10:38 +0000 (13:10 -0400)]
Search extension - blur auto toggle on click
Coleman Watts [Thu, 9 Jul 2020 16:19:10 +0000 (12:19 -0400)]
Rename search base page class
colemanw [Thu, 9 Jul 2020 15:40:28 +0000 (11:40 -0400)]
Merge pull request #17765 from colemanw/dev/core#1853
dev/core#1853 - Fix validation errors when removing contact subtype
Coleman Watts [Thu, 9 Jul 2020 15:38:30 +0000 (11:38 -0400)]
Rename searchBuild to less ambiguous Create Search
Andrew Hunt [Thu, 9 Jul 2020 15:12:41 +0000 (11:12 -0400)]
WP base page system check: suggest both the modified default and the default default
Tim Otten [Thu, 9 Jul 2020 05:52:29 +0000 (22:52 -0700)]
CRM_Utils_SQL - Add "syncInto()" helper
This is slightly more sugary variant of "INSERT INTO...SELECT...ON DUPLICATE UPDATE..." which requires
less boilerplate/duplication.
Before
------
```php
CRM_Utils_SQL_Select::from('foo_table')
->select(['foo_name', 'foo_value1', 'foo_value2'])
->insertInto('bar_table', ['bar_name', 'bar_output1', 'bar_output2'])
->onDuplicate(['bar_output1 = foo_value1', 'bar_output2 = foo_value2'])
```
After
------
```php
CRM_Utils_SQL_Select::from('foo_table')
->syncInto('bar_table', 'bar_name', [
'bar_name' => 'foo_name',
'bar_output1' => 'foo_value1',
'bar_output2' => 'foo_value1',
])
```
Tim Otten [Thu, 9 Jul 2020 04:53:10 +0000 (21:53 -0700)]
CRM_Utils_SQL - Add support for "INSERT INTO...SELECT...ON DUPLICATE UPDATE..."
This is a query structure in which you want to build a SELECT query - and,
using the results, perform a mix of INSERTs and UPDATEs.