Seamus Lee [Wed, 6 Jan 2021 21:33:53 +0000 (08:33 +1100)]
Merge pull request #19328 from colemanw/duplicateButtonFix
Correctly check button to allow duplicate contact saving from profiles
Coleman Watts [Wed, 6 Jan 2021 18:54:33 +0000 (13:54 -0500)]
Fix dev/core#2287 correctly check button to allow duplicate contact saving from profiles
Seamus Lee [Wed, 6 Jan 2021 20:06:03 +0000 (07:06 +1100)]
Merge pull request #19327 from agh1/5.33.0-releasenotes-final
5.33.0 release notes: final edits
Andrew Hunt [Wed, 6 Jan 2021 18:17:31 +0000 (13:17 -0500)]
5.33.0 release notes: final edits
Andrew Hunt [Wed, 6 Jan 2021 17:38:31 +0000 (12:38 -0500)]
5.33.0 release notes: added late changes
Seamus Lee [Sun, 3 Jan 2021 21:54:08 +0000 (08:54 +1100)]
Merge pull request #19310 from seamuslee001/port_poc_c_533
(POC) MembershipRenewalTest - Address assertions that started failing…
Tim Otten [Sat, 2 Jan 2021 06:13:51 +0000 (22:13 -0800)]
(POC) MembershipRenewalTest - Address assertions that started failing circa Jan 1, 2021
Seamus Lee [Thu, 24 Dec 2020 05:35:53 +0000 (16:35 +1100)]
Merge pull request #19267 from alifrumin/rn-5.33
[NFC] Release notes 5.33 - First Pass
Alice Frumin [Wed, 23 Dec 2020 16:38:43 +0000 (11:38 -0500)]
Release Notes 5.33
Eileen McNaughton [Wed, 23 Dec 2020 07:34:59 +0000 (20:34 +1300)]
Merge pull request #19264 from agh1/5.33.0-releasenotes-initial
5.33.0 release notes initial run
Andrew Hunt [Wed, 23 Dec 2020 04:38:44 +0000 (23:38 -0500)]
5.33.0 release notes: added boilerplate
Andrew Hunt [Wed, 23 Dec 2020 04:35:19 +0000 (23:35 -0500)]
5.33.0 release notes: raw from script
Seamus Lee [Wed, 23 Dec 2020 04:05:36 +0000 (15:05 +1100)]
Merge pull request #19261 from colemanw/searchKitFix
Search kit - fix bugs introduced during refactoring
colemanw [Wed, 23 Dec 2020 02:44:14 +0000 (21:44 -0500)]
Merge pull request #19245 from seamuslee001/dev_core_2263
dev/core#2263 Do not try and store items in the session if the sessio…
Coleman Watts [Wed, 23 Dec 2020 02:24:07 +0000 (21:24 -0500)]
Search kit - fix bugs introduced during refactoring
Seamus Lee [Mon, 21 Dec 2020 03:52:46 +0000 (14:52 +1100)]
dev/core#2263 Do not try and store items in the session if the session is currently empty
Store the locale in the session even if we are in a single lingual instance
Eileen McNaughton [Wed, 16 Dec 2020 05:24:36 +0000 (18:24 +1300)]
Merge pull request #19230 from totten/master-phpseclib-cxnrpc
composer.json - Update civicrm-cxn-rpc and phpseclib
Tim Otten [Wed, 16 Dec 2020 03:15:55 +0000 (19:15 -0800)]
composer.json - Update civicrm-cxn-rpc and phpseclib
Before
------
Require `civicrm-cxn-rpc` v0.19 (with `phpseclib` v1.x)
After
-----
Require either of:
* `civicrm-cxn-rpc` v0.20 (with `phpseclib` v2.x)
* `civicrm-cxn-rpc` v0.19 (with `phpseclib` v1.x)
Technical Details
-----------------
* The public interfaces from civicrm-cxn-rpc are the same in 0.19+0.20.
They only differ in which verison of `phpseclib` is used.
* As pointed out in https://github.com/civicrm/civicrm-cxn-rpc/issues/9, we're not
the only folks using phpseclib, so some flexibility on that seems good.
* The primary change in phpseclib 2.x is the use of PHP namespaces
(e.g. `Crypt_AES` => `\phpseclib\Crypt\AES`).
* There are newer versions of both v0.19 and v0.20 which bundle an updated certificate.
Seamus Lee [Tue, 15 Dec 2020 05:24:37 +0000 (16:24 +1100)]
Merge pull request #19219 from colemanw/targetTableFix
Fix Invalid argument PHP warning
Seamus Lee [Tue, 15 Dec 2020 01:58:15 +0000 (12:58 +1100)]
Merge pull request #19217 from totten/master-assert-perm
DispatchPolicy - Actively report any upgrade problems with hook_civicrm_permission
Coleman Watts [Tue, 15 Dec 2020 00:37:41 +0000 (19:37 -0500)]
Fix Invalid argument PHP warning
Tim Otten [Mon, 14 Dec 2020 21:13:21 +0000 (13:13 -0800)]
DispatchPolicy - Actively report any upgrade problems with hook_civicrm_permission
Overview
--------
This is a preventive/diagnostic revision which would bring to light potential
problems with firing `cleanupPermissions()`/`hook_civicrm_permission` at the
wrong moment during an upgrade.
Before
------
If `cleanupPermissions()` (and its `hook_civicrm_permission`) are fired too
early during an upgrade, then the cleanup runs quietly but omits important
results (because the hook is dropped). On several UF's, the
`cleanupPermissions()` **revokes access** for any omitted permissions. The
sysadmin would have manually re-grant access.
After
-----
If `cleanupPermissions()` (and its `hook_civicrm_permission`) are fired too
early during an upgrade, then it raises an error during the upgrade.
Surely, it's better to report the error rather than silently drop the data.
Comments
--------
* This revision is preventive/diagnostic/speculative. It's based on rumor that
somebody had a problem with permissions in an upgrade. I don't actually have
steps to reproduce a probelmatic case.
* To see this preventive mechanism in action, I provoked a trivial violation:
* Setup a DB with 5.32
* Checkout the code for 5.34.
* Add a local hack https://gist.github.com/totten/
e1448b343f94ff9c3d971402a1b3db3d
which has the effect of running `cleanupPermissions()` prematurely.
* Observe: `cv upgrade:db` fails (cv v0.3.5+)
* It's tempting to think of `hook_civicrm_permission` as returning a static list of
strings -- in which case, there's no real harm to firing during the defensive
phase. The problem is that `hook_civicrm_permission` can also be used for
dynamic scenarios. (The power of hooks!) That's useful for any site-building
extension (e.g. bespoke forms/views/APIs/dashlets) where you generate new
permissions based on site configuration. That will depend on the
correct-functioning of the extension+configuration... which cannot be
ensured during the defensive upgrade-phase... and which creates a parallel
choice between incorrect-results (data-loss) or fatal-error. This is the
real reason why one shouldn't run `cleanupPermissions()` during the defensive
phase. (Of course, we should run it... during the liberal phase...)
Seamus Lee [Sat, 12 Dec 2020 09:45:52 +0000 (20:45 +1100)]
Merge pull request #19192 from totten/5.33-upgrade
dev/core#2232 - Upgrade UI contaminates cache via l10n-js. Consolidate isUpgradeMode().
Seamus Lee [Sat, 12 Dec 2020 08:08:28 +0000 (19:08 +1100)]
Merge pull request #19195 from seamuslee001/5322_rn
Add release-notes/5.32.2.md
Tim Otten [Sat, 12 Dec 2020 06:24:03 +0000 (22:24 -0800)]
Add release-notes/5.32.2.md
Seamus Lee [Sat, 12 Dec 2020 05:27:49 +0000 (16:27 +1100)]
Merge pull request #19189 from eileenmcnaughton/533q1
Fix failure to assign view tpl variables to view page if context=search is in the url
Tim Otten [Sat, 12 Dec 2020 05:08:20 +0000 (21:08 -0800)]
Partial revert "dev/core#2232 Permit hook_civicrm_container and some other prebootish hooks to run during upgrade and clear out the asset builder cache post upgrade"
This reverts commit
756d9e0dbbe4ff66d2568f02a8ee1f152bd9c5e5.
Tim Otten [Sat, 12 Dec 2020 03:33:23 +0000 (19:33 -0800)]
dev/core#2232 - Upgrade UI contaminates cache via l10n-js. Consolidate isUpgradeMode().
This patch fixes an upgrade bug where `CachedCiviContainer` has stale data after an upgrade.
To do this, it removes an edge-case where two overlapping functions disagree.
Steps to Reproduce
------------------
1. Create a new/empty WP build
2. Install CiviCRM 5.30.1 from zipball
3. Install Mosaico 2.5
4. Download+extract new 5.32.1 zipball
5. Navigate to the GUI upgrade screen. Execute upgrade
6. Click to go back to the CiviCRM dashboard.
7. Receive error about the service 'mosaico_graphics'
Discussion
----------
The problem is created while running the upgrade GUI (step 5). The GUI sends several HTTP
requests (`civicrm/upgrade`, `civicrm/upgrade/queue/ajax/runNext`, etc). At the end, there is
an HTTP request for `civicrm/ajax/l10n-js/en_US`. The `l10n-js` request creates a flawed copy
of `CachedCiviContainer` which is responsible for subsequent errors.
This shouldn't happen - there are defensive mechanism which prevent it from happening (e.g.
during `civicrm/upgrade`). What makes `civicrm/ajax/l10n-js/en_US` different? It turns on
the implementation of `isUpgradeMode()` which activates the defensive mechanisms.
Before
------
There are two implementations of `isUpgradeMode()` (via `CRM_Core_Config` and
`CRM_Utils_System`). They often agree, but not always.
Some defensive measures trigger on `CRM_Core_Config::isUpgradeMode()` and others trigger on
`CRM_Utils_System::isUpgradeMode()`. They often trigger together, but not always.
Let's see how these can playout in a few HTTP requests:
1. `civicrm/dashboard`: The functions agree -- it's a regular page, not an upgrade. Therefore:
* (a) It allows extensions to run fully.
* (b) It enables `CachedCiviContainer` (read or write automatically).
* (a+b) It puts good/full information in the cache.
2. `civicrm/upgrade`: The functions agree -- it's an upgrade. Therefore:
* (a) It runs in paranoid mode (suspended extensions).
* (b) It disables `CachedCiviContainer`.
* (a+b) It puts no information in the cache.
3. `civicrm/ajax/l10n-js/en_US`: The functions *disagree*. In this case:
* (a) It runs in paranoid mode (suspended extensions).
* (b) It enables `CachedCiviContainer` (read or write automatically).
* (a+b) It puts bad/incomplete information in the cache.
After
-----
There is one implementation of `isUpgradeMode()`. It may be called through
either class (`CRM_Core_Config` or `CRM_Utils_System`), but the results will
always agree.
This produces the same appropriate outcome for cases of agreement (1) (2), and it fixes the
wonky/mismatched behavior in (3).
Seamus Lee [Sat, 12 Dec 2020 02:41:20 +0000 (13:41 +1100)]
Merge pull request #19185 from eileenmcnaughton/533q
dev/core#1019 Fix currency formatting of Total Amount on Event and Contribution pages (with multi-currency form support)
eileen [Sat, 12 Dec 2020 02:37:43 +0000 (15:37 +1300)]
Fix failure to assign view tpl variables to view page if context=search is in the url
Whack-a-mole round 10
Seamus Lee [Sat, 12 Dec 2020 01:49:42 +0000 (12:49 +1100)]
Merge pull request #19183 from eileenmcnaughton/533e
dev/core#2248 Ensure variables are assigned to tpl for urls
Mathieu Lutfy [Wed, 9 Dec 2020 14:28:25 +0000 (09:28 -0500)]
dev/core#1019 Fix currency formatting of Total Amount on Event and Contribution pages (with multi-currency form support)
eileen [Fri, 11 Dec 2020 23:44:06 +0000 (12:44 +1300)]
dev/core#2248 Ensure variables are assigned to tpl for urls
Seamus Lee [Fri, 11 Dec 2020 07:40:41 +0000 (18:40 +1100)]
Merge pull request #19176 from eileenmcnaughton/533m
dev/core#2246 Fix failure to filter exports
Eileen McNaughton [Fri, 11 Dec 2020 05:13:06 +0000 (18:13 +1300)]
Merge pull request #19173 from eileenmcnaughton/533
dev/core#2244 Simplify and consistently apply checking of whether financial acls are enabled
eileen [Fri, 11 Dec 2020 05:04:25 +0000 (18:04 +1300)]
dev/core#2246 Fix failure to filter exports
This fixes regression caused by us more consistently setting componentTable.
The short version here is that the presence of a componentClause should take precedences
over the inner join intended as a blunt, and maybe unnecessary, measure to
limit the export to the entity in question
eileen [Fri, 11 Dec 2020 02:26:21 +0000 (15:26 +1300)]
dev/core#2244 Simplify and consistently apply checking of whether financial acls are enabled
Per https://lab.civicrm.org/dev/core/-/issues/2244 the move of some handling to this function
did not consistently include an early return when the setting is toggled off.
Eventually there will be no setting - just 'is this extension enabled or not' but
in the transition we need this. The new version is easier to copy and paste :-)
and uses a function in the extension. The function in the main code base is
mostly a lot of code to handle the way the setting used to be stored & it
could just check the setting too now
Seamus Lee [Thu, 10 Dec 2020 21:08:50 +0000 (08:08 +1100)]
Merge pull request #19159 from colemanw/api4DynamicJoinFix
APIv4 - Fix dynamic bridge joins (used by Search Kit)
Seamus Lee [Thu, 10 Dec 2020 20:28:10 +0000 (07:28 +1100)]
Merge pull request #19161 from seamuslee001/5.33
Add release-notes/5.32.1
Tim Otten [Sat, 5 Dec 2020 07:51:41 +0000 (23:51 -0800)]
Add release-notes/5.32.1
Coleman Watts [Thu, 10 Dec 2020 19:24:29 +0000 (14:24 -0500)]
APIv4 - Fix dynamic bridge joins
Move ON clause conditions to the first join when they reference the bridge entity itself
Ensure bridge joins work with joining the same table to itself (e.g. Contact to Contact via RelationshipCache)
Seamus Lee [Wed, 9 Dec 2020 23:10:05 +0000 (10:10 +1100)]
Merge pull request #19120 from eileenmcnaughton/fee
Handle possibility of fee_amount = ''
Eileen McNaughton [Wed, 9 Dec 2020 20:44:19 +0000 (09:44 +1300)]
Merge pull request #19150 from colemanw/searchKitJoins
Search kit joins
Coleman Watts [Wed, 9 Dec 2020 15:08:43 +0000 (10:08 -0500)]
Search kit: bump version
Coleman Watts [Wed, 9 Dec 2020 14:27:16 +0000 (09:27 -0500)]
Search kit: Improve labels & relevance of smart group field selection
Coleman Watts [Wed, 9 Dec 2020 13:15:22 +0000 (08:15 -0500)]
Search kit: Display join name as part of default label
Tim Otten [Wed, 9 Dec 2020 06:33:10 +0000 (22:33 -0800)]
Merge pull request #19125 from eileenmcnaughton/ev533
CiviEvent - Error registering participants via search task
Seamus Lee [Wed, 9 Dec 2020 00:57:43 +0000 (11:57 +1100)]
Merge pull request #19141 from seamuslee001/dev_core_2232_2
dev/core#2232 Permit hook_civicrm_container and some other prebootish…
Coleman Watts [Tue, 8 Dec 2020 23:04:14 +0000 (18:04 -0500)]
Search kit: Wider dropdowns for entity selection
Coleman Watts [Tue, 8 Dec 2020 22:52:44 +0000 (17:52 -0500)]
Search kit: Add UI support for multiple, nested joins
Seamus Lee [Tue, 8 Dec 2020 01:02:23 +0000 (12:02 +1100)]
dev/core#2232 Permit hook_civicrm_container and some other prebootish hooks to run during upgrade and clear out the asset builder cache post upgrade
Tim Otten [Tue, 8 Dec 2020 05:27:13 +0000 (21:27 -0800)]
CRM_Event_Form_Task_Register - Fix error "getFieldValue failed" (tentative)
When preparing the event-registration form, `CRM_Event_Page_Tab::preProcess()` looks up the designated contact ID and
calls `checkUserPermission()`. The error message is (effectively) reporting that the permission-check fails because
there is no contact ID.
And this is a legit thing to complain about -- if you're embedding the event-registration form as part of a
search-task, then there is no *singular* contact ID. (There is a potentially very long list of contact IDs - which is
probably stored/reported some other way.) The permission-check for this context seems like it ought to be different.
I labeled the commit (tentative) because I'm not entirely certain that I understand the contract of this
route/controller. It has multiple overlapping use-cases, and I'm not certain if I've tracked them all. However, this
patch does seem to fix the "getFieldValue failed" problem when running as a search-task.
Seamus Lee [Mon, 7 Dec 2020 23:36:40 +0000 (10:36 +1100)]
Merge pull request #19139 from seamuslee001/dev_core_2235
[NFC] dev/core#2235 Fix url link to the OrderAPI Documenation
Seamus Lee [Mon, 7 Dec 2020 19:41:43 +0000 (06:41 +1100)]
[NFC] dev/core#2235 Fix url link to the OrderAPI Documenation
Coleman Watts [Mon, 7 Dec 2020 19:19:20 +0000 (14:19 -0500)]
Search kit: Add explicit conditions on entityBridge joins
Seamus Lee [Mon, 7 Dec 2020 07:44:24 +0000 (18:44 +1100)]
Merge pull request #19134 from mglaman/patch-2
Fix mglaman mapping
Matt Glaman [Mon, 7 Dec 2020 05:08:50 +0000 (23:08 -0600)]
Fix mglaman mapping
Tim Otten [Sat, 5 Dec 2020 07:29:28 +0000 (23:29 -0800)]
Event Registration Task - Propagate different qfKey & action for AJAX URLs
When use the search-task to register event participants, the qfKey is
mismatched, and the action is VIEW. It should be ADD, and the qfKey
should be for CRM_Event_Form_Participant.
eileen [Sat, 5 Dec 2020 02:07:50 +0000 (15:07 +1300)]
Additional fix
Seamus Lee [Fri, 4 Dec 2020 20:03:26 +0000 (07:03 +1100)]
Fix Fatal Error on trying to use the Register contacts to an event Advanced Search task
Eileen McNaughton [Sat, 5 Dec 2020 05:00:49 +0000 (18:00 +1300)]
Merge pull request #19123 from totten/5.33-search-range
dev/core#2188 - Upgrader - Cleanup any invalid combinations of is_search_range
Seamus Lee [Sat, 5 Dec 2020 00:38:28 +0000 (11:38 +1100)]
Merge pull request #19119 from eileenmcnaughton/532b
dev/core#2231 fix failure to calculate next_scheduled_date
Tim Otten [Sat, 5 Dec 2020 00:35:37 +0000 (16:35 -0800)]
dev/core#2188 - Upgrader - Cleanup any invalid combinations of is_search_range=1
These invalid configurations were previously asymptomatic in 5.30 but became symptomatic in 5.31.
colemanw [Sat, 5 Dec 2020 00:35:10 +0000 (19:35 -0500)]
Merge pull request #19105 from colemanw/searchJoins
Search Kit: Support robust joins in UI
Tim Otten [Sat, 5 Dec 2020 00:34:05 +0000 (16:34 -0800)]
Set version to 5.33.beta2
eileen [Fri, 4 Dec 2020 21:17:17 +0000 (10:17 +1300)]
Handle possibility of fee_amount = ''
eileen [Fri, 4 Dec 2020 21:08:30 +0000 (10:08 +1300)]
dev/core#2231 fix failure to calculate next_scheduled_date
Seamus Lee [Fri, 4 Dec 2020 05:42:29 +0000 (16:42 +1100)]
Merge pull request #19107 from eileenmcnaughton/oauth
Unhide oauth extension
Eileen McNaughton [Fri, 4 Dec 2020 03:20:07 +0000 (16:20 +1300)]
Merge pull request #19104 from MegaphoneJon/export-fix
Unable to export contacts in Civi 5.32+
eileen [Fri, 4 Dec 2020 01:04:56 +0000 (14:04 +1300)]
Unhide oauth extension
We previously indicated in dev-digest oauth would ship in 5.32 &
be unhidden in 5.33 but we forgot to do the last bit
Coleman Watts [Fri, 4 Dec 2020 00:28:00 +0000 (19:28 -0500)]
Search Ext: Support robust joins in UI
This uses better join metadata to give explicit conditions for each join,
removing the ambiguity when more than one type of join is possible between the same 2 entities.
It also adds support for joins via EntityBridge APIs.
Eileen McNaughton [Fri, 4 Dec 2020 00:25:46 +0000 (13:25 +1300)]
Merge pull request #19101 from colemanw/searchJoins
Improve APIv4 metadata for RelationshipCache and Bridge entities in general
Jon Goldberg [Fri, 4 Dec 2020 00:16:14 +0000 (19:16 -0500)]
Potential fix for 5.32+ unable to export contacts
Coleman Watts [Thu, 3 Dec 2020 20:55:53 +0000 (15:55 -0500)]
Improve APIv4 metadata for RelationshipCache and Bridge entities in general
These are the core changes needed toward geting joins supported by Search Kit
CiviCRM [Thu, 3 Dec 2020 06:54:04 +0000 (06:54 +0000)]
Set version to 5.33.beta1
Seamus Lee [Thu, 3 Dec 2020 06:24:51 +0000 (17:24 +1100)]
Merge pull request #19093 from civicrm/5.32
5.32
Tim Otten [Thu, 3 Dec 2020 06:23:36 +0000 (22:23 -0800)]
Merge pull request #19094 from totten/5.32-bump0
(NFC) release-notes/5.32.0 - Add RC-stage updates
Tim Otten [Thu, 3 Dec 2020 06:18:38 +0000 (22:18 -0800)]
release-notes/5.32.0 - Add RC-stage updates
Tim Otten [Thu, 3 Dec 2020 05:25:48 +0000 (21:25 -0800)]
Merge pull request #19092 from seamuslee001/dev_core_2228
dev/core#2228 Fix issue where by changing location type tries to pass…
Tim Otten [Thu, 3 Dec 2020 04:54:14 +0000 (20:54 -0800)]
Merge pull request #19091 from eileenmcnaughton/form
Fix fatal error on payment edit form
Seamus Lee [Thu, 3 Dec 2020 01:56:05 +0000 (12:56 +1100)]
dev/core#2228 Fix issue where by changing location type tries to pass in number:... in the API
eileen [Thu, 3 Dec 2020 01:29:19 +0000 (14:29 +1300)]
Fix fatal error on payment edit form
Seamus Lee [Thu, 3 Dec 2020 01:25:50 +0000 (12:25 +1100)]
Merge pull request #19090 from civicrm/5.32
5.32
Seamus Lee [Wed, 2 Dec 2020 23:12:45 +0000 (10:12 +1100)]
Merge pull request #19014 from eileenmcnaughton/cancel
dev/core#927 Add test demonstrating that an extraneous activity is being created & fix
Seamus Lee [Wed, 2 Dec 2020 22:42:06 +0000 (09:42 +1100)]
Merge pull request #19088 from seamuslee001/dev_core_2227
Ensure that the is_deleted filter is added correctly if we are not se…
Seamus Lee [Wed, 2 Dec 2020 02:25:12 +0000 (13:25 +1100)]
Ensure that the is_deleted filter is added correctly if we are not searching for deleted contacts but have access to view deleted contacts
Simplify IF down as per feed back from ACD and also comment from Eileen in chat and extend unit test as well
colemanw [Wed, 2 Dec 2020 13:10:46 +0000 (08:10 -0500)]
Merge pull request #19053 from totten/master-afform-tweak
Afform - Update fields and HTML mode in web-based editors
Tim Otten [Wed, 25 Nov 2020 08:02:56 +0000 (00:02 -0800)]
Convert af-monaco to crm-monaco
Tim Otten [Wed, 25 Nov 2020 19:13:02 +0000 (11:13 -0800)]
afGuiEditor - Add optional preview of HTML output
Tim Otten [Wed, 25 Nov 2020 07:14:31 +0000 (23:14 -0800)]
_af_fill_field_metadata() - Provide metadata about selected fields (regardless of DB permissions)
Tim Otten [Wed, 25 Nov 2020 19:11:11 +0000 (11:11 -0800)]
afGuiEditor - Switch canvas panel to use tabs
(1) This makes the canvas and palette line-up more nicely.
(2) This will allow more tabs.
Tim Otten [Wed, 25 Nov 2020 10:07:34 +0000 (02:07 -0800)]
Afform.convert - Add stateless helper API to convert between layouts
Tim Otten [Wed, 25 Nov 2020 09:02:05 +0000 (01:02 -0800)]
crmMonaco - Accept pass-thru arguments to Monaco
Tim Otten [Tue, 1 Dec 2020 00:24:39 +0000 (16:24 -0800)]
afHtmlEditor - Add descriptions. Add more missing fields.
Tim Otten [Wed, 25 Nov 2020 07:13:55 +0000 (23:13 -0800)]
afHtmlEditor - Use more BS3
Tim Otten [Wed, 25 Nov 2020 05:03:14 +0000 (21:03 -0800)]
afGuiEditor - Allow editing `is_public`
Tim Otten [Wed, 25 Nov 2020 05:02:42 +0000 (21:02 -0800)]
afGuiEditor - Add help blocks. Reorder in anticipation of more fields.
Eileen McNaughton [Tue, 1 Dec 2020 18:57:35 +0000 (07:57 +1300)]
Merge pull request #19087 from civicrm/5.32
5.32
colemanw [Tue, 1 Dec 2020 14:58:46 +0000 (09:58 -0500)]
Merge pull request #19082 from compucorp/dev-core-1790-contact-card-delay
dev/core#1790: Add short delay before closing tooltip elements
Seamus Lee [Tue, 1 Dec 2020 09:44:51 +0000 (20:44 +1100)]
Merge pull request #19084 from eileenmcnaughton/prod
dev/drupal#148 Fix product form such that it is possible to unseletc …