civicrm-core.git
2 years agoWordReplacement - Use generic writeRecords/deleteRecords which call hooks
Coleman Watts [Thu, 2 Dec 2021 20:34:08 +0000 (15:34 -0500)]
WordReplacement - Use generic writeRecords/deleteRecords which call hooks

2 years agoOptionGroup - Use standard delete function which calls hooks
Coleman Watts [Thu, 2 Dec 2021 20:01:44 +0000 (15:01 -0500)]
OptionGroup - Use standard delete function which calls hooks

2 years agoContactType - Use standard delete function which calls hooks
Coleman Watts [Thu, 2 Dec 2021 19:42:45 +0000 (14:42 -0500)]
ContactType - Use standard delete function which calls hooks

2 years agoCaseType - Use standard delete function which calls hooks
Coleman Watts [Thu, 2 Dec 2021 16:08:10 +0000 (11:08 -0500)]
CaseType - Use standard delete function which calls hooks

2 years agoMerge pull request #22211 from totten/master-544-fwd
Tim Otten [Fri, 3 Dec 2021 20:34:25 +0000 (12:34 -0800)]
Merge pull request #22211 from totten/master-544-fwd

Merge forward 5.44 => master

2 years agoMerge remote-tracking branch 'origin/5.44' into master-544-fwd
Tim Otten [Fri, 3 Dec 2021 20:06:01 +0000 (12:06 -0800)]
Merge remote-tracking branch 'origin/5.44' into master-544-fwd

2 years agoMerge pull request #22209 from demeritcowboy/reldate
Tim Otten [Fri, 3 Dec 2021 19:35:36 +0000 (11:35 -0800)]
Merge pull request #22209 from demeritcowboy/reldate

[NFC] Fix test failures for testRelativeDateRanges

2 years agoMerge pull request #22210 from MegaphoneJon/optional-before-required
Seamus Lee [Fri, 3 Dec 2021 18:52:06 +0000 (05:52 +1100)]
Merge pull request #22210 from MegaphoneJon/optional-before-required

PHP 8 compat - no optional param before required

2 years agoPHP 8 compat - no optional param before required
Jon Goldberg [Fri, 3 Dec 2021 15:59:11 +0000 (10:59 -0500)]
PHP 8 compat - no optional param before required

2 years agofix strict equality issue
demeritcowboy [Fri, 3 Dec 2021 14:56:37 +0000 (09:56 -0500)]
fix strict equality issue

2 years agoMerge pull request #22206 from totten/5.44-bump0
Tim Otten [Thu, 2 Dec 2021 05:48:42 +0000 (21:48 -0800)]
Merge pull request #22206 from totten/5.44-bump0

5.44.0 - Bump version. Tweak notes.

2 years agoSet version to 5.44.0
Tim Otten [Thu, 2 Dec 2021 05:47:24 +0000 (21:47 -0800)]
Set version to 5.44.0

2 years agorelease-notes/5.44.0.md
Tim Otten [Thu, 2 Dec 2021 05:46:33 +0000 (21:46 -0800)]
release-notes/5.44.0.md

2 years agoMerge pull request #22182 from MegaphoneJon/core-2974
Tim Otten [Thu, 2 Dec 2021 05:43:27 +0000 (21:43 -0800)]
Merge pull request #22182 from MegaphoneJon/core-2974

fixes core#2974, overrides break membership update status when removed

2 years agoMerge pull request #22202 from agh1/5.44.0-releasenotes-final
Tim Otten [Thu, 2 Dec 2021 05:07:23 +0000 (21:07 -0800)]
Merge pull request #22202 from agh1/5.44.0-releasenotes-final

5.44.0 release notes: added late changes

2 years agoMerge pull request #22204 from totten/master-mixin-testall
Tim Otten [Thu, 2 Dec 2021 04:43:25 +0000 (20:43 -0800)]
Merge pull request #22204 from totten/master-mixin-testall

tools/mixin/bin/test-all - Fix guard for EXT_DIR

2 years agotools/mixin/bin/test-all - Fix test for EXT_DIR
Tim Otten [Thu, 2 Dec 2021 03:07:01 +0000 (19:07 -0800)]
tools/mixin/bin/test-all - Fix test for EXT_DIR

There are two slightly different dirs - the example-extension and the extension-container (ie child-dir and parent-dir).
We want to assert that the parent-dir is well-formed, but then use the child-dir.

3 years agoMerge pull request #22176 from eileenmcnaughton/smarty4
Eileen McNaughton [Wed, 1 Dec 2021 23:34:49 +0000 (12:34 +1300)]
Merge pull request #22176 from eileenmcnaughton/smarty4

[Smarty variables] [CiviCase] remove isset from case dashboard

3 years agoMerge pull request #22198 from totten/master-mix-dec-first
colemanw [Wed, 1 Dec 2021 23:26:59 +0000 (18:26 -0500)]
Merge pull request #22198 from totten/master-mix-dec-first

civix#175 - Add support for mixins. Switch core extensions to mixin/setting-php

3 years ago5.44.0 release notes: added late changes
Andie Hunt [Wed, 1 Dec 2021 22:46:35 +0000 (17:46 -0500)]
5.44.0 release notes: added late changes

3 years agoMerge pull request #22173 from colemanw/domainStuff
Eileen McNaughton [Wed, 1 Dec 2021 21:23:42 +0000 (10:23 +1300)]
Merge pull request #22173 from colemanw/domainStuff

APIv4 - Add fixes & tests for domain-specific managed entities

3 years agofixes core#2974, overrides break membership update status when removed
Jon Goldberg [Tue, 30 Nov 2021 20:57:55 +0000 (15:57 -0500)]
fixes core#2974, overrides break membership update status when removed

3 years agoMerge pull request #21751 from mlutfy/fixCurrencies
Eileen McNaughton [Wed, 1 Dec 2021 19:37:26 +0000 (08:37 +1300)]
Merge pull request #21751 from mlutfy/fixCurrencies

dev/financial#184 Fix currency name for Ghana and Belarus

3 years ago[Smarty variables] remove isset from case dashboard
Eileen McNaughton [Tue, 30 Nov 2021 20:09:49 +0000 (09:09 +1300)]
[Smarty variables] remove isset from case dashboard

3 years agoMerge pull request #22185 from eileenmcnaughton/smarty11
Eileen McNaughton [Wed, 1 Dec 2021 19:25:40 +0000 (08:25 +1300)]
Merge pull request #22185 from eileenmcnaughton/smarty11

[Smarty variables] - remove isset

3 years agodev/financial#184 Fix currency name for Ghana and Belarus
Mathieu Lutfy [Mon, 11 Oct 2021 13:04:09 +0000 (09:04 -0400)]
dev/financial#184 Fix currency name for Ghana and Belarus

3 years agoMerge pull request #22179 from eileenmcnaughton/smarty6
Eileen McNaughton [Wed, 1 Dec 2021 09:42:06 +0000 (22:42 +1300)]
Merge pull request #22179 from eileenmcnaughton/smarty6

[Smarty variables]  Fix contribution tab to work with escape by default

3 years agoMerge pull request #22196 from eileenmcnaughton/smarty21
Eileen McNaughton [Wed, 1 Dec 2021 09:26:29 +0000 (22:26 +1300)]
Merge pull request #22196 from eileenmcnaughton/smarty21

[Smarty variables] The last isset....

3 years agomixin/setting-php - Remove unused boilerplate
Tim Otten [Wed, 1 Dec 2021 01:27:28 +0000 (17:27 -0800)]
mixin/setting-php - Remove unused boilerplate

3 years agomixin/setting-php - Convert live settings from `hook_alterSettingsFolder` to `<mixin>`
Tim Otten [Wed, 1 Dec 2021 00:43:26 +0000 (16:43 -0800)]
mixin/setting-php - Convert live settings from `hook_alterSettingsFolder` to `<mixin>`

3 years agomixin/setting-php - Import
Tim Otten [Tue, 30 Nov 2021 22:26:42 +0000 (14:26 -0800)]
mixin/setting-php - Import

3 years agomixin/polyfill.php - Import. Update comments.
Tim Otten [Tue, 30 Nov 2021 22:25:50 +0000 (14:25 -0800)]
mixin/polyfill.php - Import. Update comments.

3 years agotools/mixin - Import. Also, update to run within civicrm-core, and add JUnit output.
Tim Otten [Tue, 30 Nov 2021 20:14:10 +0000 (12:14 -0800)]
tools/mixin - Import. Also, update to run within civicrm-core, and add JUnit output.

3 years agotests/extensions/shimmy/ - Import. Also, update comments for LifecycleTest.
Tim Otten [Sat, 27 Nov 2021 23:13:58 +0000 (17:13 -0600)]
tests/extensions/shimmy/ - Import. Also, update comments for LifecycleTest.

3 years agodistmaker - Include `mixin/*` files
Tim Otten [Tue, 30 Nov 2021 22:33:28 +0000 (14:33 -0800)]
distmaker - Include `mixin/*` files

3 years agocivix#175 - Add support for mixins. Use MixinScanner/MixinLoader and boot-cache.
Tim Otten [Tue, 14 Jul 2020 07:29:07 +0000 (00:29 -0700)]
civix#175 - Add support for mixins. Use MixinScanner/MixinLoader and boot-cache.

Overview
--------

(NOTE: For this description, I reference the term "API" in the general sense of a programmatic interface -- such as
a hook or file-naming convention. It is not specifically about CRUD/DB APIs.)

The `civix` code-generator provides support for additional coding-conventions -- ones which are more amenable to
code-generation.  For example, it autoloads files from `xml/Menu/*.xml` and `**/*.mgd.php`.  The technique for
implementing this traditionally relies on generating a lot of boilerplate.

This patch introduces a new construct ("mixin") which allows boilerplate to be maintained more easily.  A mixin
inspects an extension programmatically, registering new hooks as needed.  A mixin may start out as a file in `civix`
(or even as a bespoke file in some module) - and then be migrated into `civicrm-core`. Each mixin has a name and
version, which means that (at runtime) it will only load the mixin once (ie the best-available version).

See: https://github.com/totten/civix/issues/175

Before
------

The civix templates generate a few files, such as `mymod.php` and `mymod.civix.php`.
A typical example looks like this:

```php
// mymod.php - Implement hook_civicrm_xmlMenu
require_once 'mymod.civix.php';
function mymod_civicrm_xmlMenu(&$all, $the, $params) {
  _mymod_civix_civicrm_xmlMenu($all, $the, $params);
}
```

and

```php
// mymod.civix.php - Implement hook_civicrm_xmlMenu
function _mymod_civix_civicrm_xmlMenu(&$all, $the, $params) {
  foreach (_mosaico_civix_glob(__DIR__ . '/xml/Menu/*.xml') as $file) {
    $files[] = $file;
  }
}
```

These two files are managed differently: `mymod.php` is owned by the developer, and they may add/remove/manage the
hooks in this file.  `mymod.civix.php` is owned by `civix` and must be autogenerated.

This structure allows `civix` (and any `civix`-based extension) to take advantage of new coding-convention
immediately. However, it comes with a few pain-points:

* If you want to write a patch for `_mymod_civix_civicrm_xmlMenu`, the dev-test-loop requires several steps.
* If `civix` needs to add a new `hook_civicrm_foo`, then the author must manually create the stub
  function in `mymod.php`. `civix` has documentation (`UPGRADE.md`) which keeps a long list of stubs that must
  be manually added.
* If `civix` has an update for `_mymod_civix_civicrm_xmlMenu`, then the author must regenerate `mymod.civix.php`.
* If `mymod_civix_xmlMenu` needs a change, then the author must apply it manually.
* If `civix`'s spin on `hook_civicrm_xmlMenu` becomes widespread, then the `xmlMenu` boilerplate is duplicated
  across many extensions.

After
-----

An extension may enable a mixin in `info.xml`, eg:

```xml
<mixins>
  <mixin>civix-register-files@2.0</mixin>
</mixins>
```

Civi will look for a file `mixin/civicrm-register-files@2.0.0.mixin.php` (either in the extension or core). The file follows this pattern:

```php
return function(\CRM_Extension_MixInfo $mixInfo, \CRM_Extension_BootCache $bootCache) {
  // echo "This is " . $mixInfo->longName . "!\n";
  \Civi::dispatcher()->addListener("hook_civicrm_xmlMenu", function($e) use ($mixInfo) {
    ...
  });
}
```

The mixin file is a plain PHP file that can be debugged/copied/edited verbatim, and it can register for hooks on its
own.  The code is no longer a "template", and it doesn't need to be interwoven between `mymod.php` and
`mymod.civix.php`.

It is expected that a system may have multiple copies of a mixin.  It will choose the newest compatible copy.
Hypothetically, if there were a security update or internal API change, core might ship a newer version to supplant the
old copy in any extensions.

Technical Details
-----------------

Mixins may define internal classes/interfaces/functions. However, each major-version
must have a distinct prefix (e.g. `\V2\Mymixin\FooInterface`). Minor-versions may be
provide incremental revisions over the same symbol (but it's imperative for newer
increments to provide the backward-compatibility).

MixinScanner - Make it easier to instantiate and pay with instances

Ex: cv ev '$o=new CRM_Extension_MixinScanner(); var_export($o->createLoader());'

MixinScanner - Enable scanning of `[civicrm.root]/mixin`

3 years agoMerge pull request #22165 from eileenmcnaughton/no_escape
colemanw [Wed, 1 Dec 2021 03:07:21 +0000 (22:07 -0500)]
Merge pull request #22165 from eileenmcnaughton/no_escape

Smarty variables]  Prevent settings form assigned html from being escaped

3 years agoMerge pull request #22197 from totten/master-xdebug3
Tim Otten [Wed, 1 Dec 2021 03:05:52 +0000 (19:05 -0800)]
Merge pull request #22197 from totten/master-xdebug3

DebugSubscriber - Fix test-suite compatibility with XDebug 3

3 years agoMerge pull request #22188 from totten/master-uninstall
Tim Otten [Wed, 1 Dec 2021 03:04:32 +0000 (19:04 -0800)]
Merge pull request #22188 from totten/master-uninstall

ManagedEntities - Fix permission error during uninstallation (regression-fix)

3 years agoMerge pull request #22175 from eileenmcnaughton/smarty3
colemanw [Wed, 1 Dec 2021 01:24:56 +0000 (20:24 -0500)]
Merge pull request #22175 from eileenmcnaughton/smarty3

[Smarty variable][Civicase] remove isset

3 years agoMerge pull request #22180 from eileenmcnaughton/smarty7
colemanw [Wed, 1 Dec 2021 01:24:20 +0000 (20:24 -0500)]
Merge pull request #22180 from eileenmcnaughton/smarty7

Remove issets from Activity search screen

3 years agoMerge pull request #22172 from eileenmcnaughton/smarty
colemanw [Wed, 1 Dec 2021 01:22:30 +0000 (20:22 -0500)]
Merge pull request #22172 from eileenmcnaughton/smarty

Avoid default escaping for blog titles

3 years agoMerge pull request #22174 from eileenmcnaughton/smarty2
colemanw [Wed, 1 Dec 2021 01:20:22 +0000 (20:20 -0500)]
Merge pull request #22174 from eileenmcnaughton/smarty2

Remove isset checks on isForm

3 years agoMerge pull request #22184 from eileenmcnaughton/smarty10
colemanw [Wed, 1 Dec 2021 01:19:44 +0000 (20:19 -0500)]
Merge pull request #22184 from eileenmcnaughton/smarty10

[Smarty variables] Remove isset from add new group form

3 years agoFix contribution tab to work with escape by default
Eileen McNaughton [Tue, 30 Nov 2021 20:36:28 +0000 (09:36 +1300)]
Fix contribution tab to work with escape by default

This removes some isset that affect contact contribution tab if escape on output is enabled.

This might regress some smarty e-notices. I think if tests pass that is OK at this stage
as we never eliminted them & getting to security enablable seems like a higher priority

3 years agoMerge pull request #22164 from eileenmcnaughton/parent
colemanw [Wed, 1 Dec 2021 00:04:00 +0000 (19:04 -0500)]
Merge pull request #22164 from eileenmcnaughton/parent

Remove empty check previously commented to be meaningless

3 years agoDebugSubscriber - Fix compatibility with XDebug 2/3
Tim Otten [Tue, 30 Nov 2021 23:54:41 +0000 (15:54 -0800)]
DebugSubscriber - Fix compatibility with XDebug 2/3

3 years agoMerge pull request #22178 from demeritcowboy/custom-null
Eileen McNaughton [Tue, 30 Nov 2021 23:27:55 +0000 (12:27 +1300)]
Merge pull request #22178 from demeritcowboy/custom-null

dev/core#2973 - All custom fields broken on edit forms

3 years ago[Smarty variables] The last isset....
Eileen McNaughton [Tue, 30 Nov 2021 23:22:20 +0000 (12:22 +1300)]
[Smarty variables] The last isset....

civicrm/report/list?reset=1

3 years agoMerge pull request #22081 from colemanw/searchKitSortable
demeritcowboy [Tue, 30 Nov 2021 22:30:25 +0000 (17:30 -0500)]
Merge pull request #22081 from colemanw/searchKitSortable

SearchKit - Add drag-sortable weight functionality

3 years ago[Smarty variables - remove isset
Eileen McNaughton [Tue, 30 Nov 2021 21:30:50 +0000 (10:30 +1300)]
[Smarty variables - remove isset

3 years agoManagedEntities - Fix permission error during uninstallation (regression-fix)
Tim Otten [Tue, 30 Nov 2021 21:47:17 +0000 (13:47 -0800)]
ManagedEntities - Fix permission error during uninstallation (regression-fix)

Overview
--------

Fixes a recent regression that prevents you from uninstalling extensions via
CLI.  This specifically affects extensions which use managed entities.

Steps to reproduce
------------------

```
cv en afform
cv dis afform
cv ext:uninstall afform
```

Before
-------

```
[bknix-max:~/bknix/build/dmaster/web/sites/all/modules/civicrm] cv en afform && cv dis afform && cv ext:uninstall afform
Enabling extension "org.civicrm.afform"
Disabling extension "org.civicrm.afform"
Uninstalling extension "org.civicrm.afform"
Error: API Call Failed: Array
(
    [entity] => Extension
    [action] => uninstall
    [params] => Array
        (
            [keys] => Array
                (
                    [0] => org.civicrm.afform
                )

            [debug] => 1
            [version] => 3
        )

    [result] => Array
        (
            [error_code] => unauthorized
            [entity] => Extension
            [action] => uninstall
            [trace] => #0 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/API/Kernel.php(147): Civi\API\Kernel->authorize(Object(Civi\Api4\Provider\ActionObjectProvider), Object(Civi\Api4\Generic\DAODeleteAction))
 #1 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/Api4/Generic/AbstractAction.php(234): Civi\API\Kernel->runRequest(Object(Civi\Api4\Generic\DAODeleteAction))
 #2 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/api/api.php(85): Civi\Api4\Generic\AbstractAction->execute()
 #3 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/ManagedEntities.php(467): civicrm_api4('OptionValue', 'delete', Array)
 #4 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/ManagedEntities.php(303): CRM_Core_ManagedEntities->removeStaleEntity(Object(CRM_Core_DAO_Managed))
 #5 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/ManagedEntities.php(134): CRM_Core_ManagedEntities->reconcileUnknownModules()
 #6 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(409): CRM_Core_ManagedEntities->reconcile()
 #7 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Extension/Manager.php(483): CRM_Core_Invoke::rebuildMenuAndCaches(true)
 #8 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/api/v3/Extension.php(183): CRM_Extension_Manager->uninstall(Array)
 #9 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_extension_uninstall(Array)
 #10 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/API/Kernel.php(149): Civi\API\Provider\MagicFunctionProvider->invoke(Array)
 #11 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest(Array)
 #12 /home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/api/api.php(22): Civi\API\Kernel->runSafe('Extension', 'uninstall', Array)
 #13 phar:///home/me/bknix/bin/cv/src/Command/BaseCommand.php(49): civicrm_api('Extension', 'uninstall', Array)
 #14 phar:///home/me/bknix/bin/cv/src/Command/ExtensionUninstallCommand.php(63): Civi\Cv\Command\BaseCommand->callApiSuccess(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput), 'Extension', 'uninstall', Array)
 #15 phar:///home/me/bknix/bin/cv/vendor/symfony/console/Command/Command.php(257): Civi\Cv\Command\ExtensionUninstallCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
 #16 phar:///home/me/bknix/bin/cv/vendor/symfony/console/Application.php(850): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
 #17 phar:///home/me/bknix/bin/cv/vendor/symfony/console/Application.php(193): Symfony\Component\Console\Application->doRunCommand(Object(Civi\Cv\Command\ExtensionUninstallCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
 #18 phar:///home/me/bknix/bin/cv/src/Application.php(46): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
 #19 phar:///home/me/bknix/bin/cv/vendor/symfony/console/Application.php(124): Civi\Cv\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
 #20 phar:///home/me/bknix/bin/cv/src/Application.php(15): Symfony\Component\Console\Application->run()
 #21 phar:///home/me/bknix/bin/cv/bin/cv(27): Civi\Cv\Application::main('phar:///Users/t...')
 #22 /home/me/bknix/bin/cv(14): require('phar:///Users/t...')
 #23 {main}
            [is_error] => 1
            [error_message] => Authorization failed
        )

)
```

After
-----

Works

Comment
-------

I encountered this while working on E2E test-coverage for other changes.
The E2E test coverage had worked on a previous iteration of 5.45.alpha1 but
failed when I rebased. Consequently, this means

You can see a prior draft of the E2E test [here](https://github.com/totten/shimmy/blob/master-reorg/shimmy/tests/phpunit/E2E/Shimmy/LifecycleTest.php#L56-L77).
However, it's being reworked as a core patch.

I'd suggest accepting this without a test - because (a) it's a regression and (b) there will be coverage from the pending change.

3 years agoRemove isset from add new group form
Eileen McNaughton [Tue, 30 Nov 2021 21:27:26 +0000 (10:27 +1300)]
Remove isset from add new group form

civicrm/group/add?reset=1

3 years agoRemove issets from Activity search screen
Eileen McNaughton [Tue, 30 Nov 2021 20:41:39 +0000 (09:41 +1300)]
Remove issets from Activity search screen

This will regress enotices - but I think it's an OK trade off at this stage to try to squeeze out a few more issets
while most people can't see those notices anyway

3 years agofix custom fields
demeritcowboy [Tue, 30 Nov 2021 20:26:11 +0000 (15:26 -0500)]
fix custom fields

3 years ago[Smarty variable][Civicase] remove isset
Eileen McNaughton [Tue, 30 Nov 2021 20:03:42 +0000 (09:03 +1300)]
[Smarty variable][Civicase] remove isset

Affects civicrm/case?reset=1 when cases exist

3 years agoRemove isset checks on isForm
Eileen McNaughton [Tue, 30 Nov 2021 19:59:18 +0000 (08:59 +1300)]
Remove isset checks on isForm

We are now assigning these from Core_Page so they should be set. If we do get
an enotice back from this then as long as it passes tests it will
be the lesser evil & picked up later

3 years agoAPIv4 - Add fixes & tests for domain-specific managed entities
Coleman Watts [Tue, 30 Nov 2021 19:53:04 +0000 (14:53 -0500)]
APIv4 - Add fixes & tests for domain-specific managed entities

3 years agoAvoid default escaping for blog titles
Eileen McNaughton [Tue, 30 Nov 2021 19:48:58 +0000 (08:48 +1300)]
Avoid default escaping for blog titles

These have escaping - but we dont want the html to be escaped because it messed with Karin's emojis :-)

3 years agoMerge pull request #21232 from colemanw/APIDelete
Eileen McNaughton [Tue, 30 Nov 2021 19:40:13 +0000 (08:40 +1300)]
Merge pull request #21232 from colemanw/APIDelete

APIv4 - Use correct BAO delete function (fixes dev/core#2757)

3 years agoMerge pull request #22171 from civicrm/5.44
colemanw [Tue, 30 Nov 2021 18:56:44 +0000 (13:56 -0500)]
Merge pull request #22171 from civicrm/5.44

5.44

3 years agoMerge pull request #22170 from colemanw/fixSearchKitOptions
colemanw [Tue, 30 Nov 2021 18:55:42 +0000 (13:55 -0500)]
Merge pull request #22170 from colemanw/fixSearchKitOptions

SearchKit - Fix regression for pseudoconstant selection

3 years agoAPIv4 - Add useTrash option to soft-delete contacts
Coleman Watts [Sun, 29 Aug 2021 16:17:05 +0000 (12:17 -0400)]
APIv4 - Add useTrash option to soft-delete contacts

This sets Contact::delete to move contacts to the trash by default.

3 years agoAPIv4 - Use correct BAO delete function
Coleman Watts [Mon, 23 Aug 2021 21:40:35 +0000 (17:40 -0400)]
APIv4 - Use correct BAO delete function

Uses BAO::del() only if it isn't deprecated.

3 years agoSearchKit - Fix regression for pseudoconstant selection
Coleman Watts [Tue, 30 Nov 2021 17:02:47 +0000 (12:02 -0500)]
SearchKit - Fix regression for pseudoconstant selection

Fixes dev/report#83

3 years agoSearchKit - Add drag-sortable weight functionality
Coleman Watts [Mon, 15 Nov 2021 14:47:37 +0000 (09:47 -0500)]
SearchKit - Add drag-sortable weight functionality

Drag-sortable weights are similar to in-place edit in that it uses the API
to update records in the table. In this case it updates the "weight" column when
the user drags a row into a different position.

3 years agoMerge pull request #22169 from demeritcowboy/oauth-dropdown
colemanw [Tue, 30 Nov 2021 14:28:28 +0000 (09:28 -0500)]
Merge pull request #22169 from demeritcowboy/oauth-dropdown

dev/mail#105 - Oauth dropdown missing on mail settings form

3 years agoMerge pull request #22161 from eileenmcnaughton/pay_test2
demeritcowboy [Tue, 30 Nov 2021 13:26:04 +0000 (08:26 -0500)]
Merge pull request #22161 from eileenmcnaughton/pay_test2

Fix more tests to use full flow

3 years agoMerge pull request #22143 from mattwire/statuspagehigherfirst
demeritcowboy [Tue, 30 Nov 2021 13:21:31 +0000 (08:21 -0500)]
Merge pull request #22143 from mattwire/statuspagehigherfirst

Display higher severity status checks first

3 years agoMerge pull request #22142 from mattwire/envokextensionsnatcase
Yashodha Chaku [Tue, 30 Nov 2021 07:52:59 +0000 (13:22 +0530)]
Merge pull request #22142 from mattwire/envokextensionsnatcase

Sort list of extensions alphabetically in 'Extensions ok' check

3 years agoMerge pull request #22168 from demeritcowboy/useajax
Seamus Lee [Tue, 30 Nov 2021 04:28:26 +0000 (15:28 +1100)]
Merge pull request #22168 from demeritcowboy/useajax

Fix broken extension page smarty assignment

3 years agoMerge pull request #22167 from eileenmcnaughton/location_tpl
Seamus Lee [Tue, 30 Nov 2021 04:28:16 +0000 (15:28 +1100)]
Merge pull request #22167 from eileenmcnaughton/location_tpl

[Smarty Variables] Remove isset from location type form

3 years agoMerge pull request #22166 from eileenmcnaughton/isset
colemanw [Tue, 30 Nov 2021 03:15:21 +0000 (22:15 -0500)]
Merge pull request #22166 from eileenmcnaughton/isset

[Smarty variables] Remove issets from scheduled job screen

3 years ago[Smarty Variables] Remove isset from location type form
Eileen McNaughton [Tue, 30 Nov 2021 00:02:43 +0000 (13:02 +1300)]
[Smarty Variables] Remove isset from location type form

https://dmaster.localhost:32353/civicrm/admin/locationType?reset=1

3 years agoMerge pull request #22162 from eileenmcnaughton/pay_test
Eileen McNaughton [Tue, 30 Nov 2021 01:24:35 +0000 (14:24 +1300)]
Merge pull request #22162 from eileenmcnaughton/pay_test

Fix membership test to use full flow

3 years agooauth dropdown missing on mail settings form
demeritcowboy [Tue, 30 Nov 2021 01:22:03 +0000 (20:22 -0500)]
oauth dropdown missing on mail settings form

3 years agofix smarty
demeritcowboy [Tue, 30 Nov 2021 00:47:43 +0000 (19:47 -0500)]
fix smarty

3 years agoPrevent settings form assigned html from being escapted
Eileen McNaughton [Mon, 29 Nov 2021 23:41:34 +0000 (12:41 +1300)]
Prevent settings form assigned html from being escapted

3 years ago[Smarty variables] Remove issets from scheduled job screen
Eileen McNaughton [Mon, 29 Nov 2021 23:36:49 +0000 (12:36 +1300)]
[Smarty variables] Remove issets from scheduled job screen

3 years agoRemove isset previously commented to be meaningless
Eileen McNaughton [Mon, 29 Nov 2021 23:30:30 +0000 (12:30 +1300)]
Remove isset previously commented to be meaningless

3 years agoMerge pull request #22074 from eileenmcnaughton/tags
colemanw [Mon, 29 Nov 2021 23:09:03 +0000 (18:09 -0500)]
Merge pull request #22074 from eileenmcnaughton/tags

[Smarty variables] Ensure groupElementType is always set

3 years agoMerge pull request #22132 from eileenmcnaughton/test_con
colemanw [Mon, 29 Nov 2021 23:08:07 +0000 (18:08 -0500)]
Merge pull request #22132 from eileenmcnaughton/test_con

[Smarty variables] [contact summary]  Assign variable to determine whether to show email signature field

3 years agoMerge pull request #22138 from eileenmcnaughton/cust_edit
colemanw [Mon, 29 Nov 2021 23:07:39 +0000 (18:07 -0500)]
Merge pull request #22138 from eileenmcnaughton/cust_edit

[Smarty variables] [custom data form] Template notice cleanup - make sane

3 years agoFix more tests to use full flow
Eileen McNaughton [Mon, 29 Nov 2021 23:05:47 +0000 (12:05 +1300)]
Fix more tests to use full flow

3 years agoFix membership test to use full flow
Eileen McNaughton [Mon, 29 Nov 2021 23:06:05 +0000 (12:06 +1300)]
Fix membership test to use full flow

3 years agoMerge pull request #22147 from eileenmcnaughton/pager
colemanw [Mon, 29 Nov 2021 23:06:10 +0000 (18:06 -0500)]
Merge pull request #22147 from eileenmcnaughton/pager

[Smarty variables] [report test]Ensure smarty variables are consistently assigned in report

3 years agoMerge pull request #22152 from eileenmcnaughton/n1
colemanw [Mon, 29 Nov 2021 23:05:43 +0000 (18:05 -0500)]
Merge pull request #22152 from eileenmcnaughton/n1

[Smarty variables] [Activity form] Ensure separation,tag are assigned to the template

3 years agoMerge pull request #22155 from eileenmcnaughton/n4
colemanw [Mon, 29 Nov 2021 23:04:36 +0000 (18:04 -0500)]
Merge pull request #22155 from eileenmcnaughton/n4

[Smarty variables] Specify isRepeatingEntity when including ConfirmRepeatMode.tpl

3 years agoMerge pull request #22160 from colemanw/navigationPermission
colemanw [Mon, 29 Nov 2021 23:02:02 +0000 (18:02 -0500)]
Merge pull request #22160 from colemanw/navigationPermission

APIv4 - Treat navigation permissions as array, add pseudoconstant for operator

3 years agoMerge pull request #22137 from colemanw/api4SortableEntity
Eileen McNaughton [Mon, 29 Nov 2021 21:46:08 +0000 (10:46 +1300)]
Merge pull request #22137 from colemanw/api4SortableEntity

APIv4 - Add SortableEntity type which auto-adjusts weights

3 years agoAPIv4 - Treat navigation permissions as array, add pseudoconstant for operator
Coleman Watts [Mon, 29 Nov 2021 19:26:35 +0000 (14:26 -0500)]
APIv4 - Treat navigation permissions as array, add pseudoconstant for operator

This gives consistency in how the fields are handled in the Navigation and Dashboard entities

3 years agoMerge pull request #22121 from colemanw/bridgeEntitiesGoneWild
colemanw [Mon, 29 Nov 2021 21:12:42 +0000 (16:12 -0500)]
Merge pull request #22121 from colemanw/bridgeEntitiesGoneWild

SearchKit - enable search by case role

3 years agoEnsure groupElementType is always set
Eileen McNaughton [Sun, 14 Nov 2021 18:23:31 +0000 (07:23 +1300)]
Ensure groupElementType is always set

3 years agoEnsure smarty variables are consistently assigned in report
Eileen McNaughton [Sun, 28 Nov 2021 06:26:38 +0000 (19:26 +1300)]
Ensure smarty variables are consistently assigned in report

3 years agoMerge pull request #22158 from colemanw/api4DeleteOptionList
Eileen McNaughton [Mon, 29 Nov 2021 19:08:35 +0000 (08:08 +1300)]
Merge pull request #22158 from colemanw/api4DeleteOptionList

APIv4 - Delete unused OptionList trait

3 years agoMerge pull request #22118 from eileenmcnaughton/notices
colemanw [Mon, 29 Nov 2021 17:20:58 +0000 (12:20 -0500)]
Merge pull request #22118 from eileenmcnaughton/notices

Fix message templates screen to work with escape enabled by default

3 years agoMerge pull request #22154 from eileenmcnaughton/n3
colemanw [Mon, 29 Nov 2021 15:13:51 +0000 (10:13 -0500)]
Merge pull request #22154 from eileenmcnaughton/n3

[Smarty variables] Use always-assigned isTagSet to determine if is tagset

3 years agoMerge pull request #22153 from eileenmcnaughton/n2
colemanw [Mon, 29 Nov 2021 15:13:35 +0000 (10:13 -0500)]
Merge pull request #22153 from eileenmcnaughton/n2

[Smarty variables] [Activity form] Ensure activityTypeFile is always assigned

3 years agoMerge pull request #22157 from eileenmcnaughton/testit
colemanw [Mon, 29 Nov 2021 15:12:25 +0000 (10:12 -0500)]
Merge pull request #22157 from eileenmcnaughton/testit

[Test] Fix tests to use form helper

3 years agoMerge pull request #22156 from eileenmcnaughton/cont_tests
colemanw [Mon, 29 Nov 2021 15:12:14 +0000 (10:12 -0500)]
Merge pull request #22156 from eileenmcnaughton/cont_tests

[Test] Test cleanup to use full-form methods