Seamus Lee [Fri, 18 Sep 2020 05:11:46 +0000 (15:11 +1000)]
Merge pull request #18511 from totten/master-aff-test
Afform Tests - Fix extension tests when run via `civi-test-run`
Seamus Lee [Fri, 18 Sep 2020 02:36:07 +0000 (12:36 +1000)]
Merge pull request #18506 from totten/master-bundle-array
CRM_Core_Resources::addBundle() - Fix handling of array inputs
Seamus Lee [Fri, 18 Sep 2020 02:32:20 +0000 (12:32 +1000)]
Merge pull request #18507 from eileenmcnaughton/test_fix
Test fix - use valid membership type
Tim Otten [Fri, 18 Sep 2020 02:14:06 +0000 (19:14 -0700)]
afform_clear() - Fix error when running on non-cached container
After switching the tests from an effective policy of `CIVICRM_CONTAINER_CACHE=auto`
to an effective policy of `CIVICRM_CONTAINER_CACHE=never`, this started to fail:
```
1) api_v4_AfformTest::testGetUpdateRevert with data set #0 ('mockPage', array('', '', 'civicrm/mock-page', 'access Foobar'))
Symfony\Component\DependencyInjection\Exception\BadMethodCallException: Setting service "angular" for an unknown or non-synthetic service definition on a compiled container is not allowed.
/home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/vendor/symfony/dependency-injection/ContainerBuilder.php:532
/home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/ext/afform/core/afform.php:520
/home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/ext/afform/core/Civi/Api4/Afform.php:99
/home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/Api4/Generic/BasicBatchAction.php:88
/home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/Api4/Generic/BasicBatchAction.php:68
/home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/Api4/Provider/ActionObjectProvider.php:68
/home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/API/Kernel.php:150
/home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/Api4/Generic/AbstractAction.php:238
/home/me/bknix/build/dmaster/web/sites/all/modules/civicrm/ext/afform/mock/tests/phpunit/api/v4/AfformTest.php:53
/home/me/bknix/extern/phpunit6/phpunit6.phar:570
```
Tim Otten [Fri, 18 Sep 2020 02:11:19 +0000 (19:11 -0700)]
Container - Disable caching in as many unit-tests as we can
Eileen McNaughton [Fri, 18 Sep 2020 01:16:53 +0000 (13:16 +1200)]
Merge pull request #18503 from colemanw/removeHookCiviCRMTabs
Remove long-deprecated hook_civicrm_tabs
colemanw [Fri, 18 Sep 2020 00:58:54 +0000 (20:58 -0400)]
Merge pull request #18488 from eileenmcnaughton/loc_block
dev/core#1973 Fix Email & Phone storage issues in event location
eileen [Fri, 18 Sep 2020 00:29:06 +0000 (12:29 +1200)]
Test fix - use valid membership type
Addresses cause of https://github.com/civicrm/civicrm-core/pull/18427 fail
Tim Otten [Fri, 18 Sep 2020 00:26:38 +0000 (17:26 -0700)]
CRM_Core_Resources::addBundle() - Fix handling of array inputs
(This fixes a small bug in a new function added during this release -- part of #18247.)
The signature of `addBundle()` optionally accepts an array/iterable -- if
given, then it should add all the items from the array. For example:
```php
Civi::resources()->addBundle(['foo', 'bar']);
```
Before
------
It adds `foo` but then bails out on `bar`.
After
-----
It adds both `foo` and `bar`.
Seamus Lee [Thu, 17 Sep 2020 21:38:55 +0000 (07:38 +1000)]
Merge pull request #18501 from eileenmcnaughton/acltest
dev/core#2039 Fix test to use set up method with more data integrity
eileen [Wed, 16 Sep 2020 03:45:47 +0000 (15:45 +1200)]
dev/core#1973 Fix Email & Phone storage issues in event location
Eileen McNaughton [Thu, 17 Sep 2020 20:26:30 +0000 (08:26 +1200)]
Merge pull request #18492 from colemanw/moveDaoFunctionsToBaseClass
Ensure DAO base class contains functions to be removed from generated files
colemanw [Thu, 17 Sep 2020 20:21:39 +0000 (16:21 -0400)]
Merge pull request #18490 from eileenmcnaughton/emailadd
Remove deprecated code lines
Coleman Watts [Thu, 17 Sep 2020 18:40:38 +0000 (14:40 -0400)]
Remove deprecated hook_civicrm_tabs
This hook has been deprecated for 5 years. Time to remove it.
colemanw [Thu, 17 Sep 2020 11:27:45 +0000 (07:27 -0400)]
Merge pull request #18498 from eileenmcnaughton/opennp
dev/core#2039 Fix OpenID::add to ensure is_primary is set
eileen [Thu, 17 Sep 2020 04:22:20 +0000 (16:22 +1200)]
dev/core#2039 Fix test to use set up method with more data integrity
Using the api rather than CRM_Core_DAO::createTestObject to create the phone ensures it is created with is_primary.
We might need to fix CRM_Core_DAO::createTestObject but for this case simply using the api suffices
eileen [Thu, 17 Sep 2020 00:41:59 +0000 (12:41 +1200)]
dev/core#2039 Fix OpenID::add to ensure is_primary is set
In my efforts to determine the the non-performant line of code that makes sure IM is set is
not required I edited tests to track down when is_primary is not correct & determined it
is missing from the add function - same as https://github.com/civicrm/civicrm-core/pull/18489 for IM
Seamus Lee [Thu, 17 Sep 2020 03:42:07 +0000 (13:42 +1000)]
Merge pull request #18489 from eileenmcnaughton/im
dev/core#2039 Add check to ensure all have a primary address, fix identified but in IM.add
Seamus Lee [Thu, 17 Sep 2020 01:43:04 +0000 (11:43 +1000)]
Merge pull request #18497 from eileenmcnaughton/open_primary
dev/core#2039 [NFC] Code cleanup in test class
Eileen McNaughton [Thu, 17 Sep 2020 01:29:30 +0000 (13:29 +1200)]
Merge pull request #18496 from eileenmcnaughton/nfc
dev/core#2039 [NFC] Minor cleanup in tests
Eileen McNaughton [Thu, 17 Sep 2020 01:15:59 +0000 (13:15 +1200)]
Merge pull request #18495 from eileenmcnaughton/email_add
dev/core#2046 Rationalise add vs create on email BAO
eileen [Thu, 17 Sep 2020 00:28:52 +0000 (12:28 +1200)]
[NFC] Code cleanup in test class
Seamus Lee [Thu, 17 Sep 2020 00:08:45 +0000 (10:08 +1000)]
Merge pull request #18494 from eileenmcnaughton/test_clean
dev/core#2039 [NFC] Test cleanup to stop calling Email::add action
eileen [Wed, 16 Sep 2020 23:54:48 +0000 (11:54 +1200)]
[NFC] Minor cleanup in tests
colemanw [Wed, 16 Sep 2020 23:54:06 +0000 (19:54 -0400)]
Merge pull request #18484 from eileenmcnaughton/ref
dev/core#2043 remove pass-by-ref
Eileen McNaughton [Wed, 16 Sep 2020 22:40:24 +0000 (10:40 +1200)]
Merge pull request #18491 from totten/master-ref-gendata
(REF) GenerateData - Make it possible to call this via PHP
eileen [Wed, 16 Sep 2020 20:51:17 +0000 (08:51 +1200)]
dev/core#2046 Rationalise add vs create on email BAO
This folds the 2 functions into one, deprecating add
eileen [Wed, 16 Sep 2020 20:36:34 +0000 (08:36 +1200)]
[NFC] Test cleanup to stop calling Email::add action which does not handle primary
Note I feel like we should further
1) move the contents of email add into create
2) make add a deprecated wrapper for create
Whatever the vision of different add vs create functions it didn't turn out in practice and seems to
only generate confusion. We recommend apiv4 as the preferred create methodology
Coleman Watts [Wed, 16 Sep 2020 14:57:26 +0000 (10:57 -0400)]
Ensure DAO base class contains functions to be removed from generated DAO files.
The functions fieldKeys(), getLog(), and getTableName() are redundant in the generated DAO files,
we don't need 50 copies of each function.
This preliminary commit ensures they are present in the parent class, and in the future we can
regenerate the DAOs without them.
eileen [Wed, 16 Sep 2020 02:44:40 +0000 (14:44 +1200)]
dev/core#2043 remove pass-by-ref
Also shortening of if clause
Eileen McNaughton [Wed, 16 Sep 2020 19:19:03 +0000 (07:19 +1200)]
Merge pull request #18470 from JKingsnorth/dev/core#2027-2
dev/core#2027 Add/update to UK county list
colemanw [Wed, 16 Sep 2020 14:44:23 +0000 (10:44 -0400)]
Merge pull request #18423 from eileenmcnaughton/afform
dev/core#2000 Move afform into core extensions
John Kingsnorth [Wed, 16 Sep 2020 11:11:06 +0000 (12:11 +0100)]
dev/core#2027 Add/update to UK county list
Tim Otten [Wed, 16 Sep 2020 09:58:36 +0000 (02:58 -0700)]
(REF) GenerateData - Allow external control randomness
Tim Otten [Wed, 16 Sep 2020 08:08:03 +0000 (01:08 -0700)]
(REF) GenerateData - Use overrideable 'echo'. Use exceptions.
This removes elements of GenerateData which perform direct output to the user. there
are basically two cases:
1. Outputting advisory/status info (e.g. "echo"). This now goes through a method, which
can be overriden/replaced.
2. Displaying errors from DAO-calls. Now-a-days, DAO-calls can raise their own exceptions,
so we don't need to sprinkle it without error-outputs.
Tim Otten [Wed, 16 Sep 2020 07:39:14 +0000 (00:39 -0700)]
(REF) GenerateData - Extract method 'generateAll()'
Tim Otten [Wed, 16 Sep 2020 09:28:11 +0000 (02:28 -0700)]
GenerateData - Make the generated sample data more stable (wrt shuffle+array_rand)
Tim Otten [Wed, 16 Sep 2020 09:27:15 +0000 (02:27 -0700)]
GenerateData - Make the generated sample data more stable (wrt time)
Tim Otten [Wed, 16 Sep 2020 07:30:56 +0000 (00:30 -0700)]
GenerateData - Make the generated sample data more stable (wrt mt_rand)
Tim Otten [Wed, 16 Sep 2020 07:25:18 +0000 (00:25 -0700)]
(REF) GenerateData - Extract method 'randomInt()'
This it easier to have one random number generator used for all 'randomFoo()' functions.
Tim Otten [Wed, 16 Sep 2020 07:58:19 +0000 (00:58 -0700)]
(REF) Extract `CRM_Core_CodeGen_GenerateData` - Fix path reference
When this class moved to a new folder, the relative paths changed.
eileen [Wed, 16 Sep 2020 10:31:05 +0000 (22:31 +1200)]
Remove deprecated code lines
eileen [Tue, 15 Sep 2020 23:48:49 +0000 (11:48 +1200)]
Add check to ensure all have a primary address, fix identified but in IM.add
Monish Deb [Wed, 16 Sep 2020 07:29:11 +0000 (12:59 +0530)]
Merge pull request #18486 from eileenmcnaughton/part
dev/event#42 [Ref] Separate url path calculation into the relevant classes
Tim Otten [Wed, 16 Sep 2020 07:00:50 +0000 (00:00 -0700)]
(REF) Extract `CRM_Core_CodeGen_GenerateData`
This moves the class from `sql/GenerateData.php` to `CRM/Core/CodeGen/GenerateData.php`, which makes
it easier to reference in other workflows.
Seamus Lee [Wed, 16 Sep 2020 05:57:44 +0000 (15:57 +1000)]
Merge pull request #18480 from eileenmcnaughton/dom_org
dev/core#2039 Set is_primary to 1 on email, address for domain contacts
Seamus Lee [Wed, 16 Sep 2020 05:51:04 +0000 (15:51 +1000)]
Merge pull request #18487 from civicrm/5.30
5.30
eileen [Wed, 16 Sep 2020 03:53:39 +0000 (15:53 +1200)]
[Ref] Separate url path calculation into the relevant classes
Eileen McNaughton [Wed, 16 Sep 2020 04:17:47 +0000 (16:17 +1200)]
Merge pull request #18482 from seamuslee001/5.30
release-notes/5.29.1.md
Eileen McNaughton [Wed, 16 Sep 2020 04:17:04 +0000 (16:17 +1200)]
Merge pull request #18478 from seamuslee001/api_v4_fin_acl_test
[NFC] Enable APIv4 testing on the Fin ACL Extension Line Item test
Monish Deb [Wed, 16 Sep 2020 03:41:41 +0000 (09:11 +0530)]
Merge pull request #18464 from eileenmcnaughton/urlparamms
[REF] Start the process of separating the search action from the participant form
Monish Deb [Wed, 16 Sep 2020 03:11:10 +0000 (08:41 +0530)]
Merge pull request #18463 from eileenmcnaughton/searchhhook
dev/core#2017 remove unused SearchTaskHookSample.php
eileen [Wed, 16 Sep 2020 02:03:04 +0000 (14:03 +1200)]
Regenerate sql
eileen [Wed, 16 Sep 2020 00:52:52 +0000 (12:52 +1200)]
dev/core#2039 Set is_primary to 1 on email, address for domain contacts
I'm digging into the places where the code handles is_primary due to duplicate handling/ queries
- see https://lab.civicrm.org/dev/core/-/issues/2039
One distraction is that the domain contact's address & email are not marked is_primary. This
doesn't make sense to me as they ARE a contact in the DB
eileen [Thu, 10 Sep 2020 20:34:50 +0000 (08:34 +1200)]
Phpcs fix
eileen [Thu, 10 Sep 2020 03:47:37 +0000 (15:47 +1200)]
Remove commented out line
eileen [Thu, 10 Sep 2020 03:41:36 +0000 (15:41 +1200)]
Remove more commented out code that is upsetting CI
eileen [Thu, 10 Sep 2020 03:09:37 +0000 (15:09 +1200)]
Remove more commented out function
eileen [Thu, 10 Sep 2020 01:18:00 +0000 (13:18 +1200)]
Style fixes
I removed the commented out functions rather than figuring out how to style them right
eileen [Wed, 9 Sep 2020 21:31:53 +0000 (09:31 +1200)]
Misc style fix
eileen [Wed, 9 Sep 2020 21:31:41 +0000 (09:31 +1200)]
Re-run civix upgrader
eileen [Wed, 9 Sep 2020 21:17:02 +0000 (09:17 +1200)]
Re-run civix
Coleman Watts [Fri, 17 Jul 2020 14:07:09 +0000 (10:07 -0400)]
Update API factory functions with checkPermissions
Coleman Watts [Wed, 12 Feb 2020 16:21:16 +0000 (11:21 -0500)]
Use standard api for getFields
Coleman Watts [Sat, 1 Feb 2020 16:44:44 +0000 (11:44 -0500)]
Update API docblock.
Coleman Watts [Fri, 31 Jan 2020 16:40:26 +0000 (11:40 -0500)]
Use built-in php function to do what we were trying to do with str_replace
Coleman Watts [Fri, 31 Jan 2020 16:39:40 +0000 (11:39 -0500)]
Code comment
Coleman Watts [Fri, 17 Jan 2020 00:49:47 +0000 (19:49 -0500)]
Revert "Reinstate parsing of data from the form"
This reverts commit
d31206f9e08703ae4f11b7e34673d7ece92b1630.
Coleman Watts [Thu, 16 Jan 2020 15:53:24 +0000 (10:53 -0500)]
Support is_primary fields and boolean options.
Civi 5.23 changes boolean options to be real true and false instead of '1' and '0'
so added version bump to keep in step.
Coleman Watts [Fri, 10 Jan 2020 17:59:49 +0000 (12:59 -0500)]
More efficient select options handling
The afField.getOptions function was causing infinite recursion by recreating the boolean options array every time.
Passing this variable by refernce solves the problem, and adding "track by" to the ng-repeat follows best-practices for efficiency.
eileen [Fri, 10 Jan 2020 01:09:34 +0000 (14:09 +1300)]
Reinstate parsing of data from the form
This means that data can be set in an embedded form e.g
<af-entity data='{name_a : options.name_a, name_b : options.name_b, is_name_b_nickname: options.is_name_b_nickname, is_name_b_inferior: options.is_name_b_inferior}' .... />
In this case the options.name_as comes from the directive that instantiates this afform
eileen [Fri, 10 Jan 2020 01:05:28 +0000 (14:05 +1300)]
Increment suggested version to reflect info.xml
Arguably afform still works on older versions but breaking changes have happened & if people
use it on older you want a buyer-beware type feeling
Coleman Watts [Thu, 9 Jan 2020 20:11:15 +0000 (15:11 -0500)]
Release v0.4
Coleman Watts [Wed, 8 Jan 2020 13:23:03 +0000 (08:23 -0500)]
Loosen restrictions on file names - allow underscores
Coleman Watts [Wed, 8 Jan 2020 13:20:54 +0000 (08:20 -0500)]
Use api to get directive/module names
Coleman Watts [Tue, 7 Jan 2020 22:35:33 +0000 (17:35 -0500)]
Rename custom blocks and optimize api get by file/module/directive name
Coleman Watts [Mon, 6 Jan 2020 22:45:01 +0000 (17:45 -0500)]
Api - output module_name & directive_name
Coleman Watts [Sun, 5 Jan 2020 19:47:35 +0000 (14:47 -0500)]
Load join blocks primary first
Coleman Watts [Sun, 5 Jan 2020 03:30:17 +0000 (22:30 -0500)]
GUI - improve menu button appearance
Coleman Watts [Sun, 5 Jan 2020 03:29:20 +0000 (22:29 -0500)]
GUI - simplify menus; only add items from palette
Coleman Watts [Sun, 5 Jan 2020 02:10:11 +0000 (21:10 -0500)]
Improve drag-n-drop placeholder & validation
Coleman Watts [Sat, 4 Jan 2020 20:13:00 +0000 (15:13 -0500)]
Fix loading fields for contact type blocks
Coleman Watts [Sat, 4 Jan 2020 01:42:59 +0000 (20:42 -0500)]
Rename blocks & require form name
Coleman Watts [Fri, 3 Jan 2020 20:40:39 +0000 (15:40 -0500)]
GUI - Add block fields to field palette
Coleman Watts [Fri, 3 Jan 2020 03:01:19 +0000 (22:01 -0500)]
GUI - Implement Save Block feature
Coleman Watts [Tue, 31 Dec 2019 17:45:00 +0000 (12:45 -0500)]
Implement Address block with chainSelect state/county
Coleman Watts [Mon, 30 Dec 2019 04:29:18 +0000 (23:29 -0500)]
GUI - present Individual/Organization/Household as seperate entities
Also adds per-contact-type default name blocks.
Coleman Watts [Fri, 27 Dec 2019 19:55:49 +0000 (14:55 -0500)]
Refactor af-block directive into af-repeat and af-join
This allows mix-n-match between blocks and repeatable things, allowing
entity fieldsets to be repeated, as well as arbitrary non-repeatable blocks.
Coleman Watts [Fri, 20 Dec 2019 20:47:02 +0000 (15:47 -0500)]
Implement afform blocks for multi-value custom groups
Coleman Watts [Tue, 10 Dec 2019 20:03:42 +0000 (15:03 -0500)]
Implement afform blocks for Email, Phone, IM, Website
Blocks are reusable, repeatable afforms that extend other entities
eileen [Thu, 2 Jan 2020 18:57:18 +0000 (18:57 +0000)]
Update git clone url
Note other updates around installation still needed
Coleman Watts [Sat, 28 Dec 2019 01:23:30 +0000 (20:23 -0500)]
Fix #10 add prefix to new afforms to prevent name conflicts
Coleman Watts [Sun, 22 Dec 2019 01:10:49 +0000 (20:10 -0500)]
Remove unnecessary registerField process
Coleman Watts [Sat, 21 Dec 2019 00:51:51 +0000 (19:51 -0500)]
GUI - set default permission for new forms
Coleman Watts [Fri, 20 Dec 2019 12:18:45 +0000 (07:18 -0500)]
Update docs to reflect less metadata in default afform scope
Tim Otten [Fri, 20 Dec 2019 07:53:13 +0000 (23:53 -0800)]
AfformScanner - Just use the long cache
The long cache didn't exist when this class was first created, but it seems
better suited. #knockonwood
Tim Otten [Fri, 20 Dec 2019 07:41:10 +0000 (23:41 -0800)]
AfformScanner - Simplify cache. Fix CLI/web sync bug.
Example bug:
1. Find a packaged (non-overriden) form - e.g. `mockPage`
2. Run `cv api4 Afform.update +w name=mockPage +v permissions='*always allow*'
3. Run `curl http://localhost/civicrm/mock-page`
4. Observe: the page-load fails even though the permissions say it should work
The call to `Afform.update` should trigger a cache-clear, but it only fixes
on the CLI... because the CLI and web have different runtime IDs.
The runtime-id was included preventively in anticipation that oddball
multisite arrangements might need to store these things separately. But I
think it's overdone, because the runtime-ID factors in things like
`SCRIPT_FILENAME` which has no bearing on the whether to use the same cache.
Let's KISS and *if* there's any kind of multisite issue, then we can revisit.
Coleman Watts [Fri, 20 Dec 2019 02:24:08 +0000 (21:24 -0500)]
Toward #6 - use API instead of scanner to retrieve afforms
Coleman Watts [Thu, 19 Dec 2019 13:28:58 +0000 (08:28 -0500)]
GUI - dropdown select for permissions field
Tim Otten [Thu, 19 Dec 2019 06:47:10 +0000 (22:47 -0800)]
(NFC) Expand docblock for afform_civicrm_permission_check()