Seamus Lee [Tue, 7 Jun 2022 21:20:48 +0000 (07:20 +1000)]
Merge pull request #23713 from colemanw/globFix
PHP8.1 - Fix deprecated passing null to glob
colemanw [Tue, 7 Jun 2022 19:49:18 +0000 (15:49 -0400)]
Merge pull request #23704 from eileenmcnaughton/try
Expand try-catch to whole function
Coleman Watts [Tue, 7 Jun 2022 18:56:08 +0000 (14:56 -0400)]
PHP8.1 - Fix deprecated passing null to glob
Yashodha Chaku [Tue, 7 Jun 2022 16:25:17 +0000 (21:55 +0530)]
Merge pull request #23710 from eileenmcnaughton/civi_import
Minor simplification - use `$self->getContactType(),`
demeritcowboy [Tue, 7 Jun 2022 12:59:00 +0000 (08:59 -0400)]
Merge pull request #23620 from bugfolder/8_move_session_start
dev/backdrop#8 - Move session start into CMS-specific classes.
Monish Deb [Tue, 7 Jun 2022 11:58:41 +0000 (17:28 +0530)]
Merge pull request #23708 from eileenmcnaughton/date
dev/core#2325 Fix handling of seconds on import
Eileen McNaughton [Tue, 7 Jun 2022 10:00:51 +0000 (22:00 +1200)]
Minor simplification - use
Eileen McNaughton [Tue, 7 Jun 2022 07:51:29 +0000 (19:51 +1200)]
dev/core#2325 Fix handling of seconds on import
This addresses an issue where the following date time has the time component
stripped
2012-12-12 07:12:56
Without the seconds - ie
2012-12-12 07:12
Note that I do have a test in a PR for the import where
Eileen McNaughton [Tue, 7 Jun 2022 02:57:59 +0000 (14:57 +1200)]
Merge pull request #23692 from eileenmcnaughton/contact_out
Import - make tracking fields import-specific
Eileen McNaughton [Tue, 7 Jun 2022 02:57:22 +0000 (14:57 +1200)]
Expand try-catch to whole function
Seamus Lee [Tue, 7 Jun 2022 02:39:53 +0000 (12:39 +1000)]
Merge pull request #23701 from eileenmcnaughton/unused
Remove unused properties
Eileen McNaughton [Tue, 7 Jun 2022 01:11:32 +0000 (13:11 +1200)]
Fix merge resolution issue
colemanw [Tue, 7 Jun 2022 00:32:03 +0000 (20:32 -0400)]
Merge pull request #23700 from eileenmcnaughton/import_cont_err
Make try-catch more catchy
Eileen McNaughton [Tue, 7 Jun 2022 00:23:53 +0000 (12:23 +1200)]
Merge pull request #23702 from colemanw/loadingPlaceholders
SearchKit - Make loading placeholders configurable
Eileen McNaughton [Mon, 6 Jun 2022 02:47:11 +0000 (14:47 +1200)]
Fix merge resolution mistake
Darrick Servis [Mon, 6 Jun 2022 00:32:24 +0000 (12:32 +1200)]
Improve codes & testing
Eileen McNaughton [Mon, 6 Jun 2022 00:04:23 +0000 (12:04 +1200)]
Move validateValues to parent as now generic
Darrick Servis [Sun, 5 Jun 2022 19:36:15 +0000 (12:36 -0700)]
Fix Record duplicates multiple contacts contact import exception.
Add csv file required for test.
Eileen McNaughton [Sun, 5 Jun 2022 00:43:41 +0000 (12:43 +1200)]
Add import-specific tracking fields
Eileen McNaughton [Sat, 4 Jun 2022 23:39:13 +0000 (11:39 +1200)]
Simplify try-catch to a single block
Eileen McNaughton [Sat, 4 Jun 2022 23:22:03 +0000 (11:22 +1200)]
Remove extra validation - per the comments it is a duplicate
Monish Deb [Mon, 6 Jun 2022 16:48:04 +0000 (22:18 +0530)]
Merge pull request #23689 from eileenmcnaughton/member_really_labels
[Import] [Membership] Cleanup, fix form breakage (unreleased regression)
Coleman Watts [Mon, 6 Jun 2022 14:26:28 +0000 (10:26 -0400)]
SearchKit - Make loading placeholders configurable
This allows the admin to control how many (if any) skeleton results are shown
during ajax loading.
It also lightens the colors to make the flashing a bit more subtle.
Monish Deb [Mon, 6 Jun 2022 13:47:51 +0000 (19:17 +0530)]
Merge pull request #23648 from colemanw/afformUndo
Afform - Add undo/redo buttons to the Admin UI
Eileen McNaughton [Mon, 6 Jun 2022 12:08:02 +0000 (00:08 +1200)]
Remove unused properties
Eileen McNaughton [Mon, 6 Jun 2022 11:59:30 +0000 (23:59 +1200)]
Make try-catch more catchy
Eileen McNaughton [Mon, 6 Jun 2022 04:41:42 +0000 (16:41 +1200)]
Updates to reflect changes made for QA for import_queue, test to fix validate now as that is where it fails
Eileen McNaughton [Sat, 4 Jun 2022 12:04:53 +0000 (00:04 +1200)]
Add test to check update-with-id works and date handling works
Fix test to test the matching csv (changed by mistake)
Eileen McNaughton [Sat, 4 Jun 2022 11:41:33 +0000 (23:41 +1200)]
Fix field mapping not loading
Eileen McNaughton [Sat, 4 Jun 2022 11:24:43 +0000 (23:24 +1200)]
Remove unused variables.
Eileen McNaughton [Sat, 4 Jun 2022 09:15:34 +0000 (21:15 +1200)]
Enotice fix
Enotice fix
Eileen McNaughton [Sat, 4 Jun 2022 09:13:05 +0000 (21:13 +1200)]
Add test for tab-separated file
Missed out the csv files
Eileen McNaughton [Fri, 3 Jun 2022 23:27:54 +0000 (11:27 +1200)]
Membership form flow tidy-up
Eileen McNaughton [Fri, 3 Jun 2022 23:02:59 +0000 (11:02 +1200)]
Member import cleanup - use datasource
Eileen McNaughton [Thu, 26 May 2022 05:37:55 +0000 (17:37 +1200)]
Update Member import to use labels not names in mapping
Eileen McNaughton [Thu, 26 May 2022 07:33:18 +0000 (19:33 +1200)]
[Import] [Ref] Minor extraction on membership metadata
Eileen McNaughton [Mon, 6 Jun 2022 03:18:53 +0000 (15:18 +1200)]
Add extra shared import functions
This is an attempt to get away from fixing known breakage
being blocked by
https://github.com/civicrm/civicrm-core/pull/23689
These functions should be mostly as-yet-unused, or only minorly changed
but required to fix the known issues
Eileen McNaughton [Mon, 6 Jun 2022 04:27:14 +0000 (16:27 +1200)]
Merge pull request #23669 from eileenmcnaughton/import_queue
Use UI Queue runner for import
Eileen McNaughton [Mon, 6 Jun 2022 02:07:35 +0000 (14:07 +1200)]
Fix tests to the updated function signature
Eileen McNaughton [Mon, 6 Jun 2022 00:24:17 +0000 (12:24 +1200)]
Merge pull request #23698 from seamuslee001/fix_price_set_entity_since
[NFC] Fix Since version in Price Set Entity APIv4
Eileen McNaughton [Mon, 6 Jun 2022 00:23:35 +0000 (12:23 +1200)]
Also remove contactFields from createContact signature
Eileen McNaughton [Mon, 6 Jun 2022 00:17:10 +0000 (12:17 +1200)]
Remove remaining refs to onDuplicate
Eileen McNaughton [Sun, 5 Jun 2022 23:29:22 +0000 (11:29 +1200)]
Merge pull request #23687 from colemanw/adminAfformPerm
Afform - Add 'administer afform' permission
Eileen McNaughton [Thu, 2 Jun 2022 14:14:34 +0000 (02:14 +1200)]
Use UI Queue runner for import
Additional minor code simplification
Tear down fix
Maybe the var name needs to match in the CI php version
Seamus Lee [Sun, 5 Jun 2022 22:52:02 +0000 (08:52 +1000)]
Merge pull request #23691 from eileenmcnaughton/contact_type
Add not-yet-used function to allow the import to run in static (queue) context
Seamus Lee [Sun, 5 Jun 2022 22:51:45 +0000 (08:51 +1000)]
Merge pull request #23688 from eileenmcnaughton/import_cont_tests
Contribution import - tests & fixes on dates, amount
Seamus Lee [Sun, 5 Jun 2022 22:42:03 +0000 (08:42 +1000)]
[NFC] Fix Since version in Price Set Entity APIv4
Eileen McNaughton [Sun, 5 Jun 2022 22:24:07 +0000 (10:24 +1200)]
Merge pull request #23693 from pradpnayak/pricesetid1
Typo fix for Entity Id
Eileen McNaughton [Sun, 5 Jun 2022 22:23:44 +0000 (10:23 +1200)]
Merge pull request #23694 from pradpnayak/pricesetid2
Add price set entity api4 support
Eileen McNaughton [Sun, 5 Jun 2022 22:13:23 +0000 (10:13 +1200)]
Merge pull request #23696 from mlutfy/mailingSubCancel
Mailing List Subscription: remove the cancel button
Mathieu Lutfy [Sun, 5 Jun 2022 20:20:01 +0000 (16:20 -0400)]
Mailing List Subscription: remove the cancel button
Pradeep Nayak [Sun, 5 Jun 2022 18:58:27 +0000 (19:58 +0100)]
Add price set entity api4 support
Pradeep Nayak [Sun, 5 Jun 2022 18:55:44 +0000 (19:55 +0100)]
Typo fix for Entity Id
Eileen McNaughton [Sat, 4 Jun 2022 22:32:43 +0000 (10:32 +1200)]
Add runImport function
This is required both for the queue fix and for QA fixes on the import classes.
Eileen McNaughton [Sat, 4 Jun 2022 22:27:28 +0000 (10:27 +1200)]
Save different type_id per import
I left it as just contact to start with - but as I've gone further it's clear
we need a type for each import - best done now
Eileen McNaughton [Sat, 4 Jun 2022 03:32:08 +0000 (15:32 +1200)]
Contribution import - tests & fixes on dates, amount
Fixes inconsistent amount handling - these
are issues that I found through writing unit tests to cover them
The money handling was permitting amounts where the
decimal separator was before the thousand. On the dates
there was a format being handled for some fields
but not others
Eileen McNaughton [Fri, 3 Jun 2022 23:27:30 +0000 (11:27 +1200)]
Extract saveFieldMapping
Eileen McNaughton [Sat, 4 Jun 2022 11:17:35 +0000 (23:17 +1200)]
Merge pull request #23690 from totten/master-queue-visibility
APIv4 - Allow creator to read `UserJob` and `Queue` records
Tim Otten [Sat, 4 Jun 2022 08:02:06 +0000 (01:02 -0700)]
APIv4 - Allow creator to read `UserJob` and `Queue` records
Before
------
* `Queue.get` requires permission `administer queues`
* `UserJob.*` requires permission `access CiviCRM`, but it only
returns records if where the `created_id` matches current-user
After
-----
* `Queue.get` and `UserJob.*` follow similar rules
* Users with permission `administer queues` can view all
* Users with permission `access CiviCRM` can view items where `created_id` matches current-user
Eileen McNaughton [Sat, 4 Jun 2022 04:00:04 +0000 (16:00 +1200)]
Merge pull request #23670 from colemanw/searchKitAddPerm
SearchKit - Add "administer search_kit" permission
Eileen McNaughton [Sat, 4 Jun 2022 02:30:41 +0000 (14:30 +1200)]
Merge pull request #23684 from colemanw/relationshipCachePermissions
RelationshipCache - Set 'get' permissions
Coleman Watts [Sat, 4 Jun 2022 01:39:22 +0000 (21:39 -0400)]
Afform - Add 'administer afform' permission
This permission allow non-admins to compose forms and view submission results.
Coleman Watts [Fri, 3 Jun 2022 03:29:30 +0000 (23:29 -0400)]
APIv4 - Use api kernel to validate entity permissions
This allows extensions to expand permissions via the civi.api.authorize event,
instead of assuming that all permissions are hard-coded in the core entity.
Coleman Watts [Thu, 2 Jun 2022 15:06:10 +0000 (11:06 -0400)]
SearchKit - Switch nav menu to mgd.php with new permission
colemanw [Sat, 4 Jun 2022 01:23:59 +0000 (21:23 -0400)]
Merge pull request #23683 from eileenmcnaughton/import_cont
[Import] [Contribution] Cleanup templates & form variables, following contact pattern
Eileen McNaughton [Fri, 3 Jun 2022 23:50:25 +0000 (11:50 +1200)]
Merge pull request #23685 from colemanw/mixinUpdate
[NFC] Mixin - update version tags and add comment for new version of mgd-php
Eileen McNaughton [Fri, 3 Jun 2022 06:34:50 +0000 (18:34 +1200)]
Use getTransformedValue more & really old code less
Eileen McNaughton [Fri, 3 Jun 2022 05:12:05 +0000 (17:12 +1200)]
Cleanup templates & form variables, following contact pattern
Eileen McNaughton [Fri, 3 Jun 2022 03:24:14 +0000 (15:24 +1200)]
Fix fatal when going back from MapField due to no dataSource
Eileen McNaughton [Fri, 3 Jun 2022 03:23:29 +0000 (15:23 +1200)]
Add import labels fixes that I figured out doing memberhsip
Importantly do_not_import should be added
colemanw [Fri, 3 Jun 2022 20:54:26 +0000 (16:54 -0400)]
Merge pull request #23686 from demeritcowboy/primary-ts
dev/core#3481 - Don't translate css classes
demeritcowboy [Fri, 3 Jun 2022 18:48:30 +0000 (14:48 -0400)]
don't translate css classes
Coleman Watts [Fri, 3 Jun 2022 18:19:05 +0000 (14:19 -0400)]
Mixin - update version tags and add comment for new version of mgd-php
colemanw [Fri, 3 Jun 2022 16:54:39 +0000 (12:54 -0400)]
Merge pull request #23680 from eileenmcnaughton/contact_map
Contact import - extract common code, make tags & groups queue-friendly
Coleman Watts [Fri, 3 Jun 2022 16:47:08 +0000 (12:47 -0400)]
RelationshipCache - Set 'get' permissions to be the same as for 'Relationship' entity
This gives lesser-permissioned users access to the RelationshipCache entity, for Search Kit.
Tim Otten [Fri, 3 Jun 2022 07:11:04 +0000 (00:11 -0700)]
Merge pull request #23283 from eileenmcnaughton/import_saved_map
[REF] Remove handling for non-existent 'savedMapping' field
Eileen McNaughton [Fri, 3 Jun 2022 06:46:19 +0000 (18:46 +1200)]
Add generic PreProcess
Eileen McNaughton [Fri, 3 Jun 2022 06:44:33 +0000 (18:44 +1200)]
Move setImportStatus to parent
m
Eileen McNaughton [Fri, 3 Jun 2022 06:42:23 +0000 (18:42 +1200)]
Add generic label get function - not used yet
Eileen McNaughton [Thu, 2 Jun 2022 09:13:27 +0000 (21:13 +1200)]
Fix flow for groups & tags
The new way is
- create the tags & groups at the form layer & only the ids
go to the parser - which adds them
This patch should be a nullop in terms of the efficiency of these
Eileen McNaughton [Fri, 3 Jun 2022 04:33:40 +0000 (16:33 +1200)]
Contact import - extract assignments to be used by other forms
Eileen McNaughton [Fri, 3 Jun 2022 03:06:37 +0000 (15:06 +1200)]
Extract common part of MapTable.tpl
Coleman Watts [Thu, 2 Jun 2022 14:26:30 +0000 (10:26 -0400)]
SearchKit - Add "administer SearchKit" permission
This permission allows non-admins to use search kit.
Previously the user needed 'administer CiviCRM data' permission.
Fixes dev/core#3457
Eileen McNaughton [Fri, 3 Jun 2022 01:40:11 +0000 (13:40 +1200)]
Merge pull request #23675 from demeritcowboy/test-sequential
[NFC] Failing test for api chain using sequential
Eileen McNaughton [Fri, 3 Jun 2022 01:37:16 +0000 (13:37 +1200)]
Merge pull request #23676 from eileenmcnaughton/white
Reformat whitespace
Eileen McNaughton [Fri, 3 Jun 2022 01:21:56 +0000 (13:21 +1200)]
Merge pull request #22762 from totten/master-queue-api4-alt
(dev/core#1304) Queues - Allow background worker to drive tasks via APIv4
Tim Otten [Fri, 3 Jun 2022 00:54:36 +0000 (17:54 -0700)]
Merge pull request #23520 from eileenmcnaughton/old_code
Deprecate stuff getting super deep into the BAO unformatted
demeritcowboy [Thu, 2 Jun 2022 23:47:19 +0000 (19:47 -0400)]
failing test for api chain with sequential
Mathieu Lu [Thu, 2 Jun 2022 23:56:31 +0000 (19:56 -0400)]
Merge pull request #23666 from eileenmcnaughton/import_combo
Contact Import cleanup - includes fixes to contact matchine
Eileen McNaughton [Thu, 2 Jun 2022 23:51:04 +0000 (11:51 +1200)]
Reformat whitespace
Seamus Lee [Thu, 2 Jun 2022 23:39:36 +0000 (09:39 +1000)]
Merge pull request #23672 from seamuslee001/fix_sequential_enforcement
APIv3 - Fix regression in handling chained calls with `sequential`
Seamus Lee [Thu, 2 Jun 2022 21:20:49 +0000 (07:20 +1000)]
Merge pull request #23671 from seamuslee001/master
Fix issue #116 api3 chain check_permissions
Seamus Lee [Thu, 2 Jun 2022 21:18:21 +0000 (07:18 +1000)]
[REF] Fix issue where forceing sequential broke webform API chained usage
Rich [Tue, 31 May 2022 22:58:34 +0000 (22:58 +0000)]
Fix issue #116 api3 chain check_permissions
Tim Otten [Wed, 2 Feb 2022 08:41:03 +0000 (00:41 -0800)]
Civi\Api4\Queue - Add APIs for claiming and running enqueued tasks
Tim Otten [Wed, 2 Feb 2022 08:29:13 +0000 (00:29 -0800)]
CRM_Queue_TaskRunner - Add background-friendly handler for `CRM_Queue_Task`s
Tim Otten [Fri, 11 Feb 2022 09:07:25 +0000 (01:07 -0800)]
SqlParallel - Implement BatchQueueInterface
Before
------
Each of the `CRM_Queue_Queue_*` drivers supports a set of methods for
claiming/releasing one queue-item at a time (eg `claimItem()`,
`releaseItem()`, `deleteItem()`).
After
-----
All drivers still support the same queue-item methods. Additionally, the
`SqlParallel` driver supports batch-oriented equivalents (`claimItems()`,
`deleteItems()`, etc).
Comments
--------
I initially looked at updating all of the drivers to support queues. There
were a few obstacles. Firstly, batched-claims seem semantically
questionable for queues that run 1-by-1 (`Sql`, `Memory`). Secondly, there
are a few extensions in contrib that extend these classes and override
methods (consequently, they're looking for stable signatures).
The approach here seemed to resolve those two concerns in an OOP-safe way:
define an optional interface (`BatchQueueInterface`) which can be used to
mark enhanced functionality on queues where it makes sense (eg
`SqlParallel`).
Tim Otten [Fri, 11 Feb 2022 06:12:40 +0000 (22:12 -0800)]
CRM_Queue_Queue_* - Respect `$queueSpec['lease_time']` (if given)
Before: The lease-time is one of the following:
1. A value requested at runtime
2. The constant 3600
After: The lease-time is either supplied as
1. A value requested at runtime
2. A value configured for the queue
3. The constant 3600
Tim Otten [Wed, 2 Feb 2022 07:22:31 +0000 (23:22 -0800)]
CRM_Queue_Queue_* - Respect `$queueSpec['retry_interval']` (if given)
Background:
* A queue runner should call `releaseItem()` if it tries and aborts some task.
* The `retry_interval` is defined as the extra time to wait before trying again.
Before: The `releaseItem()` always releases for immediate execution.
After: The `releaseItem()` checks `retry_interval`. If it's set, then it
will add an extra delay before retrying.
Tim Otten [Fri, 11 Feb 2022 03:32:02 +0000 (19:32 -0800)]
CRM_Queue_Queue_* - Track and report `run_count` for each item
Before: Whenever you `claimItem()` from the queue, it marks the item `release_time`.
After: Whenever you `claimItem()` from the queue, it marks _both_ the
`release_time` and the `run_count`.
Comments:
* This is the basis for enforcing a `retry_limit` policy.
* This doesn't require any extra queries or joins - it fits into the
existing update query.