Seamus Lee [Tue, 20 Jul 2021 02:50:20 +0000 (12:50 +1000)]
Merge pull request #20906 from eileenmcnaughton/api4
Add test & fix for failing OR clause in apv4
Seamus Lee [Tue, 20 Jul 2021 01:26:31 +0000 (11:26 +1000)]
Merge pull request #20900 from colemanw/angularTraits
[REF] Refactor SearchKit displays to inherit traits from a common base
Eileen McNaughton [Tue, 20 Jul 2021 01:14:30 +0000 (13:14 +1200)]
Add test for failing OR clause
This fails because when the field is being concatenated like
`a`.`first_name`='x' OR`a`.`last_name`='x'
The lack of a space between OR and `a` is fugly but it
is parsed by mysql. However, when the value requires utf8mb4
to be supported to do the comparison it returns '0=1' if the
database does not support utf8mb (or it thinks it doesn't per
0 = 1 OR0 = 1
Seamus Lee [Mon, 19 Jul 2021 23:43:28 +0000 (09:43 +1000)]
Merge pull request #20870 from totten/master-tokensmarty
(REF) Extract TokenSmarty::render() from MessageTemplate::renderMessageTemplate()
Seamus Lee [Mon, 19 Jul 2021 23:43:13 +0000 (09:43 +1000)]
Merge pull request #20895 from demeritcowboy/test-upper
[NFC/Unit test] - Test for #20892 - New smarty plugin crmUpper
Seamus Lee [Mon, 19 Jul 2021 22:51:23 +0000 (08:51 +1000)]
Merge pull request #20887 from demeritcowboy/lazytests
[NFC/Unit test] ReportTemplateTest - fix tests that assume setup from a separate test
demeritcowboy [Mon, 19 Jul 2021 21:35:30 +0000 (17:35 -0400)]
Merge pull request #20892 from seamuslee001/utf8mb4_smarty_upper
[REF] Add in smarty modifier to replcae the upper smarty modifier to …
demeritcowboy [Mon, 19 Jul 2021 21:31:55 +0000 (17:31 -0400)]
Merge pull request #20902 from colemanw/testNoNewOptionGroups
APIv4 - Add test to ensure superfluous option groups are not created
colemanw [Mon, 19 Jul 2021 19:56:39 +0000 (15:56 -0400)]
Merge pull request #20901 from demeritcowboy/fix-api4test
[NFC/Unit test] dev/core#2699 - Fix intermittent api4 test (part 1)
Coleman Watts [Mon, 19 Jul 2021 17:47:45 +0000 (13:47 -0400)]
APIv4 - Add test to ensure superfluous option groups are not created
demeritcowboy [Mon, 19 Jul 2021 16:37:50 +0000 (12:37 -0400)]
fix intermittent api4 test
Coleman Watts [Mon, 19 Jul 2021 03:58:21 +0000 (23:58 -0400)]
Refactor SearchKit displays to inherit traits from a common base
This refactors searchDisplayUtils to searchDisplayBaseTrait service,
which acts like a PHP trait, controllers use it via angular.extend().
Matthew Wire [Mon, 19 Jul 2021 14:29:34 +0000 (15:29 +0100)]
Merge pull request #20899 from mattwire/recaptchanotice
Fix PHP notice in recaptcha lib
Matthew Wire [Mon, 19 Jul 2021 14:28:24 +0000 (15:28 +0100)]
Fix PHP notice in recaptcha
demeritcowboy [Mon, 19 Jul 2021 13:58:16 +0000 (09:58 -0400)]
Merge pull request #20897 from yashodha/typo-fix
some typo fixes
colemanw [Mon, 19 Jul 2021 13:24:33 +0000 (09:24 -0400)]
Merge pull request #20875 from totten/master-field-spec
(REF) APIv4 FieldSpec - Extract various traits (Civi\Schema\Traits\*)
Matthew Wire [Mon, 19 Jul 2021 13:06:59 +0000 (14:06 +0100)]
Merge pull request #20601 from kartik1000/pcpshortcode
Added setup pcp page wordpress shortcode
yashodha [Mon, 19 Jul 2021 11:28:32 +0000 (16:58 +0530)]
some typo fixes
Seamus Lee [Mon, 19 Jul 2021 09:23:19 +0000 (19:23 +1000)]
Merge pull request #20869 from eileenmcnaughton/acl3
[REF] Fix functions to be protected
Seamus Lee [Mon, 19 Jul 2021 04:06:29 +0000 (14:06 +1000)]
Merge pull request #20880 from colemanw/searchKitTokenSelect
SearchKit - Support all fields as tokens
Seamus Lee [Sun, 18 Jul 2021 23:53:46 +0000 (09:53 +1000)]
Merge pull request #20893 from colemanw/fixAPIComparisonFunctions
APIv4 - Fix and add tests for comparison SQL functions
Seamus Lee [Sun, 18 Jul 2021 23:49:40 +0000 (09:49 +1000)]
Merge pull request #20896 from colemanw/groupConcatOutputValue
APIv4 - Better handling of output value using GROUP_CONCAT
Coleman Watts [Sun, 18 Jul 2021 19:39:14 +0000 (15:39 -0400)]
SearchKit - Allow tokens in link text
Coleman Watts [Fri, 16 Jul 2021 19:09:40 +0000 (15:09 -0400)]
SearchKit - Support all fields as tokens
Previously, only fields present in the SELECT clause could be tokens.
Now the SearchDisplay::Run api will add any fields used as tokens to the SELECT automatically.
Coleman Watts [Fri, 16 Jul 2021 15:06:41 +0000 (11:06 -0400)]
APIv4 Explorer - Fix display of bridge entity fields for symmetric bridge
Symmetric bridge entities such as RelationshipCache which joins Contact to Contact
need to have the second entity id availble to join on.
Coleman Watts [Sun, 18 Jul 2021 17:23:23 +0000 (13:23 -0400)]
APIv4 - Validate number of args passed to SQL functions
Coleman Watts [Sun, 18 Jul 2021 15:16:20 +0000 (11:16 -0400)]
APIv4 - Better handling of output value using GROUP_CONCAT
Seamus Lee [Sun, 18 Jul 2021 04:40:12 +0000 (14:40 +1000)]
Merge pull request #20894 from civicrm/5.40
5.40
demeritcowboy [Sun, 18 Jul 2021 02:32:37 +0000 (22:32 -0400)]
test upper
Seamus Lee [Sun, 18 Jul 2021 02:26:55 +0000 (12:26 +1000)]
Merge pull request #20891 from demeritcowboy/timestamp-update
[NFC/Unit test] - Failing test demonstrating blank timestamp updates
Coleman Watts [Sun, 18 Jul 2021 01:42:29 +0000 (21:42 -0400)]
APIv4 - Fix and add tests for comparison SQL functions
colemanw [Sun, 18 Jul 2021 01:29:00 +0000 (21:29 -0400)]
Merge pull request #20890 from demeritcowboy/ignore-log-upgrade-alt
dev/core#2666 - (Alternate) Don't repeatedly log about crm-l10n.js during upgrade
colemanw [Sun, 18 Jul 2021 01:07:20 +0000 (21:07 -0400)]
Merge pull request #20865 from totten/master-getset-trait
(REF) Civi/Schema - Extract MagicGetterSetterTrait. Add test coverage.
Seamus Lee [Sun, 18 Jul 2021 00:56:51 +0000 (10:56 +1000)]
[REF] Add in smarty modifier to replcae the upper smarty modifier to better handle umlouts / accents
Tim Otten [Sat, 17 Jul 2021 21:20:39 +0000 (14:20 -0700)]
(NFC) AbstractAction - Pithiness
demeritcowboy [Sat, 17 Jul 2021 22:36:12 +0000 (18:36 -0400)]
failing test for timestamp updates
demeritcowboy [Sat, 17 Jul 2021 20:01:21 +0000 (16:01 -0400)]
don't log about missing l10n for every upgrade task
demeritcowboy [Sat, 17 Jul 2021 03:40:39 +0000 (23:40 -0400)]
fix tests that assume setup from a separate test
colemanw [Sat, 17 Jul 2021 03:32:12 +0000 (23:32 -0400)]
Merge pull request #20850 from eileenmcnaughton/int
Use type hinting for id
colemanw [Sat, 17 Jul 2021 01:41:31 +0000 (21:41 -0400)]
Merge pull request #20848 from eileenmcnaughton/dep
Remove deprecated code
colemanw [Sat, 17 Jul 2021 01:40:19 +0000 (21:40 -0400)]
Merge pull request #20853 from eileenmcnaughton/auth
Remove never-true-if
Tim Otten [Tue, 6 Jul 2021 02:37:49 +0000 (19:37 -0700)]
Civi/Schema - Extract MagicGetterSetterTrait. Add test coverage.
colemanw [Sat, 17 Jul 2021 01:07:54 +0000 (21:07 -0400)]
Merge pull request #20881 from eileenmcnaughton/batch2
Remove non-variable variables
Tim Otten [Fri, 16 Jul 2021 21:54:32 +0000 (14:54 -0700)]
Merge pull request #20879 from colemanw/fixOnCrmUiSelect
Fix onCrmUiSelect to use current scope and apply to the digest cycle
Eileen McNaughton [Fri, 16 Jul 2021 20:50:22 +0000 (08:50 +1200)]
Merge pull request #20878 from colemanw/fixSearchKitCount
SearchKit - Fix pager count return value
Eileen McNaughton [Fri, 16 Jul 2021 20:26:25 +0000 (08:26 +1200)]
Remove non-variable variables
Coleman Watts [Fri, 16 Jul 2021 19:11:36 +0000 (15:11 -0400)]
Fix onCrmUiSelect to use current scope and apply to the digest cycle
Evaluates expression in current scope rather than parent scope,
and uses $scope.$apply.
demeritcowboy [Fri, 16 Jul 2021 19:07:03 +0000 (15:07 -0400)]
Merge pull request #20871 from eileenmcnaughton/val
[Ref] Remove never-passed parameter
Coleman Watts [Fri, 16 Jul 2021 16:03:25 +0000 (12:03 -0400)]
SearchKit - Fix pager count return value
colemanw [Fri, 16 Jul 2021 15:10:30 +0000 (11:10 -0400)]
Merge pull request #20874 from eileenmcnaughton/batch
[REF] Remove some non-variable variables
Matthew Wire [Fri, 16 Jul 2021 14:20:42 +0000 (15:20 +0100)]
Merge pull request #20864 from eileenmcnaughton/tok
dev/core#2650 Add support for contribution_status_id to the token processor
demeritcowboy [Fri, 16 Jul 2021 12:06:02 +0000 (08:06 -0400)]
Merge pull request #20801 from eileenmcnaughton/upg
Enotice fix on extensions page
Yashodha Chaku [Fri, 16 Jul 2021 11:26:26 +0000 (16:56 +0530)]
Merge pull request #20873 from eileenmcnaughton/remove_dep
Remove deprecated lines of code
Eileen McNaughton [Fri, 16 Jul 2021 00:59:06 +0000 (12:59 +1200)]
dev/core#2650 Add support for contribution_status_id to the processor
Per https://lab.civicrm.org/dev/core/-/issues/2650 the goal is to get the
token processor (for each entity, in this case contributions) to be processing fields
in the same way as the legacy processor does and for this to be thoroughly tested.
This allows us to expose the token processor classes to message template processing
and use them interchangeably, with an eventual goal of migrating over.
It turns out that althought 'Contribution Status ID' is exposed in the UI
for scheduled reminders it did not work. This left us open to simply add the
token contribution.contribution_status_id and add tests.
Per 2650 the handling of pseudoconstants is inconsistent but our preferred goal
is that they would follow apiv4 style syntax and that the actual field name
would hold the actual field value.
Although the token processor exposes a value 'status' - it seems this is likely never
actually exposed to the user and is probably unused.
We can come back to how to deprecate & remove
Eileen McNaughton [Fri, 16 Jul 2021 10:40:06 +0000 (22:40 +1200)]
Merge pull request #20876 from eileenmcnaughton/cust
Api test cleanup fixes
Eileen McNaughton [Fri, 16 Jul 2021 08:25:01 +0000 (20:25 +1200)]
Api test cleanup fixes
Eileen McNaughton [Fri, 16 Jul 2021 06:52:13 +0000 (18:52 +1200)]
[REF] Remove some non-variable variables
This previously shared function has parameters that are hard set to a specific value.
Most notably pending is set to FALSE - this removes all references to pending from the function
Tim Otten [Mon, 28 Jun 2021 23:57:45 +0000 (16:57 -0700)]
(REF) ConformanceTest - Ensure that field-specs are consistent when converting to/from array
Tim Otten [Fri, 16 Jul 2021 06:37:19 +0000 (23:37 -0700)]
Schema - Add PhpDataTypeSpecTrait
Tim Otten [Fri, 16 Jul 2021 06:36:13 +0000 (23:36 -0700)]
(NFC) FieldSpec - Docblock for $type
Tim Otten [Fri, 16 Jul 2021 06:34:32 +0000 (23:34 -0700)]
(REF) APIv4 FieldSpec - Extract ArrayFormatTrait. Add loadArray().
Tim Otten [Fri, 16 Jul 2021 06:30:04 +0000 (23:30 -0700)]
(REF) APIv4 FieldSpec - Extract OptionsSpecTrait (options, optionsCallback)
Tim Otten [Fri, 16 Jul 2021 06:23:39 +0000 (23:23 -0700)]
(REF) APIv4 FieldSpec - Extract DataTypeSpecTrait (dataType, serialize, fkEntity)
Also: Update `setSerialize()` to accept types a string. This is useful if
the info comes from an annotation.
Tim Otten [Fri, 16 Jul 2021 06:16:01 +0000 (23:16 -0700)]
(REF) APIv4 FieldSpec - Extract SqlSpecTrait (tableName, columnName, operators, sqlRenderer, sqlFilters)
Tim Otten [Fri, 16 Jul 2021 06:12:03 +0000 (23:12 -0700)]
(REF) APIv4 FieldSpec - Extract GuiSpecTrait (label, inputType, inputAttrs, helpPre, helpPost)
Tim Otten [Fri, 16 Jul 2021 06:08:53 +0000 (23:08 -0700)]
(REF) APIv4 FieldSpec - Extract BasicSpecTrait (name, title, description)
Monish Deb [Fri, 16 Jul 2021 06:36:16 +0000 (12:06 +0530)]
Merge pull request #20791 from eileenmcnaughton/batch_renew
[REF] Simplify isRenew handling on batch for membership
Eileen McNaughton [Fri, 16 Jul 2021 06:22:47 +0000 (18:22 +1200)]
Remove deprecated lines of code
Eileen McNaughton [Fri, 16 Jul 2021 05:55:57 +0000 (17:55 +1200)]
[Ref] Remove never-passed parameter
this function is called from only one place & it does not pass in financialTrxnValues
Eileen McNaughton [Fri, 16 Jul 2021 05:23:18 +0000 (17:23 +1200)]
Merge pull request #20820 from eileenmcnaughton/tpl
dev/core#2684 Fix filters tpl in civi reports to permit more than one table in a grouping
Tim Otten [Tue, 6 Jul 2021 06:26:54 +0000 (23:26 -0700)]
(REF) Extract TokenSmarty::render() from MessageTemplate::renderMessageTemplate()
Most Civi message-templates have been written with a hybrid notation based on
mixing tokens (eg `{contact.first_name}`) and Smarty (eg `{$foo}` or
`{if}{/if}`). The notion here is to acknowledge that Token-Smarty is a
distinct/de-facto templating language and provide the kind of `render()` API
that you would expect from any templating language (i.e. "Give me your
template, give me your data, and let me return to you a string!").
```php
$rendered = CRM_Core_TokenSmarty::render($template, $tokenData, $smartyData);
```
None of this is new functionality. It's just a refactoring which extracts
code from `renderMessageTemplate()`, hardens it a bit more, and adds some more
testing.
This is a step toward removing `renderMessageTemplate()`. The problem with
`renderMessageTemplate()` is that only handles `$contactID` -- you can't
pass-through other data to the token layer.
Before
------
* Support `CRM_Core_BAO_MessageTemplate::renderMessageTemplate()`, which accepts
`bool $disableSmarty` and `int $contactID`.
* There is no way to pass other IDs (e.g. activity and contribution IDs) to the
token-processor.
After
-----
* Support `CRM_Core_TokenSmarty::render()`. This largely the same as `renderMessageTemplate()`, except that:
* You're not specifically tied to `subject` or `text` as the template names. The list of message-templates will accept/preserve whatever keys you input (e.g. give it `html`/`text` for current compatibility; or give `msg_html`/`msg_text` to match actual DB fields)
* `bool $disableSmarty` and `int $contactID` are combined into one `array $tokenContext`, which can pass through more fields
* If there's an exception during process, `Smarty->pop()` will still do cleanup (`try/finally`).
* `Smarty->push()` and `Smarty->pop()` only run if needed
* Add test coverage from some of the peculiar ways these notations are mixed.
Eileen McNaughton [Fri, 16 Jul 2021 03:51:13 +0000 (15:51 +1200)]
[REF] Fix functions to be protected
I did some poking around & these function are not called outside the class
Once we can see that we can consider updating to save 0 to the table, allowing
a lot of simplification
Monish Deb [Fri, 16 Jul 2021 02:52:51 +0000 (08:22 +0530)]
Merge pull request #20829 from eileenmcnaughton/order
[REF] Further order api cleanup
colemanw [Fri, 16 Jul 2021 01:20:53 +0000 (21:20 -0400)]
Merge pull request #20863 from eileenmcnaughton/api4
Fix v4 api to do custom field delete in tearDown
Eileen McNaughton [Thu, 15 Jul 2021 22:44:34 +0000 (10:44 +1200)]
Fix v4 api to do custom field delete in tearDown
This existing efforts are wrong because
1) the delete has to go in the tearDown not the clean up
2) it is rigid about the custom group table name - which
will get us into problems as the name can be set and we
should be ensuring that it can in our tests
demeritcowboy [Thu, 15 Jul 2021 21:10:18 +0000 (17:10 -0400)]
Merge pull request #20578 from eileenmcnaughton/admin_data
Give administer CiviCRM data access to administer custom groups
Eileen McNaughton [Fri, 9 Jul 2021 01:46:51 +0000 (13:46 +1200)]
dev/core#2684 Fix filters tpl in civi reports to permit more than one table in a grouping
Eileen McNaughton [Thu, 15 Jul 2021 20:57:34 +0000 (08:57 +1200)]
Merge pull request #20860 from civicrm/5.40
5.40 to master
Eileen McNaughton [Thu, 15 Jul 2021 20:57:05 +0000 (08:57 +1200)]
Merge pull request #20859 from agh1/5.40.0-releasenotes-initial
5.40.0 release notes initial run
Andrew Hunt [Thu, 15 Jul 2021 19:29:30 +0000 (15:29 -0400)]
5.40.0 release notes: added boilerplate
Andrew Hunt [Thu, 15 Jul 2021 19:26:09 +0000 (15:26 -0400)]
5.40.0 release notes: raw from script
Eileen McNaughton [Thu, 15 Jul 2021 01:32:10 +0000 (13:32 +1200)]
Merge pull request #20840 from colemanw/membershipTypeAutoRenewFix
APIv4 - Fix output of membershipType auto_renew field
Eileen McNaughton [Thu, 15 Jul 2021 01:14:48 +0000 (13:14 +1200)]
Merge pull request #20852 from eileenmcnaughton/paypal
[REF] [towards dev/core#2693] Use getter rather than passing variable
Seamus Lee [Thu, 15 Jul 2021 00:51:14 +0000 (10:51 +1000)]
Merge pull request #20849 from civicrm/5.40
5.40
Eileen McNaughton [Thu, 15 Jul 2021 00:32:34 +0000 (12:32 +1200)]
Remove never-true-if
This code is in the recur() function. the lines immediately before this function ensure contribution->contribution_status_id
is unset if it is 1 - meaning this if can never be true
Eileen McNaughton [Thu, 15 Jul 2021 00:24:33 +0000 (12:24 +1200)]
Merge pull request #20847 from eileenmcnaughton/ref
Minor simplification - use casting
colemanw [Thu, 15 Jul 2021 00:18:27 +0000 (20:18 -0400)]
Merge pull request #20718 from eileenmcnaughton/ipn
[REF] Minor auth.net ipn simplification
Eileen McNaughton [Thu, 15 Jul 2021 00:07:28 +0000 (12:07 +1200)]
Merge pull request #20844 from demeritcowboy/report-rectype
dev/core#2691 - On logging detail civireport show words instead of numbers
Eileen McNaughton [Wed, 14 Jul 2021 23:47:43 +0000 (11:47 +1200)]
[REF] Use getter rather than passing variable
txnType is a required parameter for recurring & unused for single. This switches to retrieving
it as needed rather than passing it around. It removes one check for whether it is
set because the abort will exit if not
Eileen McNaughton [Wed, 14 Jul 2021 22:45:21 +0000 (10:45 +1200)]
Use type hinting for id
This clarifies that the id must be an integer (0 for anonymous)
Function is only called from one place
Seamus Lee [Wed, 14 Jul 2021 22:41:09 +0000 (08:41 +1000)]
Merge pull request #20846 from colemanw/fixCkEditorExtension
CKEditor - Fix .tpl insertion on every form
Eileen McNaughton [Wed, 14 Jul 2021 22:40:02 +0000 (10:40 +1200)]
Remove deprecated code
We deprecated NOT passing an id into the function in 2018 - this removes
Note I double checked - if you pass in '2' to a strict casting of int
it accepts it and casts to int
Eileen McNaughton [Wed, 14 Jul 2021 22:30:15 +0000 (10:30 +1200)]
Minor simplification
Eileen McNaughton [Wed, 14 Jul 2021 20:12:36 +0000 (08:12 +1200)]
Merge pull request #20843 from demeritcowboy/smartyreptable
Smarty notices - Missing type on logging civireport
colemanw [Wed, 14 Jul 2021 18:52:35 +0000 (14:52 -0400)]
Merge pull request #20768 from eileenmcnaughton/mem_type_acl
dev/core#2115 Switch membership type browse page to use v4api for get, thus using acls properly
Coleman Watts [Wed, 14 Jul 2021 18:45:58 +0000 (14:45 -0400)]
CKEditor - Fix .tpl insertion on every form
colemanw [Wed, 14 Jul 2021 18:28:13 +0000 (14:28 -0400)]
Merge pull request #20842 from in2part/add-to-contributors-file
Add to contributors file
colemanw [Wed, 14 Jul 2021 18:27:29 +0000 (14:27 -0400)]
Merge pull request #20821 from colemanw/afformBeta
Mark afform extensions as beta
Coleman Watts [Tue, 13 Jul 2021 14:44:29 +0000 (10:44 -0400)]
APIv4 - Fix output of membershipType auto_renew field.
The field had been declared a "boolean" in the schema, which at a SQL level
is exactly the same as "tinyint" but it was resulting in incorrect API output.
demeritcowboy [Wed, 14 Jul 2021 15:32:11 +0000 (11:32 -0400)]
show words instead of numbers