civicrm-core.git
4 years ago[REF] Extract createFollowUpActivities
eileen [Tue, 26 May 2020 03:48:30 +0000 (15:48 +1200)]
[REF] Extract createFollowUpActivities

4 years agoMerge pull request #17474 from eileenmcnaughton/processor_name
Matthew Wire [Wed, 3 Jun 2020 09:02:03 +0000 (10:02 +0100)]
Merge pull request #17474 from eileenmcnaughton/processor_name

Remove last reference to Payment->_processorName in core & remove from processors

4 years agoMerge pull request #17468 from mattwire/removesingleton
Matthew Wire [Wed, 3 Jun 2020 09:00:39 +0000 (10:00 +0100)]
Merge pull request #17468 from mattwire/removesingleton

Remove unused singleton from core payment processors

4 years agoMerge pull request #17442 from eileenmcnaughton/email3
colemanw [Wed, 3 Jun 2020 00:57:35 +0000 (20:57 -0400)]
Merge pull request #17442 from eileenmcnaughton/email3

[REF] Switch to an api call to get the contact details.

4 years agoMerge pull request #17446 from Edzelopez/fix-hideshow-receivedate
Seamus Lee [Wed, 3 Jun 2020 00:51:06 +0000 (10:51 +1000)]
Merge pull request #17446 from Edzelopez/fix-hideshow-receivedate

Fixed hide show of start date

4 years agoMerge pull request #17464 from eileenmcnaughton/renew
Seamus Lee [Wed, 3 Jun 2020 00:50:44 +0000 (10:50 +1000)]
Merge pull request #17464 from eileenmcnaughton/renew

[REF] Remove never-passed params from function signature

4 years agoMerge pull request #17447 from mattwire/repeattransactiondisablerecur
Eileen McNaughton [Tue, 2 Jun 2020 23:58:19 +0000 (11:58 +1200)]
Merge pull request #17447 from mattwire/repeattransactiondisablerecur

Don't allow Contribution.repeattransaction to be used without a recurring contribution

4 years agoMerge pull request #17471 from colemanw/customSpec
Eileen McNaughton [Tue, 2 Jun 2020 23:49:04 +0000 (11:49 +1200)]
Merge pull request #17471 from colemanw/customSpec

APIv4 - Improve custom field spec gathering

4 years agoRemove last reference to Payment->_processorName in core & remove from processors
eileen [Tue, 2 Jun 2020 21:47:47 +0000 (09:47 +1200)]
Remove last reference to Payment->_processorName in core & remove from processors

I left it on Core_Payment to keep the deprecation notice visible

4 years agoMerge pull request #17469 from colemanw/memberTypeTest
Eileen McNaughton [Tue, 2 Jun 2020 20:43:11 +0000 (08:43 +1200)]
Merge pull request #17469 from colemanw/memberTypeTest

[REF] Fix serialized membership field handling in RelationshipTest

4 years agoAPIv4 - Improve custom field spec gathering
Coleman Watts [Tue, 2 Jun 2020 15:13:56 +0000 (11:13 -0400)]
APIv4 - Improve custom field spec gathering

Uses the basicTypes() function instead of hard-coding contact types,
Includes all the weird variants of Participant.

4 years agoFix serialized membership field handling in RelationshipTest
Coleman Watts [Tue, 2 Jun 2020 14:16:03 +0000 (10:16 -0400)]
Fix serialized membership field handling in RelationshipTest

These fields were being unnecessarily and incorrectly serialized by the test.
Passing an array is preferred and it will handle the serialization correctly.

4 years agoMerge pull request #17372 from eileenmcnaughton/opts
colemanw [Tue, 2 Jun 2020 14:06:55 +0000 (10:06 -0400)]
Merge pull request #17372 from eileenmcnaughton/opts

Add more search options

4 years agoMerge pull request #17413 from scoobird/assign_relationship_1287
colemanw [Tue, 2 Jun 2020 14:05:10 +0000 (10:05 -0400)]
Merge pull request #17413 from scoobird/assign_relationship_1287

Allow bidirectional assignment of relationships from search results

4 years agoRemove unused singleton from core payment processors
Matthew Wire [Tue, 2 Jun 2020 13:55:35 +0000 (14:55 +0100)]
Remove unused singleton from core payment processors

4 years agoMerge pull request #17467 from civicrm/5.26
Seamus Lee [Tue, 2 Jun 2020 13:38:00 +0000 (23:38 +1000)]
Merge pull request #17467 from civicrm/5.26

5.26

4 years agoMerge pull request #17466 from mattwire/subscriptiondetail
Seamus Lee [Tue, 2 Jun 2020 13:28:06 +0000 (23:28 +1000)]
Merge pull request #17466 from mattwire/subscriptiondetail

Add actual field name for processor_id to getSubscriptionDetails

4 years agoMerge pull request #17465 from seamuslee001/upgrde_required_fields
Seamus Lee [Tue, 2 Jun 2020 13:26:10 +0000 (23:26 +1000)]
Merge pull request #17465 from seamuslee001/upgrde_required_fields

[REF] Implement required fields database changes that have occured du…

4 years agoMerge pull request #17462 from eileenmcnaughton/526ex
Yashodha Chaku [Tue, 2 Jun 2020 11:46:37 +0000 (17:16 +0530)]
Merge pull request #17462 from eileenmcnaughton/526ex

dev/core#1780 Fix bug where non-household merge contacts were being skipped

4 years agoMerge pull request #17424 from kcristiano/5.26.upgrade-message
Seamus Lee [Tue, 2 Jun 2020 11:08:23 +0000 (21:08 +1000)]
Merge pull request #17424 from kcristiano/5.26.upgrade-message

Add Upgrade Warning.  Limit to WP Only.

4 years ago[REF] Implement required fields database changes that have occured during 5.27.alpha1...
Seamus Lee [Tue, 2 Jun 2020 09:31:56 +0000 (19:31 +1000)]
[REF] Implement required fields database changes that have occured during 5.27.alpha1 development cycle

4 years agoAdd actual field name for processor_id to getSubscriptionDetails
Matthew Wire [Tue, 2 Jun 2020 09:45:44 +0000 (10:45 +0100)]
Add actual field name for processor_id to getSubscriptionDetails

4 years agoget link to Blog Post
Kevin Cristiano [Mon, 1 Jun 2020 17:44:38 +0000 (13:44 -0400)]
get link to Blog Post

4 years agoAdd PostUpgrade Message
Kevin Cristiano [Fri, 29 May 2020 18:31:32 +0000 (14:31 -0400)]
Add PostUpgrade Message

Signed-off-by: Kevin Cristiano <kcristiano@kcristiano.com>
4 years agoAdd Upgrade Warning. Limit to WP Only.
Kevin Cristiano [Fri, 29 May 2020 14:26:39 +0000 (10:26 -0400)]
Add Upgrade Warning. Limit to WP Only.

Signed-off-by: Kevin Cristiano <kcristiano@kcristiano.com>
4 years ago[REF] Remove never-passed params from function signature
eileen [Tue, 2 Jun 2020 07:53:40 +0000 (19:53 +1200)]
[REF] Remove never-passed params from function signature

These params were used when the code was shared with other forms, but not now it is been
separated onto this form

4 years agoMerge pull request #17443 from eileenmcnaughton/renew
Seamus Lee [Tue, 2 Jun 2020 06:03:25 +0000 (16:03 +1000)]
Merge pull request #17443 from eileenmcnaughton/renew

[REF] Minor simplification

4 years agoAdd more search fields for contacts - city, postal_code, street_address
eileen [Thu, 28 May 2020 21:45:44 +0000 (09:45 +1200)]
Add more search fields for contacts - city, postal_code, street_address

4 years agoAdd more search options
eileen [Thu, 21 May 2020 03:38:34 +0000 (15:38 +1200)]
Add more search options

This adds more fields to the filters on search for individual
- organization_name (Employer Name)
- first_name
- nick_name
- last_name

Note
1) organization_name is populated for individuals with employers - it's handy to be able
to filter by as a quick way to narrow down. I wasn't too worried about declaring it only
for individuals as sort_name covers this for organizations
2) Last name these feels a bit unnecessary as it co-incides with sort_name
but it also feels odd not to add it
3) Ideally for these text fields they would be always or optionally 'like' searches
(respecting the site +wildcard setting). I took a a quick look but decided to leave it
out of scope at this stage.
4) I thought 'email' might have been useful too but given 3 & the fact that the main use I saw
was as a proxy for 1 (employer) and that email is the preferred search for email anyway (
which was the entity I was working on) I excluded it too in the end.

The use case for this is narrowing down in a large database. Take finding Johnathan Smith.
Being able to add 'Johnathan' as a filter helps get past all the Johns quicker.

Lastly - I have a sneaky feeling that users in our org will abuse the nick name filter heavily &
add nicknames to all contacts they frequently email....

4 years agoMerge pull request #17430 from mattwire/eileenmcnaughton-cancel
Eileen McNaughton [Tue, 2 Jun 2020 05:55:34 +0000 (17:55 +1200)]
Merge pull request #17430 from mattwire/eileenmcnaughton-cancel

Nuance cancel options for processors

4 years agoMerge pull request #17298 from demeritcowboy/activity-attachment-delete
Eileen McNaughton [Tue, 2 Jun 2020 05:52:47 +0000 (17:52 +1200)]
Merge pull request #17298 from demeritcowboy/activity-attachment-delete

dev/core#1753 - Attachments aren't deleted when deleting activity

4 years agoFixed false condition
Edsel Lopez [Tue, 2 Jun 2020 05:25:49 +0000 (10:55 +0530)]
Fixed false condition

4 years agoMerge pull request #17460 from seamuslee001/pear_log_version_bump
Seamus Lee [Tue, 2 Jun 2020 04:43:47 +0000 (14:43 +1000)]
Merge pull request #17460 from seamuslee001/pear_log_version_bump

[REF] Bump Pear Log version to fix compatability with Drupal 8 / Drup…

4 years agoMerge pull request #17463 from eileenmcnaughton/memtype
Seamus Lee [Tue, 2 Jun 2020 04:33:37 +0000 (14:33 +1000)]
Merge pull request #17463 from eileenmcnaughton/memtype

Update MembershipType.name to be a required field

4 years agoAllow bidirectional assignment of relationships from search results
Morgan [Wed, 27 May 2020 21:48:57 +0000 (17:48 -0400)]
Allow bidirectional assignment of relationships from search results

4 years agoUpdate MembershipType.name to be a required field
eileen [Tue, 2 Jun 2020 01:36:24 +0000 (13:36 +1200)]
Update MembershipType.name to be a required field

4 years ago[REF] Bump Pear Log version to fix compatability with Drupal 8 / Drupal 9
Seamus Lee [Tue, 2 Jun 2020 00:43:12 +0000 (10:43 +1000)]
[REF] Bump Pear Log version to fix compatability with Drupal 8 / Drupal 9

4 years agodev/core#1780 Fix bug where non-household merge contacts were being skipped
eileen [Tue, 2 Jun 2020 01:18:29 +0000 (13:18 +1200)]
dev/core#1780 Fix bug where non-household merge contacts were being skipped

4 years agoMerge pull request #17459 from civicrm/5.26
Eileen McNaughton [Tue, 2 Jun 2020 00:41:20 +0000 (12:41 +1200)]
Merge pull request #17459 from civicrm/5.26

5.26 to master

4 years agoMerge pull request #17438 from eileenmcnaughton/cust
Seamus Lee [Tue, 2 Jun 2020 00:27:38 +0000 (10:27 +1000)]
Merge pull request #17438 from eileenmcnaughton/cust

dev/core#1747 don't drop temp tables on class destruct.

4 years agoMerge pull request #17457 from agh1/5.26.0-release-notes-initial
Eileen McNaughton [Tue, 2 Jun 2020 00:03:36 +0000 (12:03 +1200)]
Merge pull request #17457 from agh1/5.26.0-release-notes-initial

5.26.0 release notes initial run

4 years agoMerge pull request #17449 from eileenmcnaughton/guzzle
Seamus Lee [Mon, 1 Jun 2020 23:16:05 +0000 (09:16 +1000)]
Merge pull request #17449 from eileenmcnaughton/guzzle

[REF] Convert one of the http calls in Authorize.net class to use guzzle.

4 years ago5.26.0 release notes: added boilerplate
Andrew Hunt [Mon, 1 Jun 2020 21:31:24 +0000 (17:31 -0400)]
5.26.0 release notes: added boilerplate

4 years ago5.26.0 release notes: raw from script
Andrew Hunt [Mon, 1 Jun 2020 20:23:24 +0000 (16:23 -0400)]
5.26.0 release notes: raw from script

4 years ago[REF] Convert one of the http calls in Authorize.net class to use guzzle.
eileen [Mon, 1 Jun 2020 12:09:45 +0000 (00:09 +1200)]
[REF] Convert one of the http calls in Authorize.net class to use guzzle.

This achieves the following
1) addresses a cause of intermittent test failures
2) starts the process of modelling how payment processors should be written in a best-practice, tested way in core
3) stops us interacting with A.net during tests
4) starts to reduce curl dependency

4 years agoMerge pull request #17451 from mlutfy/navNewSubType
Matthew Wire [Mon, 1 Jun 2020 17:00:31 +0000 (18:00 +0100)]
Merge pull request #17451 from mlutfy/navNewSubType

Navigation menu: fix translation of new-subtype entries

4 years agoDon't allow Contribution.repeattransaction to be used without a recurring contribution
Matthew Wire [Mon, 1 Jun 2020 10:13:06 +0000 (11:13 +0100)]
Don't allow Contribution.repeattransaction to be used without a recurring contribution

4 years agoNavigation menu: fix translation of new-subtype entries.
Mathieu Lutfy [Mon, 1 Jun 2020 12:34:06 +0000 (08:34 -0400)]
Navigation menu: fix translation of new-subtype entries.

4 years agoFixed hide show of start date
Edsel Lopez [Mon, 1 Jun 2020 10:15:44 +0000 (15:45 +0530)]
Fixed hide show of start date

4 years agoDon't set isNotifyProcessorOnCancelRecur if it has not been set - this allows the...
Matthew Wire [Sat, 30 May 2020 17:19:04 +0000 (18:19 +0100)]
Don't set isNotifyProcessorOnCancelRecur if it has not been set - this allows the payment processor to know if the user made a choice or not independently of supportsCancelRecurringNotifyOptional

4 years agoNuance cancel options for processors.
eileen [Wed, 22 Apr 2020 23:08:05 +0000 (11:08 +1200)]
Nuance cancel options for processors.

This PR addresses an issue where we have insufficient nuance on processor capabilities for cancel.

There are 2 behaviours that we are trying to support with one capability
1) can this processor cope with us cancelling a recurring donation within CiviCRM
2) should we present the option of whether to or not to a user. This option is appropriate
when the processor manages the schedule (e.g Paypal) as the user may just be updating Civi to
match reality. However, for token driven processors it generally doesnt' apply.

This PR adds a new overridable capability - 'supportsOptionalCancelRecurring' which is the same as
supportsCancelRecurring by default. For the manual processor it is FALSE.

Call cancelRecurring for all cancels.

In almost all cases this will be no change as processors would have to implement the new-ish
doCancelRecurring themselves to have any change

4 years agoMerge pull request #17425 from colemanw/customLinks
Seamus Lee [Mon, 1 Jun 2020 09:08:00 +0000 (19:08 +1000)]
Merge pull request #17425 from colemanw/customLinks

APIv4 - Fix entity name on custom groups in schemaMapper

4 years ago[REF] Minor simplification
eileen [Mon, 1 Jun 2020 06:50:07 +0000 (18:50 +1200)]
[REF] Minor simplification

This code used to be shared with other functions. No longer, so we only need to return what is returned for
this form

4 years agoMerge pull request #17441 from eileenmcnaughton/email2
Seamus Lee [Mon, 1 Jun 2020 06:46:20 +0000 (16:46 +1000)]
Merge pull request #17441 from eileenmcnaughton/email2

[REF] Simplify contributionIDs code

4 years agoMerge pull request #17439 from seamuslee001/karma_upgrade_162020
Eileen McNaughton [Mon, 1 Jun 2020 06:45:02 +0000 (18:45 +1200)]
Merge pull request #17439 from seamuslee001/karma_upgrade_162020

[NFC] Update Karma to be latest version

4 years agoAPIv4 - Fix entity name on custom groups in schemaMapper
Coleman Watts [Fri, 29 May 2020 18:32:45 +0000 (14:32 -0400)]
APIv4 - Fix entity name on custom groups in schemaMapper

Only multi-record groups are considered an api "entity", so for other groups the entity should be null.

4 years agoMerge pull request #17436 from eileenmcnaughton/email
Yashodha Chaku [Mon, 1 Jun 2020 04:38:14 +0000 (10:08 +0530)]
Merge pull request #17436 from eileenmcnaughton/email

[REF] Simplify subject code.

4 years agoSwitch to an api call to get the contact details.
eileen [Tue, 26 May 2020 04:37:27 +0000 (16:37 +1200)]
Switch to an api call to get the contact details.

It's much clearer that it's just a basic get. Using v4 means I have to param wrangle so I stuck with
v3 for now (i.e if I switch to Email.get which I think I need to for v4 since Primary.email is
not a v4 search param I wind up with prefixes on the keys

4 years ago[REF] Simplify contributionIDs code
eileen [Tue, 26 May 2020 03:01:00 +0000 (15:01 +1200)]
[REF] Simplify contributionIDs code

4 years agoMerge pull request #17435 from seamuslee001/dev_membership_24_revert
Seamus Lee [Mon, 1 Jun 2020 01:07:12 +0000 (11:07 +1000)]
Merge pull request #17435 from seamuslee001/dev_membership_24_revert

Revert Matt's fix for dev/membership#24 as it is incomplete and add a…

4 years ago[NFC] Update Karma to be latest version
Seamus Lee [Mon, 1 Jun 2020 00:56:23 +0000 (10:56 +1000)]
[NFC] Update Karma to be latest version

4 years agoMerge pull request #17420 from seamuslee001/request_guzzle
Seamus Lee [Mon, 1 Jun 2020 00:09:34 +0000 (10:09 +1000)]
Merge pull request #17420 from seamuslee001/request_guzzle

[REF] Refactor to switch from pear HTTP Request class to using Guzzle

4 years agoMerge pull request #17437 from demeritcowboy/tests-for-deleterestore
Seamus Lee [Mon, 1 Jun 2020 00:02:23 +0000 (10:02 +1000)]
Merge pull request #17437 from demeritcowboy/tests-for-deleterestore

[NFC/TEST] dev/core#1784 - Unit tests for contact delete/restore

4 years agodev/core#1747 don't drop temp tables on class destruct.
eileen [Sun, 31 May 2020 23:21:01 +0000 (11:21 +1200)]
dev/core#1747 don't drop temp tables on class destruct.

Recent code clean up means the search class is now dropped more quickly - meaning that dropping
these tables in the destructors is too aggressive. Since they are memory tables & temp tables they get
cleaned up anyway I think. We should move this search to an extension that ships with core, not necessarily
enabled on initial install but that is up for discussion

4 years agoMerge pull request #17421 from seamuslee001/more_560
Eileen McNaughton [Sun, 31 May 2020 22:44:00 +0000 (10:44 +1200)]
Merge pull request #17421 from seamuslee001/more_560

dev/core#560 Replace various CRM_Core_Error::fatal with statusBounces…

4 years agoMerge pull request #17328 from eileenmcnaughton/mailing_seach
Seamus Lee [Sun, 31 May 2020 22:28:19 +0000 (08:28 +1000)]
Merge pull request #17328 from eileenmcnaughton/mailing_seach

Make is_archived work as a url-search parameter

4 years agotests for contact delete/restore
demeritcowboy [Sun, 31 May 2020 22:27:27 +0000 (18:27 -0400)]
tests for contact delete/restore

4 years ago[REF] Simplify subject code. Note sendEmail
eileen [Tue, 26 May 2020 02:58:37 +0000 (14:58 +1200)]
[REF] Simplify subject code. Note sendEmail
is only called from this, some tests, and a deprecated function (unused in core) so we can change
it to not pass by reference safely

4 years agoRevert Matt's fix for dev/membership#24 as it is incomplete and add a unit test in...
Seamus Lee [Sun, 31 May 2020 22:13:36 +0000 (08:13 +1000)]
Revert Matt's fix for dev/membership#24 as it is incomplete and add a unit test in to cover the financial type acls side of the code

4 years agoMerge pull request #17434 from demeritcowboy/bad-user
Eileen McNaughton [Sun, 31 May 2020 21:52:58 +0000 (09:52 +1200)]
Merge pull request #17434 from demeritcowboy/bad-user

dev/core#1791 - E_WARNINGS when viewing list of pledge payments

4 years agoMerge pull request #17432 from mattwire/repeattransactionpendingdefault
Eileen McNaughton [Sun, 31 May 2020 21:32:43 +0000 (09:32 +1200)]
Merge pull request #17432 from mattwire/repeattransactionpendingdefault

Make 'Pending' the default status for Contribution.repeattransaction

4 years agobad user
demeritcowboy [Sun, 31 May 2020 14:55:46 +0000 (10:55 -0400)]
bad user

4 years agoMake 'Pending' the default status for Contribution.repeattransaction as that is the...
Matthew Wire [Sun, 31 May 2020 12:04:11 +0000 (13:04 +0100)]
Make 'Pending' the default status for Contribution.repeattransaction as that is the preferred way to call this API

4 years agoMerge pull request #17220 from eileenmcnaughton/lines
Eileen McNaughton [Sun, 31 May 2020 06:31:07 +0000 (18:31 +1200)]
Merge pull request #17220 from eileenmcnaughton/lines

Fetch line items from correct contribution when repeating a contribution

4 years agoMerge pull request #17431 from civicrm/5.26
Eileen McNaughton [Sun, 31 May 2020 06:30:47 +0000 (18:30 +1200)]
Merge pull request #17431 from civicrm/5.26

5.26 to masterr

4 years agoMerge pull request #17418 from eileenmcnaughton/trash
Eileen McNaughton [Sun, 31 May 2020 06:28:29 +0000 (18:28 +1200)]
Merge pull request #17418 from eileenmcnaughton/trash

dev/core#1784 fix regression on restore contacts button not working.

4 years agoFix use of static var breaking tests
eileen [Sun, 31 May 2020 04:47:15 +0000 (16:47 +1200)]
Fix use of static var breaking tests

4 years agoFetch latest contribution id for building line items
Pradeep Nayak [Tue, 17 Mar 2020 12:26:04 +0000 (12:26 +0000)]
Fetch latest contribution id for building line items

4 years agoMerge pull request #17278 from mattwire/paymentcreateorderreference
Seamus Lee [Sat, 30 May 2020 07:40:22 +0000 (17:40 +1000)]
Merge pull request #17278 from mattwire/paymentcreateorderreference

Support order_reference param in API3 Payment.create

4 years agoMerge pull request #17147 from kartik1000/Fix#1650
Seamus Lee [Sat, 30 May 2020 06:02:50 +0000 (16:02 +1000)]
Merge pull request #17147 from kartik1000/Fix#1650

dev/core#1650 Updated Financial Type title to Financial Type ID

4 years agoMerge pull request #17143 from mattwire/donthidedisabledmemberships
Matthew Wire [Fri, 29 May 2020 11:04:15 +0000 (12:04 +0100)]
Merge pull request #17143 from mattwire/donthidedisabledmemberships

dev/membership#24 Don't hide disabled memberships from the contact membership tab

4 years agoSupport order_reference param in Api3 Payment.create
Matthew Wire [Sun, 10 May 2020 15:36:11 +0000 (16:36 +0100)]
Support order_reference param in Api3 Payment.create

4 years agoMerge pull request #17419 from eileenmcnaughton/groups
Matthew Wire [Fri, 29 May 2020 09:02:56 +0000 (10:02 +0100)]
Merge pull request #17419 from eileenmcnaughton/groups

dev/core#1745 Fix caching bug when adding a contact to a group

4 years agodev/core#560 Replace various CRM_Core_Error::fatal with statusBounces and Exceptions
Seamus Lee [Fri, 29 May 2020 06:40:29 +0000 (16:40 +1000)]
dev/core#560 Replace various CRM_Core_Error::fatal with statusBounces and Exceptions

4 years ago[REF] Refactor to switch from pear HTTP Request class to using Guzzle
Seamus Lee [Fri, 29 May 2020 06:43:36 +0000 (16:43 +1000)]
[REF] Refactor to switch from pear HTTP Request class to using Guzzle

4 years agoMerge pull request #17192 from jmdh/log_config
Seamus Lee [Fri, 29 May 2020 05:30:45 +0000 (15:30 +1000)]
Merge pull request #17192 from jmdh/log_config

Configurable logfile size and hashing

4 years agoMerge pull request #17405 from eileenmcnaughton/email
Seamus Lee [Fri, 29 May 2020 05:24:13 +0000 (15:24 +1000)]
Merge pull request #17405 from eileenmcnaughton/email

[REF] Extract getAttachments

4 years agoMerge pull request #17415 from eileenmcnaughton/recur
Seamus Lee [Fri, 29 May 2020 04:52:24 +0000 (14:52 +1000)]
Merge pull request #17415 from eileenmcnaughton/recur

Remove always-true if block.

4 years agoMerge pull request #17417 from eileenmcnaughton/ev
Eileen McNaughton [Fri, 29 May 2020 00:42:57 +0000 (12:42 +1200)]
Merge pull request #17417 from eileenmcnaughton/ev

[REF] Preliminary cleanup for #17339

4 years agodev/core#1745 Fix caching bug when adding a contact to a group
eileen [Fri, 29 May 2020 00:11:38 +0000 (12:11 +1200)]
dev/core#1745 Fix caching bug when adding a contact to a group

4 years agodev/core#1784 fix regression on restore contacts button not working.
eileen [Thu, 28 May 2020 23:42:07 +0000 (11:42 +1200)]
dev/core#1784 fix regression on restore contacts button not working.

This should fix https://lab.civicrm.org/dev/core/-/issues/1784

I think the message from deleting multiple contacts is a bit wonky, but no worse

4 years ago[REF] Preliminary cleanup for #17339
eileen [Thu, 28 May 2020 21:56:09 +0000 (09:56 +1200)]
[REF] Preliminary cleanup for #17339

This merges changes to code around event cart to simplify the larger PR

4 years agoRemove always-true if block.
eileen [Thu, 28 May 2020 02:35:52 +0000 (14:35 +1200)]
Remove always-true if block.

We actually already removed the 'else' on the basis this is always true. This removes the whole
block & reformats

4 years agoMerge pull request #17414 from totten/master-settime
Eileen McNaughton [Thu, 28 May 2020 02:55:04 +0000 (14:55 +1200)]
Merge pull request #17414 from totten/master-settime

dev/core#1781 - CRM_Utils_Time - Allow TIME_FUNC to better isolate timing bugs

4 years agoMerge pull request #17380 from seamuslee001/symfony_4_4
Seamus Lee [Thu, 28 May 2020 00:29:55 +0000 (10:29 +1000)]
Merge pull request #17380 from seamuslee001/symfony_4_4

Allow for installation on Symfony 4.4

4 years agodev/core#1781 - CRM_Utils_Time - Allow TIME_FUNC to better isolate timing bugs
Tim Otten [Wed, 27 May 2020 23:48:27 +0000 (16:48 -0700)]
dev/core#1781 - CRM_Utils_Time - Allow TIME_FUNC to better isolate timing bugs

Overview
--------

`CRM_Utils_Time` is a helper for (a) getting the time and (b) setting the time
to a mocked value (for testing purposes).

Timing bugs can manifest as flaky tests.

This provides a new option, `TIME_FUNC`, which may help isolate some timing
bugs (provided the test consistently uses `CRM_Utils_Time`).

Before
------

When using `CRM_Utils_Time::setTime()`, it simulates a change in the clock, and
the clock is allowed to proceed at a natural/real pace.

This policy aims to be representative of real-world execution (wherein the
clock also executes at a natural pace).  However, consider that the pace at
which the code executes depends on numerous factors (CPU speed, memory
managers, system-load, system-caches, the specific code/use-case, etc).  If
your use-case relies on multiple calls to `getTime()`, and if you run the
use-case in repeated trials, then you may find somewhat chaotic variations
in the exact values of `getTime()`.

Consequently, if there is a timing-sensitive bug, you may find that some trials
pass while others fail, and it is impossible to reproduce the natural
circumstance of the failure.

After
-----

By default, `CRM_Utils_Time` still performs simulations where the clock
proceeds a natural/real pace.

However, if you see flaky results and suspect a timing bug, you can re-run the
test suite with alternative time functions (`TIME_FUNC`):

```bash
TIME_FUNC=frozen      ## every call to getTime() yields the same, static value
TIME_FUNC=natural     ## every call to getTime() progresses in tandem with the real/natural clock
TIME_FUNC=linear:333  ## every call to getTime() progresses by 333ms
TIME_FUNC=prng:333    ## every call to getTime() progresses by a random interval, up to 333ms
```

Now "time" is not so natural or chaotic - it's more synthetic and
deterministic, which can help with debugging.

For example, consider `CRM_Core_BAO_ActionScheduleTest` and its functions
`testMembershipEndDateRepeat`, `testEventTypeEndDateRepeat`, and
`testRepetitionFrequencyUnit` -- which (anecdotally) appear to be flaky.  We
can run one of these tests with deterministic time functions:

```bash
for TIME_FUNC in frozen prng:333 prng:666 prng:1000 prng:1500 linear:333 linear:666 linear:1000 ; do
  export TIME_FUNC
  echo
  echo "Running with TIME_FUNC=$TIME_FUNC"
  env CIVICRM_UF=UnitTests phpunit6 tests/phpunit/CRM/Core/BAO/ActionScheduleTest.php --filter testRepetitionFrequencyUnit
done
```

We get different results depending on the `TIME_FUNC`. I've done multiple trials with each `TIME_FUNC`, and
results have been stable so far:

* PASSING: `frozen` `prng:333` `prng:666` `linear:333` `linear:666` `linear:1000` `linear:1500`
* FAILING: `prng:1000` `prng:1500`

This doesn't specifically tell you what the bug is.  It could be a real bug
in the main logic or less important bug in the test logic.  However, you can
now *reproduce it* (locally, in an IDE, etc) by setting `TIME_FUNC=prng:1500`.

4 years agoMerge pull request #17406 from eileenmcnaughton/email2
Seamus Lee [Wed, 27 May 2020 22:06:02 +0000 (08:06 +1000)]
Merge pull request #17406 from eileenmcnaughton/email2

[REF] Pass params not-by-reference

4 years agoMerge pull request #17411 from mattwire/apivactivity
Eileen McNaughton [Wed, 27 May 2020 20:34:27 +0000 (08:34 +1200)]
Merge pull request #17411 from mattwire/apivactivity

Use now instead of date for activity API3 spec

4 years agoMerge pull request #17409 from MikeyMJCO/patch-5
colemanw [Wed, 27 May 2020 12:25:11 +0000 (08:25 -0400)]
Merge pull request #17409 from MikeyMJCO/patch-5

Typo Fix

4 years agoUse now instead of date for activity API3 spec
Matthew Wire [Wed, 27 May 2020 12:06:38 +0000 (13:06 +0100)]
Use now instead of date for activity API3 spec