Eileen McNaughton [Mon, 19 Jun 2023 00:10:59 +0000 (12:10 +1200)]
Do not generate unshared variable in shared processMessagedTemplate
Eileen McNaughton [Fri, 16 Jun 2023 20:20:47 +0000 (08:20 +1200)]
Merge pull request #26548 from demeritcowboy/upgrade-logging
dev/core#4369 - fix upgrade for logging tables
colemanw [Fri, 16 Jun 2023 20:13:49 +0000 (16:13 -0400)]
Merge pull request #26542 from eileenmcnaughton/except
Add deprecation notice to legacy exception class aliases
colemanw [Fri, 16 Jun 2023 20:09:29 +0000 (16:09 -0400)]
Merge pull request #26486 from eileenmcnaughton/ee
Fix a couple more places to use the new event trait
colemanw [Fri, 16 Jun 2023 19:53:54 +0000 (15:53 -0400)]
Merge pull request #26473 from colemanw/fixListEditable
dev/core#4319 SearchKit - Fix in-place editable in list/grid displays
demeritcowboy [Fri, 16 Jun 2023 18:51:00 +0000 (14:51 -0400)]
Merge pull request #26550 from larssandergreen/Navigation-menu-select-ease-of-use
Improve select for Add Navigation Menu Item > Parent
demeritcowboy [Fri, 16 Jun 2023 17:47:31 +0000 (13:47 -0400)]
Merge pull request #25385 from mattwire/membershippending
Fix don't change membership status when saving a pending membership
Yashodha Chaku [Fri, 16 Jun 2023 17:03:40 +0000 (22:33 +0530)]
Merge pull request #26545 from eileenmcnaughton/sms
Php8-proof SMSCommonTest
Matthew Wire [Fri, 16 Jun 2023 16:08:20 +0000 (17:08 +0100)]
Add test that shows editing Pending membership should stay in Pending
Matthew Wire [Fri, 16 Jun 2023 10:13:40 +0000 (11:13 +0100)]
Check membership status in form tests
Matthew Wire [Thu, 19 Jan 2023 15:55:30 +0000 (15:55 +0000)]
Fix don't change membership status when saving a pending membership
larssandergreen [Fri, 16 Jun 2023 15:08:55 +0000 (09:08 -0600)]
Improve select for Add Navigation Menu Item > Parent
demeritcowboy [Fri, 16 Jun 2023 15:02:54 +0000 (11:02 -0400)]
Merge pull request #26296 from eileenmcnaughton/event_add
Add unit test cover + nl2br for location in event emails
demeritcowboy [Fri, 16 Jun 2023 14:27:28 +0000 (10:27 -0400)]
fix upgrade for logging tables
Aidan Saunders [Fri, 16 Jun 2023 12:39:00 +0000 (13:39 +0100)]
Merge pull request #26547 from artfulrobot/artfulrobot-fix-recurring-event-tpl
Fix missing </table> tag on repeat event change confirm tpl.
colemanw [Fri, 16 Jun 2023 12:21:33 +0000 (08:21 -0400)]
Merge pull request #26536 from colemanw/master-union-setops
APIv4 - Add EntitySet api for set-ops such as UNION
Rich Lott / Artful Robot [Fri, 16 Jun 2023 11:52:32 +0000 (12:52 +0100)]
Fix missing </table> tag on repeat event change confirm tpl.
Aidan Saunders [Fri, 16 Jun 2023 08:39:23 +0000 (09:39 +0100)]
Merge pull request #26282 from colemanw/schemaHandlerFix2
SchemaHandler - Fix nonstandard index capitalization + code cleanup
Eileen McNaughton [Fri, 16 Jun 2023 06:14:44 +0000 (18:14 +1200)]
Php8-proof SMSCommonTest
Tim Otten [Fri, 16 Jun 2023 02:56:34 +0000 (19:56 -0700)]
CRM_Utils_SQL_Select - The default alias for subquery should be more distinctive
1. If you're writing basic SQL from scratch, you would expect the symbol `a` to be available to you
(e.g. for use in column-aliases or join-aliases). It shouldn't be a reserved word.
2. In the case of Api4EntitySetQuery, it's important to use the alias as `a` - because that matches the
rest of the api4 query-building.
Eileen McNaughton [Fri, 16 Jun 2023 03:50:09 +0000 (15:50 +1200)]
Add deprecation notice to legacy exception class aliases
Eileen McNaughton [Fri, 16 Jun 2023 03:42:02 +0000 (15:42 +1200)]
Merge pull request #26537 from colemanw/postPostSelectQuery
APIv4 - Deprecate unused event
Eileen McNaughton [Fri, 9 Jun 2023 06:26:07 +0000 (18:26 +1200)]
Fix a couple more places to use the new event trait
Eileen McNaughton [Fri, 16 Jun 2023 03:38:47 +0000 (15:38 +1200)]
Merge pull request #26111 from adixon/membership-detail-report-4261
Report on the most recent membership contribution, not the oldest
colemanw [Sat, 10 Jun 2023 22:05:32 +0000 (18:05 -0400)]
APIv4 Explorer - Expose entitySets with UNION ALL and UNION DISTINCT
Eileen McNaughton [Mon, 22 May 2023 02:34:27 +0000 (14:34 +1200)]
Add unit test cover for location in event emails
colemanw [Fri, 16 Jun 2023 00:54:02 +0000 (20:54 -0400)]
APIv4 - Deprecate unused event
colemanw [Sat, 20 May 2023 01:09:09 +0000 (21:09 -0400)]
SchemaHandler - Fix nonstandard index names + code cleanup
colemanw [Thu, 15 Jun 2023 21:22:45 +0000 (17:22 -0400)]
APIv4 - Add EntitySet api for set-ops such as UNION
demeritcowboy [Thu, 15 Jun 2023 19:55:07 +0000 (15:55 -0400)]
Merge pull request #26530 from mlutfy/fixCssSiteURL
Fix for domains that have the string .css in them
demeritcowboy [Thu, 15 Jun 2023 19:54:09 +0000 (15:54 -0400)]
Merge pull request #26534 from larssandergreen/Add-additional-message-to-invoice-sent-from-Email-Invoice-form
Add additional message to invoice template if present
colemanw [Wed, 14 Jun 2023 19:27:06 +0000 (15:27 -0400)]
CRM_Utils_SQL_Select - Fix missing derived table alias and add stricter validation
Don't accept sql strings, all sets must be a CRM_Utils_SQL_Select object.
Mathieu Lutfy [Wed, 14 Jun 2023 20:30:11 +0000 (16:30 -0400)]
Fix for domains that have the string .css in them
preg_match is used because we also have to match on items from the
asset builder, which have URL params in the filename.
Example:
[...]q=civicrm%2Fasset%2Fbuilder&an=crm-menubar.css&ad=
9caf2150754dca162f3a
larssandergreen [Thu, 15 Jun 2023 14:28:42 +0000 (08:28 -0600)]
Add additional message to invoice template if present
demeritcowboy [Thu, 15 Jun 2023 13:50:31 +0000 (09:50 -0400)]
Merge pull request #26528 from colemanw/fixDouble
Fix dev/core#4359 doubled Afform fields
demeritcowboy [Thu, 15 Jun 2023 13:24:27 +0000 (09:24 -0400)]
Merge pull request #26533 from larssandergreen/Cleanup-send-invoice-email-form
Cleanup Email Invoice form to remove longest ever field label
Aidan Saunders [Thu, 15 Jun 2023 12:58:01 +0000 (13:58 +0100)]
Merge pull request #26498 from colemanw/skAggregateCurrency
Fix dev/core#4207 - Handle currency symbol in SK aggregates
larssandergreen [Thu, 15 Jun 2023 04:15:09 +0000 (22:15 -0600)]
Cleanup Invoice Email form
Eileen McNaughton [Thu, 15 Jun 2023 01:04:28 +0000 (13:04 +1200)]
Merge pull request #26531 from demeritcowboy/google-prompt
dev/core#2184 - OAUTH - make google always return a refresh token
demeritcowboy [Thu, 15 Jun 2023 00:05:53 +0000 (20:05 -0400)]
use more consent-y prompt for google
Eileen McNaughton [Wed, 14 Jun 2023 22:18:53 +0000 (10:18 +1200)]
Merge pull request #26526 from reflexive-communications/open-tracker-legacy-check
FlexMailer\Listener\OpenTracker: remove deprecated isLegacy check
demeritcowboy [Wed, 14 Jun 2023 22:00:18 +0000 (18:00 -0400)]
Merge pull request #26511 from colemanw/civiGrantTest
[TEST] APIv4 - Include CiviGrant in conformance tests
colemanw [Wed, 14 Jun 2023 18:53:37 +0000 (14:53 -0400)]
Merge pull request #26525 from yashodha/dev-4358
(dev/core#4358) Verbiage changes on Find Groups screen
colemanw [Wed, 14 Jun 2023 16:41:23 +0000 (12:41 -0400)]
Fix dev/core#4359 doubled Afform fields
colemanw [Wed, 14 Jun 2023 16:39:35 +0000 (12:39 -0400)]
Tests - Fix Api4TestTrait to create an option value if needed
Sandor Semsey [Wed, 14 Jun 2023 13:04:05 +0000 (15:04 +0200)]
fix format
Sandor Semsey [Wed, 14 Jun 2023 12:36:27 +0000 (14:36 +0200)]
remove deprecated isLegacy check
yashodha [Wed, 14 Jun 2023 10:08:24 +0000 (15:38 +0530)]
(dev/core#4358) Verbiage changes on Find Groups screen
Tim Otten [Wed, 14 Jun 2023 08:50:23 +0000 (01:50 -0700)]
CRM_Utils_SQL_Select - Allow construction of UNION/INTERSECT with sub-queries
MySQL 5.7 supports "UNION" (which combines the result-sets from two queries). MySQL 8.0
and MariaDB 10.3 expand this more set-operations (eg "INTERSECT", "EXCEPT").
The patch allows CRM_Utils_SQL_Select to construct a range of queries with these
operators.
Before
------
Not supported
After
-----
A few examples:
```php
CRM_Utils_SQL_Select::fromSet()->union([$subQuery1, $subQuery2])
CRM_Utils_SQL_Select::fromSet()
->union($subQuery1)
->union($subQuery2);
CRM_Utils_SQL_Select::fromSet()
->setOp('UNION ALL', [$subQuery1, $subQuery2])
->setOp('EXCEPT', [$subQuery3]);
```
Comments
--------
In these examples, we build one top-level `SELECT` query, and then
use a sub-query to get the UNION/INTERSECT/EXCEPT data. This is not
strictly necessary. (SQL allows set-ops without a top-level SELECT.)
However, this pattern is powerful - because you can freely mix-in
other subclauses (`WHERE`/`GROUP BY`/`HAVING`/etc).
I'm not 100% certain that these signatures are best. Looking at the MySQL
BNF, this is still a bit reductive wrt precedence of the UNION / EXCEPT / INTERSECT
operations. However, `CRM_Utils_SQL_Select` is already reductive about precedence
of WHEREs.
Part of me wanted to model the UNION/setops as a separate object-type
(independent of SELECT) -- and then improve subquery support for SELECT, eg
```
$union = new CRM_Utils_SQL_SetOp('UNION', [$subQuery1, $subQuery2]);
$select = CRM_Utils_SQL_Select::from($union)->where('...');
```
However, in the CiviMail PR that uses UNION, there's an existing `Select`
object where they iteratively mix-in more union clauses. It seems that the
`Select::fromSet()->union()` might be a bit more amenable.
colemanw [Tue, 13 Jun 2023 18:12:47 +0000 (14:12 -0400)]
Merge pull request #26520 from larssandergreen/Don't-add-contact-to-Domain-Group-on-edit
Don't add Contact to Domain Group on edit
colemanw [Tue, 13 Jun 2023 18:00:33 +0000 (14:00 -0400)]
Merge pull request #26519 from larssandergreen/Don't-try-to-add-Contacts-to-Groups-on-Edit
[REF] Don't add Contacts to Groups they are already Added to on Edit
Yashodha Chaku [Tue, 13 Jun 2023 15:27:26 +0000 (20:57 +0530)]
Merge pull request #26502 from larssandergreen/Select2-New-contribution-financial-type
Add select2s for Contribution, etc
larssandergreen [Tue, 13 Jun 2023 14:02:13 +0000 (08:02 -0600)]
Don't add Contact to Domain Group on edit
colemanw [Tue, 13 Jun 2023 13:23:39 +0000 (09:23 -0400)]
Merge pull request #26518 from demeritcowboy/reserved-move
dev/core#4338 - Prevent people from sneakily adding fields to your extension's reserved custom groups by using the Move action
demeritcowboy [Wed, 7 Jun 2023 19:18:04 +0000 (15:18 -0400)]
don't allow moving fields into reserved groups
larssandergreen [Tue, 13 Jun 2023 06:29:07 +0000 (00:29 -0600)]
Don't add Contacts to Groups they are Added to on Edit
Seamus Lee [Tue, 13 Jun 2023 03:08:47 +0000 (13:08 +1000)]
Merge pull request #26517 from demeritcowboy/mystery-index
dev/core#4355 - Fix crash for radio custom fields
demeritcowboy [Tue, 13 Jun 2023 00:57:13 +0000 (20:57 -0400)]
fix crash for radio custom fields
colemanw [Mon, 12 Jun 2023 23:13:02 +0000 (19:13 -0400)]
Merge pull request #26516 from eileenmcnaughton/import_admin2
Add All imports menu item for users with Administer Queues
Eileen McNaughton [Mon, 12 Jun 2023 22:32:23 +0000 (10:32 +1200)]
Add All imports menu item for users with Administer QUeues
This adds the (only just added) search display for 'all imports' to the menu, but
only for users with 'Administer Queues' - for other users they would only see
their own imports, so it would duplicate 'my imports'.
This is useful for site admins etc trying to understand issues their users might be having
with imports.
Note the extension needs to be enabled
colemanw [Mon, 12 Jun 2023 21:04:59 +0000 (17:04 -0400)]
Merge pull request #26514 from larssandergreen/Always-show-implicit-TRUE-Permissions-Check-in-API-4-Explorer
Make implicit TRUE permissions check explicit in API 4 Explorer for PHP
Eileen McNaughton [Mon, 12 Jun 2023 20:25:45 +0000 (08:25 +1200)]
Merge pull request #26515 from civicrm/5.63
5.63
colemanw [Mon, 12 Jun 2023 18:15:15 +0000 (14:15 -0400)]
Merge pull request #26512 from demeritcowboy/regen
regen after 26499 and 26492
larssandergreen [Mon, 12 Jun 2023 17:47:44 +0000 (11:47 -0600)]
Make implicit TRUE permissions check explicit in API 4 Explorer for PHP
colemanw [Mon, 12 Jun 2023 17:44:22 +0000 (13:44 -0400)]
Merge pull request #26513 from colemanw/fixGrantAccess
CiviGrant - Fix error when creating grant without permissions
colemanw [Mon, 12 Jun 2023 16:21:55 +0000 (12:21 -0400)]
CiviGrant - Fix error when creating grant without permissions
When creating a grant with checkPermissions disabled (e.g. via API) the permissions
were getting tripped by the RecentItem create action
demeritcowboy [Mon, 12 Jun 2023 16:19:23 +0000 (16:19 +0000)]
regenerate civicrm_generated
demeritcowboy [Mon, 12 Jun 2023 16:09:01 +0000 (12:09 -0400)]
Merge pull request #26465 from totten/master-test-fetchwith
Smarty - When temporarily setting variable, fix cleanup for previously-undefined values.
demeritcowboy [Mon, 12 Jun 2023 16:08:33 +0000 (12:08 -0400)]
Merge pull request #26506 from larssandergreen/Reduce-PHP-warnings-on-Contribution
Reduce PHP warnings on Contribution
colemanw [Mon, 12 Jun 2023 15:32:44 +0000 (11:32 -0400)]
Merge pull request #26496 from colemanw/afformExposeOperators
Afform - Enable search operators to be exposed on the form
colemanw [Mon, 12 Jun 2023 14:35:02 +0000 (10:35 -0400)]
APIv4 - Include CiviGrant in conformance tests
Yashodha Chaku [Mon, 12 Jun 2023 10:34:42 +0000 (16:04 +0530)]
Merge pull request #26497 from colemanw/apiGuard
Prevent API errors when CiviEvent is disabled
colemanw [Sun, 11 Jun 2023 11:47:31 +0000 (07:47 -0400)]
Merge pull request #26508 from braders/php8.1-getDynamicCharacters
[REF][PHP8.1] Don't pass null to strtoupper in getDynamicCharacters
Bradley Taylor [Sun, 11 Jun 2023 08:01:19 +0000 (09:01 +0100)]
[REF][PHP8.1] Don't pass null to strtoupper in getDynamicCharacters
Tim Otten [Sat, 10 Jun 2023 21:40:06 +0000 (14:40 -0700)]
CrmScopeTest - Use explicit value for default/global example
Before: We rely on default/global value of `x=UNDEFINED` or `x=NULL`.
But this is a bit tempermental.
After: Clear default.
Note: There's a prior commit which adds another test (CRM_Core_SmartyTest)
where the global value is specifically undefined or specifically null.
So that still has coverage.
larssandergreen [Sat, 10 Jun 2023 19:00:38 +0000 (13:00 -0600)]
Reduce PHP warnings on Contribution
colemanw [Sat, 10 Jun 2023 17:11:26 +0000 (13:11 -0400)]
Merge pull request #26503 from larssandergreen/Fix-Financial-Type-status
Expire notifications for Shared Address Contact Delete & Financial Types
colemanw [Sat, 10 Jun 2023 17:04:17 +0000 (13:04 -0400)]
Merge pull request #26504 from braders/findById-return-type
[NFC] Change PHPDoc return type (findById)
Bradley Taylor [Sat, 10 Jun 2023 16:35:58 +0000 (17:35 +0100)]
[NFC] Change PHPDoc return type (findById)
larssandergreen [Sat, 10 Jun 2023 15:54:46 +0000 (09:54 -0600)]
Expire notifications for Shared Address Contact Delete & Financial Type
larssandergreen [Sat, 10 Jun 2023 15:48:14 +0000 (09:48 -0600)]
Add select2s
colemanw [Sat, 10 Jun 2023 13:43:10 +0000 (09:43 -0400)]
Merge pull request #26316 from eileenmcnaughton/import_admin
Add import listing for admins
Eileen McNaughton [Sat, 10 Jun 2023 02:01:32 +0000 (14:01 +1200)]
Merge pull request #26501 from civicrm/5.63
5.63
demeritcowboy [Sat, 10 Jun 2023 00:38:54 +0000 (20:38 -0400)]
Merge pull request #26500 from pradpnayak/hook
wrong hook params
Pradeep Nayak [Fri, 9 Jun 2023 23:53:10 +0000 (00:53 +0100)]
wrong hook params
colemanw [Fri, 9 Jun 2023 23:52:35 +0000 (19:52 -0400)]
Merge pull request #26499 from totten/5.63-init-ext
Component-Extensions - Ensure the initial activation list matches
Tim Otten [Fri, 9 Jun 2023 22:43:17 +0000 (15:43 -0700)]
CRM_Core_Smarty - Fix restoration of undefined values (following temporary assignments)
colemanw [Fri, 9 Jun 2023 22:30:41 +0000 (18:30 -0400)]
Merge pull request #26487 from eileenmcnaughton/notice_part
Fix e-notices on New Participant form, strict smarty
Tim Otten [Fri, 9 Jun 2023 21:47:55 +0000 (14:47 -0700)]
Regenerate `civicrm_generated.mysql`
colemanw [Fri, 9 Jun 2023 21:54:01 +0000 (17:54 -0400)]
Merge pull request #26495 from demeritcowboy/doer2
Add deprecation warning and fix deprecated constructor call (followup to #26398)
Tim Otten [Fri, 9 Jun 2023 21:42:23 +0000 (14:42 -0700)]
regen.sh - Preserve the default component-extensions
The issue is that `civicrm_setting[enable_components]` and
`civicrm_extension` need to be sync'd (as of 5.63+).
But there's a structural asymmetry - when dealing with an empty/default
arrangement, "settings"/"components" will inherit a default activation-list;
but "extensions" start with an empty activation-list.
With this patch, we retain the local-active list of component-extensions.
Hopefully, that matches the default setting...
colemanw [Fri, 9 Jun 2023 21:52:10 +0000 (17:52 -0400)]
Merge pull request #26381 from samuelsov/adminuisearch1
[WIP] civicrm_admin_ui Find contacts replacement
Tim Otten [Fri, 9 Jun 2023 21:37:11 +0000 (14:37 -0700)]
Add default-components to list of default-extensions
Tim Otten [Fri, 9 Jun 2023 21:32:56 +0000 (14:32 -0700)]
(REF) civicrm_extension.sqldata.php - Remove redundant lines
colemanw [Fri, 9 Jun 2023 19:43:52 +0000 (15:43 -0400)]
Fix dev/core#4207 - Handle currency symbol in SK aggregates
demeritcowboy [Fri, 9 Jun 2023 16:28:25 +0000 (12:28 -0400)]
constructor called in a deprecated way
demeritcowboy [Fri, 9 Jun 2023 19:38:19 +0000 (15:38 -0400)]
Revert #26398
Samuel Vanhove [Tue, 30 May 2023 19:04:32 +0000 (15:04 -0400)]
civicrm_admin_ui Find contacts replacement
colemanw [Fri, 9 Jun 2023 19:03:19 +0000 (15:03 -0400)]
Prevent API errors when CiviEvent is disabled
colemanw [Fri, 9 Jun 2023 12:06:13 +0000 (08:06 -0400)]
Afform - Enable search operators to be exposed on the form