civicrm-core.git
2 years agoupdate doc block, work on `PDFLetterCommonTest` unit test compatibility with `contact...
Samuele Masetto [Mon, 24 Jan 2022 13:35:23 +0000 (14:35 +0100)]
update doc block, work on `PDFLetterCommonTest` unit test compatibility with `contactId` parameter

2 years agoadd `contact_id` to email params in `emailLetter` function
Samuele Masetto [Mon, 17 Jan 2022 17:04:36 +0000 (18:04 +0100)]
add `contact_id` to email params in `emailLetter` function

2 years agoMerge pull request #22536 from eileenmcnaughton/regen
Eileen McNaughton [Mon, 17 Jan 2022 08:56:34 +0000 (21:56 +1300)]
Merge pull request #22536 from eileenmcnaughton/regen

Re-run regen

2 years agoMerge pull request #22535 from eileenmcnaughton/style
Eileen McNaughton [Mon, 17 Jan 2022 08:56:15 +0000 (21:56 +1300)]
Merge pull request #22535 from eileenmcnaughton/style

Fixes to spaces from phpcs

2 years agoRe-run regen
Eileen McNaughton [Mon, 17 Jan 2022 05:57:33 +0000 (18:57 +1300)]
Re-run regen

2 years agoFixes to spaces from phpcs
Eileen McNaughton [Mon, 17 Jan 2022 05:51:39 +0000 (18:51 +1300)]
Fixes to spaces from phpcs

2 years agoMerge pull request #22531 from seamuslee001/example_regenerate
Eileen McNaughton [Mon, 17 Jan 2022 05:34:16 +0000 (18:34 +1300)]
Merge pull request #22531 from seamuslee001/example_regenerate

[NFC] Update test example template and regenerate examples

2 years agoMerge pull request #22530 from eileenmcnaughton/category
demeritcowboy [Mon, 17 Jan 2022 03:24:44 +0000 (22:24 -0500)]
Merge pull request #22530 from eileenmcnaughton/category

Remove category from case activity template

2 years ago[NFC] Update test example template and regenerate examples
Seamus Lee [Mon, 17 Jan 2022 02:47:39 +0000 (13:47 +1100)]
[NFC] Update test example template and regenerate examples

2 years agoMerge pull request #22527 from eileenmcnaughton/phpcs2
Eileen McNaughton [Mon, 17 Jan 2022 01:22:11 +0000 (14:22 +1300)]
Merge pull request #22527 from eileenmcnaughton/phpcs2

Run stricter phpcs on Civi dir

2 years agoRemove category from case activity template
Eileen McNaughton [Mon, 17 Jan 2022 00:20:08 +0000 (13:20 +1300)]
Remove category from case activity template

2 years agoMerge pull request #22528 from eileenmcnaughton/phpcs3
Seamus Lee [Sun, 16 Jan 2022 23:53:53 +0000 (10:53 +1100)]
Merge pull request #22528 from eileenmcnaughton/phpcs3

Run 'full drupal strictness' standard over api/v3/examples

2 years agoMerge pull request #22444 from eileenmcnaughton/isform
Eileen McNaughton [Sun, 16 Jan 2022 23:47:26 +0000 (12:47 +1300)]
Merge pull request #22444 from eileenmcnaughton/isform

Remove empty check

2 years agoMerge pull request #22517 from eileenmcnaughton/skip
Seamus Lee [Sun, 16 Jan 2022 23:13:06 +0000 (10:13 +1100)]
Merge pull request #22517 from eileenmcnaughton/skip

Move deprecated function back to the only class that calls it

2 years agoMerge pull request #22526 from eileenmcnaughton/phpcs
Eileen McNaughton [Sun, 16 Jan 2022 22:50:42 +0000 (11:50 +1300)]
Merge pull request #22526 from eileenmcnaughton/phpcs

Fix php comments

2 years agoRun 'full drupal strictness' standard over api/v3/examples
Eileen McNaughton [Sun, 16 Jan 2022 22:27:35 +0000 (11:27 +1300)]
Run 'full drupal strictness' standard over api/v3/examples

I just removed all the rules we weren't enforcing cos too-hard from
our drupal code standard & ran phpcbf over the directory. I figure
we aren't really updating these so getting them to what strict phpcs will
tolerate could save time when we next tighten the noose
and if someone ever regenerates them
they can deal with re-running it or improving the tpl

2 years agoMerge pull request #22482 from eileenmcnaughton/token
Seamus Lee [Sun, 16 Jan 2022 22:24:27 +0000 (09:24 +1100)]
Merge pull request #22482 from eileenmcnaughton/token

Add unit test on updateGreeting & remove deprecated fn call

2 years agoRun stricter phpcs on Civi dir
Eileen McNaughton [Sun, 16 Jan 2022 22:21:51 +0000 (11:21 +1300)]
Run stricter phpcs on Civi dir

2 years agoMerge pull request #22520 from colemanw/contactTypeCleanup
Eileen McNaughton [Sun, 16 Jan 2022 21:57:46 +0000 (10:57 +1300)]
Merge pull request #22520 from colemanw/contactTypeCleanup

[REF] - Use CRM_Contact_BAO_ContactType::basicTypes()

2 years agoRemove empty check
Eileen McNaughton [Mon, 10 Jan 2022 01:19:31 +0000 (14:19 +1300)]
Remove empty check

We had to ensure this was always assigned for default modifier so remove the
empty to make it clear it is 'sorted'

2 years agoFix php comments
Eileen McNaughton [Sun, 16 Jan 2022 21:29:09 +0000 (10:29 +1300)]
Fix php comments

As per https://github.com/civicrm/civicrm-core/pull/22515

2 years agoMerge pull request #22524 from braders/contacttype-types
Eileen McNaughton [Sun, 16 Jan 2022 21:22:05 +0000 (10:22 +1300)]
Merge pull request #22524 from braders/contacttype-types

[NFC] Fixes to the type definitions for contactType methods

2 years agoMerge pull request #22525 from braders/remove-charts-colours
colemanw [Sun, 16 Jan 2022 17:37:31 +0000 (12:37 -0500)]
Merge pull request #22525 from braders/remove-charts-colours

[Ref] Remove unused _colours property

2 years agoMerge pull request #22522 from braders/phpdoc-fixes-2
colemanw [Sun, 16 Jan 2022 17:31:26 +0000 (12:31 -0500)]
Merge pull request #22522 from braders/phpdoc-fixes-2

Another set of PHPDoc fixes

2 years agoMerge pull request #22521 from braders/phpdoc-links
colemanw [Sun, 16 Jan 2022 17:28:52 +0000 (12:28 -0500)]
Merge pull request #22521 from braders/phpdoc-links

Fix more phpdoc comments in member links functions

2 years agoREF - Use CRM_Contact_BAO_ContactType::basicTypes() instead of hardcoded lists
Coleman Watts [Sun, 16 Jan 2022 04:23:27 +0000 (23:23 -0500)]
REF - Use CRM_Contact_BAO_ContactType::basicTypes() instead of hardcoded lists

2 years agoMerge pull request #22518 from colemanw/cleanupBadCode
demeritcowboy [Sun, 16 Jan 2022 14:52:39 +0000 (09:52 -0500)]
Merge pull request #22518 from colemanw/cleanupBadCode

Remove unreachable, nonsensical code

2 years agoMerge pull request #22515 from eileenmcnaughton/phpcs
demeritcowboy [Sun, 16 Jan 2022 14:38:05 +0000 (09:38 -0500)]
Merge pull request #22515 from eileenmcnaughton/phpcs

Fix php comments

2 years agoMerge pull request #22442 from demeritcowboy/tests-22429
demeritcowboy [Sun, 16 Jan 2022 14:30:48 +0000 (09:30 -0500)]
Merge pull request #22442 from demeritcowboy/tests-22429

Unit tests for 22429 and apply same treatment to other money format functions

2 years ago[Ref] Remove unused _colours property
Bradley Taylor [Sun, 16 Jan 2022 13:59:07 +0000 (13:59 +0000)]
[Ref] Remove unused _colours property

2 years ago[NFC] Fixes to the type definitions for contactType methods
Bradley Taylor [Sun, 16 Jan 2022 13:42:05 +0000 (13:42 +0000)]
[NFC] Fixes to the type definitions for contactType methods

2 years agoAnother set of PHPDoc fixes
Bradley Taylor [Sun, 16 Jan 2022 12:00:50 +0000 (12:00 +0000)]
Another set of PHPDoc fixes

2 years agoFix more phpdoc comments in member links functions
Bradley Taylor [Sun, 16 Jan 2022 11:08:04 +0000 (11:08 +0000)]
Fix more phpdoc comments in member links functions

2 years agoFix php comments
Eileen McNaughton [Sat, 15 Jan 2022 19:24:37 +0000 (08:24 +1300)]
Fix php comments

This commit contains 14 files worth of changes from the following steps

1) install https://github.com/civicrm/coder.git
2) comment out <rule ref=Drupal.Commenting.FunctionComment.IncorrectParamVarName><severity>0</severity></rule>
3) run phpcbf --standard=Drupal

This follows on from efforts from @braders - there are not many
instances (although I kept the comment small) and we could fairly easily get rid of them
all and enable that rule in CI - which would lift the bar a little

2 years agoMerge pull request #22497 from eileenmcnaughton/mem_ids
colemanw [Sun, 16 Jan 2022 02:30:55 +0000 (21:30 -0500)]
Merge pull request #22497 from eileenmcnaughton/mem_ids

Test cleanup - remove direct calls to BAO_Membership::add

2 years agoMove deprecated function back to the only class that calls it
Eileen McNaughton [Sat, 15 Jan 2022 19:44:14 +0000 (08:44 +1300)]
Move deprecated function back to the only class that calls it

This function is only called from the importer (in core) - copy back there & noisily
deprecate (one known extension usage).

Note that I removed 2 parts of it in the copy back that are unreachable
as only specific params are passed in we know they don't include
case & always include skipRecent

https://github.com/civicrm/civicrm-core/blob/5484728757de4c85d44305a92bfa2aa35351fbce/CRM/Contact/Import/Parser/Contact.php#L880-L887

2 years agoMerge pull request #22516 from eileenmcnaughton/legacy2
Eileen McNaughton [Sun, 16 Jan 2022 02:11:39 +0000 (15:11 +1300)]
Merge pull request #22516 from eileenmcnaughton/legacy2

Merge function back into parent function

2 years agoRemove unused frozen form blocks
Coleman Watts [Sat, 15 Jan 2022 20:40:37 +0000 (15:40 -0500)]
Remove unused frozen form blocks

These blocks appear to be unused because these forms are never displayed in frozen "view" mode.
If they were in use they would be broken because the urls are incorrectly output raw
instead of being properly passed to `CRM_Utils_System::url()`.

2 years agoRemove unreachable, nonsensical code
Coleman Watts [Sat, 15 Jan 2022 20:32:18 +0000 (15:32 -0500)]
Remove unreachable, nonsensical code

This block of code appears to be unreachable, because the contribution page
wizard is never frozen in "view" mode.
If it were reachable, it would do nothing sensible, as the button would link
to a completely unrelated page (configure custom data) and the link would be
broken because it is incorrectly bypassing `CRM_Utils_System::url()`.

2 years agoMerge function back into parent function
Eileen McNaughton [Fri, 14 Jan 2022 18:41:47 +0000 (07:41 +1300)]
Merge function back into parent function

It isn't a logical separation of responsibility & doesn't reduce code

2 years agoMerge pull request #22514 from braders/feature/report-statistics-docblock
colemanw [Sat, 15 Jan 2022 17:57:18 +0000 (12:57 -0500)]
Merge pull request #22514 from braders/feature/report-statistics-docblock

Add type to phpdoc comment for report statistic function

2 years agoMerge pull request #22513 from braders/phpdoc-self
colemanw [Sat, 15 Jan 2022 17:56:32 +0000 (12:56 -0500)]
Merge pull request #22513 from braders/phpdoc-self

Update phpdoc references to $self to include type

2 years agoAdd type to phpdoc comment for report statistic function
Bradley Taylor [Sat, 15 Jan 2022 11:29:31 +0000 (11:29 +0000)]
Add type to phpdoc comment for report statistic function

2 years agoUpdate phpdoc references to $self to include type
Bradley Taylor [Sat, 15 Jan 2022 11:21:09 +0000 (11:21 +0000)]
Update phpdoc references to $self to include type

2 years agoMerge pull request #22512 from colemanw/weightTest
Seamus Lee [Sat, 15 Jan 2022 04:03:00 +0000 (15:03 +1100)]
Merge pull request #22512 from colemanw/weightTest

[test] - Add test coverage for adjusting custom group weights

2 years ago[test] - Add test coverage for adjusting custom group weights
Coleman Watts [Sat, 15 Jan 2022 00:20:01 +0000 (19:20 -0500)]
[test] - Add test coverage for adjusting custom group weights

2 years agoMerge pull request #22471 from eileenmcnaughton/noticesm
demeritcowboy [Fri, 14 Jan 2022 23:57:49 +0000 (18:57 -0500)]
Merge pull request #22471 from eileenmcnaughton/noticesm

Enotice fixes

2 years agoMerge pull request #22505 from colemanw/fixSelect2Collapsible
demeritcowboy [Fri, 14 Jan 2022 22:24:06 +0000 (17:24 -0500)]
Merge pull request #22505 from colemanw/fixSelect2Collapsible

Select2 - Fix auto-expanding collapsible optgroups for multi-selects

2 years agoMerge pull request #22511 from totten/master-ref-getEntityRefMetadata
Seamus Lee [Fri, 14 Jan 2022 22:04:37 +0000 (09:04 +1100)]
Merge pull request #22511 from totten/master-ref-getEntityRefMetadata

(REF) CRM_Core_Resources - Limit visibility of `getEntityRefMetadata`

2 years agotests for 22429 and apply same treatment to other functions
demeritcowboy [Mon, 10 Jan 2022 00:25:07 +0000 (19:25 -0500)]
tests for 22429 and apply same treatment to other functions

2 years agoMerge pull request #22509 from braders/phpdoc-fixes
Tim Otten [Fri, 14 Jan 2022 20:46:11 +0000 (12:46 -0800)]
Merge pull request #22509 from braders/phpdoc-fixes

Various phpdoc fixes

2 years agoMerge pull request #22510 from eileenmcnaughton/legacy2
Tim Otten [Fri, 14 Jan 2022 20:44:42 +0000 (12:44 -0800)]
Merge pull request #22510 from eileenmcnaughton/legacy2

(REF) ContactUtils - Rename local variables

2 years ago(REF) CRM_Core_Resources - Limit visibility of `getEntityRefMetadata`
Tim Otten [Fri, 14 Jan 2022 19:54:51 +0000 (11:54 -0800)]
(REF) CRM_Core_Resources - Limit visibility of `getEntityRefMetadata`

Before
------

* `CRM_Core_Resources::getEntityRefMetadata()` is nominally `public`.
* The only callers are within `CRM_Core_Resources` and `CRM_Core_ResourcesTest`.
* It seems likely that the method was `public` to support that unit-test.
* This seems like a weird place for the method to live.

After
------

* `CRM_Core_Resources::getEntityRefMetadata()` no longer `public`.
* The method is still in a weird place, but at least no one will expect it to remain there.

2 years agoMerge pull request #22506 from colemanw/cleanupRes
Tim Otten [Fri, 14 Jan 2022 19:53:45 +0000 (11:53 -0800)]
Merge pull request #22506 from colemanw/cleanupRes

[REF] CoreResources - Simplify disabled component check

2 years agoVarious phpdoc fixes
Bradley Taylor [Fri, 14 Jan 2022 18:35:10 +0000 (18:35 +0000)]
Various phpdoc fixes

2 years agoRename variable
Eileen McNaughton [Fri, 14 Jan 2022 18:34:35 +0000 (07:34 +1300)]
Rename variable

2 years ago[REF] CoreResources - Simplify disabled component check
Coleman Watts [Fri, 14 Jan 2022 15:17:43 +0000 (10:17 -0500)]
[REF] CoreResources - Simplify disabled component check

Now that component DAOs have a COMPONENT defined, checks like this are much easier.

2 years agoSelect2 - Fix auto-expanding collapsible optgroups for multi-selects
Coleman Watts [Fri, 14 Jan 2022 14:40:11 +0000 (09:40 -0500)]
Select2 - Fix auto-expanding collapsible optgroups for multi-selects

Fixes dev/core#3032

2 years agoMerge pull request #22495 from eileenmcnaughton/fin2
colemanw [Fri, 14 Jan 2022 14:11:47 +0000 (09:11 -0500)]
Merge pull request #22495 from eileenmcnaughton/fin2

Move permission checks from Query & BAO to financialacl extension

2 years agoMerge pull request #22491 from eileenmcnaughton/legacy2
colemanw [Fri, 14 Jan 2022 14:06:37 +0000 (09:06 -0500)]
Merge pull request #22491 from eileenmcnaughton/legacy2

Rationalise relationship validation

2 years agoMerge pull request #22503 from totten/master-pipe-nfc
Eileen McNaughton [Fri, 14 Jan 2022 04:45:47 +0000 (17:45 +1300)]
Merge pull request #22503 from totten/master-pipe-nfc

(NFC) Civi::pipe - Swap various quotes

2 years agoMerge pull request #22501 from mattwire/alterdisplayname
Eileen McNaughton [Fri, 14 Jan 2022 04:45:37 +0000 (17:45 +1300)]
Merge pull request #22501 from mattwire/alterdisplayname

NFC: Clean up description for alterDisplayName hook

2 years ago(NFC) Civi::pipe - Swap various quotes
Tim Otten [Fri, 14 Jan 2022 03:00:11 +0000 (19:00 -0800)]
(NFC) Civi::pipe - Swap various quotes

These are just some double-quoted PHP strings that need double-quotes.

2 years agoMerge pull request #22262 from totten/master-pipe
Eileen McNaughton [Fri, 14 Jan 2022 01:40:41 +0000 (14:40 +1300)]
Merge pull request #22262 from totten/master-pipe

Civi::pipe - Add support for background worker-processes with JSON pipes

2 years agoMerge pull request #22502 from eileenmcnaughton/add_test
Eileen McNaughton [Fri, 14 Jan 2022 01:34:07 +0000 (14:34 +1300)]
Merge pull request #22502 from eileenmcnaughton/add_test

Port test form earlier PR

2 years agoMerge pull request #22343 from totten/master-gencode-mailqueue
Seamus Lee [Thu, 13 Jan 2022 22:38:31 +0000 (09:38 +1100)]
Merge pull request #22343 from totten/master-gencode-mailqueue

MailingEventQueue - Use consistent CamelCaseName. Prevent conflicts.

2 years agoPort test form earlier PR
Eileen McNaughton [Thu, 13 Jan 2022 22:31:38 +0000 (11:31 +1300)]
Port test form earlier PR

The test from this PR is now passing

https://github.com/civicrm/civicrm-core/pull/20095

So, I've rescued the test & cleaned up the class - assume
an interim fix addressed the bug

2 years agoCivi::pipe - Comply with newer `authx_login()` contract. Declare flow names.
Tim Otten [Thu, 13 Jan 2022 21:36:20 +0000 (13:36 -0800)]
Civi::pipe - Comply with newer `authx_login()` contract. Declare flow names.

1. The original Civi::pipe() patch was built on a draft version of `authx_login()`. The
   signature changed during review.
2. The original Civi::pipe() patch hacked the `flow` name - ie it used the
   flow name `xheader` even though it wasn't HTTP-based. Now, it
   uses either the existing `script` flow (for trusted/backend/principal-asserted runtimes)
   or the new `pipe` flow (for untrusted/credential-based runtimes).

2 years agoClean up description for alterDisplayName hook
Matthew Wire [Thu, 13 Jan 2022 21:30:50 +0000 (21:30 +0000)]
Clean up description for alterDisplayName hook

2 years agoMerge pull request #22355 from colemanw/searchKitAddJoins
Eileen McNaughton [Thu, 13 Jan 2022 21:28:46 +0000 (10:28 +1300)]
Merge pull request #22355 from colemanw/searchKitAddJoins

SearchKit - Enable joins for custom fields and option groups

2 years agoCivi::pipe - Flip default for $apiError from `array` to `exception`
Tim Otten [Thu, 16 Dec 2021 00:11:34 +0000 (16:11 -0800)]
Civi::pipe - Flip default for $apiError from `array` to `exception`

My initial use-case will likely benefit from `array`; however, for bespoke
code that works with a pipe, the `exception` is probably easier.

2 years ago(REF) Civi::pipe() - Add authentication tests to AllFlowsTest
Tim Otten [Wed, 15 Dec 2021 22:36:18 +0000 (14:36 -0800)]
(REF) Civi::pipe() - Add authentication tests to AllFlowsTest

2 years ago(REF) Civi::pipe - Extract `BasicPipeClient` from `CliRunnerTest`.
Tim Otten [Wed, 15 Dec 2021 22:21:48 +0000 (14:21 -0800)]
(REF) Civi::pipe - Extract `BasicPipeClient` from `CliRunnerTest`.

Make it is easier to use in other tests.

2 years ago(REF) Civi::pipe - Add test coverage for interaction of (un)trusted & checkPermissions
Tim Otten [Wed, 15 Dec 2021 09:41:18 +0000 (01:41 -0800)]
(REF) Civi::pipe - Add test coverage for interaction of (un)trusted & checkPermissions

2 years ago(REF) Civi::pipe - Tighten up docblocks and type-hints
Tim Otten [Wed, 15 Dec 2021 08:22:22 +0000 (00:22 -0800)]
(REF) Civi::pipe - Tighten up docblocks and type-hints

2 years agoCivi::pipe - Convet from service-registry to negotation-flags
Tim Otten [Wed, 15 Dec 2021 07:47:00 +0000 (23:47 -0800)]
Civi::pipe - Convet from service-registry to negotation-flags

How will the protocol evolve? This changes the planned mechanism that will allow evoluation.

_Previous/Original_: Protocol had a version number.

_Previous/Interm_: Any change to the protocol requires registering a new service.  New
connections must strictly choose between one service XOR another service.

_Now_: Any change to the protocol requires defining a flag.  There is a list
of default flags, but callers may request alternative flags.  The header
line indicates success or failure of these flags.

Comment: Handy characteristics of this design:

* Default info is generally more useful and skimmable.
* Addresses the current trusted/untrusted flag.
* Expands the default info to include (1) CiviCRM version and (2) whether logins are allowed.
* Allows augmenting or replacing jsonrpc-2.0 (if we don't like it).
* The `Civi::pipe()` shell statements remain pithy - even if they require extra flags.

2 years ago(NFC) JsonRpc
Tim Otten [Wed, 15 Dec 2021 06:27:48 +0000 (22:27 -0800)]
(NFC) JsonRpc

2 years agoCivi::pipe - Introduce `$trusted` flag and `$apiCheckPermissions` option
Tim Otten [Wed, 15 Dec 2021 06:11:43 +0000 (22:11 -0800)]
Civi::pipe - Introduce `$trusted` flag and `$apiCheckPermissions` option

* `bool $trusted` is an immutable property of the session that determines whether you
  can request special operations like:
    * Bypassing API permissions
    * Setting the active user without credentials

* `bool $apiCheckPermissions` is a convenience option for `api3` and `api4`.
  This toggles the default value of `checkPermissions` / `check_permissions`
  on API calls.  (It is only applicable to trusted sessions.)

2 years agoCivi::pipe - Comply more strictly with JSON-RPC v2.0. Don't allow scalar `params`.
Tim Otten [Wed, 15 Dec 2021 06:23:30 +0000 (22:23 -0800)]
Civi::pipe - Comply more strictly with JSON-RPC v2.0. Don't allow scalar `params`.

2 years ago(REF) Civi::pipe - Rename JsonRpcSession to PipeSession
Tim Otten [Wed, 15 Dec 2021 05:13:48 +0000 (21:13 -0800)]
(REF) Civi::pipe - Rename JsonRpcSession to PipeSession

Not supporting multiple session types

2 years agoCivi::pipe - Extract class JsonRpc
Tim Otten [Wed, 15 Dec 2021 05:10:15 +0000 (21:10 -0800)]
Civi::pipe - Extract class JsonRpc

2 years agoCivi::pipe - Remove BasicJsonSession
Tim Otten [Wed, 15 Dec 2021 03:43:13 +0000 (19:43 -0800)]
Civi::pipe - Remove BasicJsonSession

2 years agoCivi::pipe - Rename maxLines to bufferSize
Tim Otten [Wed, 15 Dec 2021 03:33:47 +0000 (19:33 -0800)]
Civi::pipe - Rename maxLines to bufferSize

2 years agoCivi::pipe - Define option `apiError`
Tim Otten [Wed, 15 Dec 2021 01:53:09 +0000 (17:53 -0800)]
Civi::pipe - Define option `apiError`

This option balances two interests:

- For generic plumbing code, it's easier to keep the API errors in their canonical format.
- For bespoke JSON-RPC client code, it's easier to bind errors into JSON-RPC errors. This way
  downstream clients can adapt the errors to their own convention (PHP exceptions, JS exceptions,
  promise-failures, ad nauseum)

2 years agoCivi::pipe - Add top-level facade. Add E2E test.
Tim Otten [Wed, 15 Dec 2021 00:38:00 +0000 (16:38 -0800)]
Civi::pipe - Add top-level facade. Add E2E test.

2 years agoCivi::pipe - JSON-RPC 2.0 session
Tim Otten [Wed, 15 Dec 2021 00:39:01 +0000 (16:39 -0800)]
Civi::pipe - JSON-RPC 2.0 session

2 years agoCivi::pipe - Basic JSON session
Tim Otten [Wed, 15 Dec 2021 00:37:38 +0000 (16:37 -0800)]
Civi::pipe - Basic JSON session

2 years agoCivi::pipe - Add some initial utilities
Tim Otten [Wed, 15 Dec 2021 00:34:56 +0000 (16:34 -0800)]
Civi::pipe - Add some initial utilities

2 years agoMailingEventQueue - Use consistent short/camel-name.
Tim Otten [Thu, 30 Dec 2021 03:35:29 +0000 (21:35 -0600)]
MailingEventQueue - Use consistent short/camel-name.

Unchanged
---------

* XML: `xml/schema/Mailing/Event/Queue.xml`
* DAO: `CRM/Mailing/Event/DAO/Queue.php`
* BAO: `CRM/Mailing/Event/BAO/Queue.php`
* APIv3: `api/v3/MailingEventQueue.php`

Changes: Before
---------------

* TLDR: Inconsistent mix of `MailingEventQueue` and `Queue`
* `AllCoreTables` lists the short/CamelCaseName as `Queue`, which
  does not match the APIv3 name (`api/v3/MailingEventQueue.php`).
* When formatting results for `MailingEventQueue.create`, it
  uses `_civicrm_api3_basic_create(...'Queue')`. Again, that
  name does not match `api/v3/MailingEventQueue.php`.
  (Substantively, this means that it may call `Queue.getfields`
  to read extra metadata. But this returns an empty list...)

Changes: After
---------------

* TLDR: Consistent use of `MailingEventQueue`
* `AllCoreTables` lists the short/CamleCaseName as `MailingEventQueue`
  which does match the `api/v3/MailingEventQueue.php`
* When formatting results for `MailingEventQueue.create`, it
  uses `_civicrm_api3_basic_create(...'MailingEventQueue')`.
  This matches. (Substantively, this means that it may call `MailingEventQueue.getfields`
  to read extra metadata. As before, this returns an empty list...)

Comments
--------

In reconciling the conflicted names, I looked at both APIv3 and APIv4.
APIv4 does not expose an entity for this; so the Before+After ocuses on APIv3.

2 years agoGenCode - Allow overriding the short entity name
Tim Otten [Thu, 30 Dec 2021 03:25:21 +0000 (21:25 -0600)]
GenCode - Allow overriding the short entity name

Before
------

The short entity-name must always be an exact match to the _last_ part of the class-name.

Ex: The class `CRM_Mailing_Event_BAO_Queue` has short entity-name of `Queue`.
This will cause a conflict if any other subsystem has a class ending in `Queue`
(eg `CRM_Contribute_BAO_Queue` or `CRM_Queue_Queue`).

After
-----

By default, the short entity-name matches the last part of the class-name.

But this can be overridden in `xml/schema/*`, eg

```xml
<table>
  <base>CRM/Mailing/Event</base>
  <class>Queue</class>
  <entity>MailingEventQueue</entity>
```

Comments
---------

To see that this change is generally safe (ie does not impact existing entity), I force-regenereated all DAOs

```
GENCODE_FORCE=1 ./bin/setup.sh -g
```

This produced no substantive change in existing DAOs -- because they do not have the `<entity>` tag.

2 years agoMove permission checks from Query & BAO to financialacl extension
Eileen McNaughton [Thu, 13 Jan 2022 00:52:14 +0000 (13:52 +1300)]
Move permission checks from Query & BAO to financialacl extension

2 years agoClean up buildPermissionedWhereClause
Eileen McNaughton [Thu, 13 Jan 2022 00:27:44 +0000 (13:27 +1300)]
Clean up buildPermissionedWhereClause

2 years agoRationalise relationship validation
Eileen McNaughton [Wed, 12 Jan 2022 21:32:13 +0000 (10:32 +1300)]
Rationalise relationship validation

The previous relationship validation was
1) throw a message is no valid employer relationship - this seems to be done
in a place that would make the site unusable I've centralised this check into a
cached function that gets the id & throws the exception & is used from
places previously fetching it (there is one that
didn't throw an exception previously but I think enough places did
that extending to that place would not break the site any more if it didn't exist

2) complicated look up to determine if the contact types match the relationship's
expectations. Since we already know the relationship's expectations we
can simplify this to just check contact a is an individual and b is an org which is
much more reasonable. It doesn;t seem like this would ever actually be false so
I added a deprecation to be a bit vocal if it is

2 years agoFunction to get employer relationship type id
Eileen McNaughton [Sat, 8 Jan 2022 00:28:39 +0000 (13:28 +1300)]
Function to get employer relationship type id

2 years agoMerge pull request #22496 from civicrm/5.46
Eileen McNaughton [Thu, 13 Jan 2022 05:29:37 +0000 (18:29 +1300)]
Merge pull request #22496 from civicrm/5.46

5.46

2 years agoMerge pull request #22443 from eileenmcnaughton/download
colemanw [Thu, 13 Jan 2022 03:27:14 +0000 (22:27 -0500)]
Merge pull request #22443 from eileenmcnaughton/download

Remove support for deprecated key

2 years agoMerge pull request #22485 from eileenmcnaughton/ab
colemanw [Thu, 13 Jan 2022 03:25:39 +0000 (22:25 -0500)]
Merge pull request #22485 from eileenmcnaughton/ab

Fully remove contactAB function

2 years agoMerge pull request #22498 from eileenmcnaughton/mem_act
colemanw [Thu, 13 Jan 2022 03:24:55 +0000 (22:24 -0500)]
Merge pull request #22498 from eileenmcnaughton/mem_act

Don't default membership type create to inactive

2 years agoMerge pull request #22464 from colemanw/extRequirementCheck
Eileen McNaughton [Thu, 13 Jan 2022 02:08:56 +0000 (15:08 +1300)]
Merge pull request #22464 from colemanw/extRequirementCheck

Extensions - Add dependency status check

2 years agoTest cleanup - remove direct calls to BAO_Membership::add
Eileen McNaughton [Thu, 13 Jan 2022 01:45:49 +0000 (14:45 +1300)]
Test cleanup - remove direct calls to BAO_Membership::add