Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-04-05T14:36:26Zhttps://lab.civicrm.org/dev/core/-/issues/4214Too many CiviCRM custom fields breaks logging resulting in mysterious errors2023-04-05T14:36:26Zluke.stewartToo many CiviCRM custom fields breaks logging resulting in mysterious errorsOverview
----------------------------------------
If for some strange reason you decide to create **_a lot_** of custom fields - and use detailed logging you can break stuff rather badly without getting a nice warning.
Reproduction ...Overview
----------------------------------------
If for some strange reason you decide to create **_a lot_** of custom fields - and use detailed logging you can break stuff rather badly without getting a nice warning.
Reproduction steps
----------------------------------------
1. Turn on detailed logging
1. Create yourself a custom field group - or use one you've prepared earlier.
1. Add a lot of text fields with max length. This probably depends on database settings - for mariadb what your database innodb_page_size variable is set to.
1. At some point you will be able to add new fields to the custom group - but the row size will be exceeded when these fields are added to the log_custom_group_value_thing_table.
1. From this point on any operation attempting to write data into that table will result in errors when Detail logging is turned on. However due to the joys of detailed logging it will say something like field X doesn't exist - however it does - but field Y will exist on that table but not on the log_table.
1. You will possibly notice a small error message showing when turning detailed logging on.
Current behaviour
----------------------------------------
You get errors like this when turning
```
[nativecode=1118 ** Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs]
```
Expected behaviour
----------------------------------------
You should probably not be able to create custom fields after a certain point. however perhaps more to the point - if there is an error turning detailed logging on and it relates to a schema mismatch then perhaps it would be better to - turn the detailed logging back off - return a Computer says no message - along with a list of log tables that don't match what they should.https://lab.civicrm.org/dev/core/-/issues/4213Make frontend_title consistently required and use it in all front end present...2023-04-04T08:46:17ZeileenMake frontend_title consistently required and use it in all front end presentationsWhen we added frontend_title it was an optional override for title, which would fall back to title but this has been confusing to manage and means things like the token `{group.frontend_title}` token don't work and usage is inconsistent....When we added frontend_title it was an optional override for title, which would fall back to title but this has been confusing to manage and means things like the token `{group.frontend_title}` token don't work and usage is inconsistent.
The affected entities are
- Contribution Page
- Group
- Profile (UFGroup)
- PaymentProcessor - but this already follows the schema in this proposal
We need to get to a more consistent space. Front end title is currently effectively required (as it falls back to title) & holds the contents of title, or frontend title so the scope of this change is to make that the case at the DB / form level and then fix front end usages to display the front end title (only).
This addresses the inconsistencies and means that by requiring people to enter front end title they will be prompted to think about what the public see when creating the title.
There are some requests to permit title to be blank - the difficulties around handling this are what has caused us not to embark on addressing the consistencies to date. However, part of that request is better addressed through Wordpress - ie https://lab.civicrm.org/dev/core/-/issues/4212 and the other articulated reason is to ensure people are not accidentally exposing inappropriate names (which making it required will do).
There might be other reasons that an 'allow blank' feature might make sense - but I think we need to separate that feature request from our need to get to a sane place with frontend titles - so the plan is for 5.61 we will
1) make all frontend title fields required at the DB level & form level
2) do a db upgrade to populate these fields with the values in title
3) ensure that front end references always just display frontend_title.https://lab.civicrm.org/dev/core/-/issues/4212Wordpress - allow suppressing CiviCRM title in profiles / contribution pages?...2023-04-04T08:45:49ZeileenWordpress - allow suppressing CiviCRM title in profiles / contribution pages? when displaying via short codeThere is a problem @justinfreeman has been reporting whereby you wind up with double-titles because the title is not optional on the CiviCRM or the Wordpress level.
I think the right fix for this is to handle in within the short code co...There is a problem @justinfreeman has been reporting whereby you wind up with double-titles because the title is not optional on the CiviCRM or the Wordpress level.
I think the right fix for this is to handle in within the short code configuration - do you have any thoughts on how to do that @kcristiano @haystack ?
![image](/uploads/e40555c9a25d0948ca0dc5f8d60daa1f/image.png)
![image](/uploads/0a1231cdc2be7d04feeb0801163b0d38/image.png)https://lab.civicrm.org/dev/core/-/issues/4211Afform: civi.afform.prefill never called within custom extension with Case2023-04-05T14:38:41ZshaneonabikeAfform: civi.afform.prefill never called within custom extension with CaseOverview
----------------------------------------
The population of two custom fields via ```civi.afform.prefill``` when a FormBuilder is rendered is not working properly. Technically, from my discussion on [Mattermost](https://chat.civ...Overview
----------------------------------------
The population of two custom fields via ```civi.afform.prefill``` when a FormBuilder is rendered is not working properly. Technically, from my discussion on [Mattermost](https://chat.civicrm.org/civicrm/pl/e5c17zxjxfyhxm3cynxtqf8chr) prefill should be called prior to field rendering.
Basically, we are attempting to create a Form that uses CiviCase to be able to allow members to request to change their membership type. The two custom fields that should be modified (on the fly are)
+ Current Membership (to store the existing membership)
+ Choose a Membership Type (a limited set of memberships that a person can change too)
Reproduction steps
----------------------------------------
1. Create a Custom Data Field set _used for_ Cases
1. Create a field _Current Membership_ with a DataType Alphanumeric Radio
1. Create a field _Choose a Membership Type_ with a DataType Integer Radio
![Selection_007](/uploads/7c1ec6e9d4379e5ed9d75413b0bcc82d/Selection_007.png)
1. Create a FormBuilder linked to a Case
1. Set _Case Clients_ to Current User
1. Set _Case Type_ to your new Case Type
1. Create a custom extension and add the code below
1. Enable extension
1. No fields are modified
### Custom code
```php
/**
* Implements hook_civicrm_config().
*
* @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_config/
*/
function myext_civicrm_config(&$config) {
_myext_civix_civicrm_config($config);
$dispatcher = Civi::dispatcher();
// Add FormBuilder Prefill
$dispatcher->addListener('civi.afform.prefill', 'myext_afform_prefill', 99);
}
``` php
/**
* Implements AfformPrefillEvent
* @link https://docs.civicrm.org/dev/en/latest/afform/afform-events/
*/
function myext_afform_prefill($event) {
Civi::log()->warning('Event here');
$form = $event->getAfform();
Civi::log()->warning('Form : '.var_export($form,true));
if ($form['name'] == 'abc') {
$entity_values = $event->getEntityValues();
Civi::log()->warning('Values : '.var_export($entity_values,true));
}
}
```
### Afform Markup
```html
<af-form ctrl="afform">
<af-entity data="{contact_id: ['user_contact_id'], case_type_id: '4', status_id: '4', subject: 'Request Form - Change Membership Type'}" actions="{create: true, update: false}" type="Case" name="Case1" label="Case 1" security="FBAC" />
<div class="af-markup">
</div>
<fieldset af-fieldset="Case1" class="af-container">
<af-field name="Request_Membership_Change.Current_Membership" defn="{label: 'Your Current Membership', required: true}" />
<af-field name="Request_Membership_Change.Choose_a_Membership_Type" defn="{label: 'Choose a New Membership Type', required: true}" />
<af-field name="Request_Membership_Change.Documentation" defn="{label: 'Supporting Documentation'}" />
<button class="af-button btn btn-primary" crm-icon="fa-check" ng-click="afform.submit()">Submit Request</button>
</fieldset>
</af-form>
```
Current behaviour
----------------------------------------
The ```civi.afform.prefill``` event never seems to be launched. I can confirm that it is being launched on the Validate hook so it should also work for prefill.
Expected behaviour
----------------------------------------
When loading the form the ```_prefill``` hook Event would be launched and we could modify the custom fields like we can with ```hook_civicrm_fieldOptions```
Environment information
----------------------------------------
* __CiviCRM:__ 5.60
* __CMS:__ Drupal 7
Comments
----------------------------------------
I wouldn't mind helping to debug this issue and/or provide a merge request. I would just need further pointers. When I tried to add logs in the actual afform prefill event creation there were no logs output. I could be doing something wrong but I have the impression it's not getting fired.
My gutt says it's because this is only presently setup for Autocomplete fields like Contacts Select list, but I could be totally off.https://lab.civicrm.org/dev/core/-/issues/4210Only possible to add A-B relationships types or B-A relationship types (not b...2023-04-04T08:45:11ZScottMasonOnly possible to add A-B relationships types or B-A relationship types (not both) to new contact using Form BuilderWhen using Form Builder to create a new contact and then add relationships to that contact using a single form it appears that it is only possible to select to add A-B relationship or B-A relationships but not both. For example, if creat...When using Form Builder to create a new contact and then add relationships to that contact using a single form it appears that it is only possible to select to add A-B relationship or B-A relationships but not both. For example, if creating a new Individual the form can be configured to allow users to add 'Child of' relationships or 'Parent of' relationships but not both.
1. Create a new contact form using form builder
2. Add a relationship fieldset
3. Set as a default value either Contact A or Contact B as 'Organisation1' (i.e. the new contact being created) - see image below.
![image](/uploads/49caec4139d87f8e17878e4785fabec3/image.png)
4. Quite understandably if Organisation1 is set as 'Contact A' only A-B relationship types can be selected in the form and if Organisation1 is set to 'Contact B' only B-A relationship types can be selected. For example, in our case if adding a new company it is possible to add 'Parent of' relationships to the new company but not 'Subsidiary of' relationships.
![image](/uploads/bf24ad54c5fff2ff4c3011d7c8900ca4/image.png)
This is logical given the way the form has been configured, so I am not sure if this is necessarily a 'bug' but I wondered if there was a way of configuring the form so that I user can select both A-B and B-A relationship types when adding relationships using form builder?
Thanks
Scotthttps://lab.civicrm.org/dev/core/-/issues/4209Form builder does not load activity 'details' in pop-up edit mode2023-04-04T08:44:40ZScottMasonForm builder does not load activity 'details' in pop-up edit mode1. Create a form builder for an activity including the 'details' field
2. Add an activity using the form
3. Create a SK display for activities with a menu item 'edit' configured to load the form in popup mode
4. Select edit from the SK d...1. Create a form builder for an activity including the 'details' field
2. Add an activity using the form
3. Create a SK display for activities with a menu item 'edit' configured to load the form in popup mode
4. Select edit from the SK display - the form is loaded with all data except for the details field which is blank.
Strangely when tested on dmaster demo the popup appears to load the details data on the first load but not any subsquent attempts.
![image](/uploads/9149c476f4563d457425512dd024398a/image.png)https://lab.civicrm.org/dev/core/-/issues/4208Generating invoices generates an error with version >= 0.12.6 of wkhtmltopdf.2023-04-04T08:44:14ZeileenGenerating invoices generates an error with version >= 0.12.6 of wkhtmltopdf.Full detail in https://github.com/civicrm/civicrm-core/pull/23055 - am creating this to track that issue as the patch is not mergeable as isFull detail in https://github.com/civicrm/civicrm-core/pull/23055 - am creating this to track that issue as the patch is not mergeable as ishttps://lab.civicrm.org/dev/core/-/issues/4207SearchKit/FormBuilder - handling monetary totals2023-06-15T13:31:25Zaydunsaidan.saunders@squiffle.ukSearchKit/FormBuilder - handling monetary totalsA few related issues around totals of contributions:
1) One frequent need is to show a list of Contributions with a total. SearchKit produces the list and FormBuilder happily adds up the contribution amounts regardless of currency, pro...A few related issues around totals of contributions:
1) One frequent need is to show a list of Contributions with a total. SearchKit produces the list and FormBuilder happily adds up the contribution amounts regardless of currency, producing a useless figure.
For example with a simple search of contributions shown in a table with Totals enabled:
![image](/uploads/5ddde3882b6f2cee65ff48fb0e28bbe7/image.png)
Probably the most user-friendly is to show a total like '$175.00, £25.00', maybe with an option for 'USD 175.00, GBP 25.00'
2) If we try to get totals by adding 'group by currency' we get:
![image](/uploads/f731fe6608e9d2cd5d6071842512270a/image.png)
Note that the GBP figure has lost the '£' and now shows with the default currency symbol '$'
In this case, if there was no currency symbol we could use rewrite to add '[currency:name]' as a workaround, but the '$' interferes with that.
See also: dev/core#3428 and https://github.com/civicrm/civicrm-core/pull/24524https://lab.civicrm.org/dev/core/-/issues/4206FormBuilder: Enable/disable "Add to Contact Summary Page" causes form to be v...2023-06-30T19:27:09Zmattwiremjw@mjwconsult.co.ukFormBuilder: Enable/disable "Add to Contact Summary Page" causes form to be visible in contactlayout when disabled.1. Observe that formname.aff.json has `"contact_summary: null"`
2. Enable "Add to Contact Summary Page" - save.
3. Disable "Add to Contact Summary Page" - save.
4. Observe that formname.aff.json has `"contact_summary: 0"`
If `contact_su...1. Observe that formname.aff.json has `"contact_summary: null"`
2. Enable "Add to Contact Summary Page" - save.
3. Disable "Add to Contact Summary Page" - save.
4. Observe that formname.aff.json has `"contact_summary: 0"`
If `contact_summary` = 0 contact layout editor extension displays the tab on "Individual" contact layout. Not sure if this needs fixing in formbuilder or contactlayout? But formbuilder should be saving the value consistently at least I would think? ie. 0 or null not both.5.62.0https://lab.civicrm.org/dev/core/-/issues/4205Can't create new events from a template using the API2023-03-27T21:44:02ZufundoCan't create new events from a template using the API
Reproduction steps
----------------------------------------
1. Create an event template and note its ID
2. Attempt to create a new event using the API, by adding the `template_id` parameter with the ID from 1.
Expected behaviour
-----...
Reproduction steps
----------------------------------------
1. Create an event template and note its ID
2. Attempt to create a new event using the API, by adding the `template_id` parameter with the ID from 1.
Expected behaviour
----------------------------------------
A new event is created with the values populated from the template. Works up to 5.58
Current behaviour
----------------------------------------
From 5.59 the newly created event is itself a template, rather than a fully fledged event.
Comments
----------------------------------------
I think this bugfix went too far -- that code needed moving rather than replacing. MR incoming :smile:
Edit: _this_ bugfix https://github.com/civicrm/civicrm-core/commit/4bb246b6d43dfd5b3cf2a7e2b1f6b41368d85e595.59.4https://lab.civicrm.org/dev/core/-/issues/4204Direct Debit agreement is always/never shown depending on which payment proce...2023-04-25T18:46:28ZbgmDirect Debit agreement is always/never shown depending on which payment processor is the defaultTo reproduce:
- Enable the Credit Card dummy processor
- Enable a Direct Debit processor (such as CiviSepa? or iATS)
- Enable both on a Contribution Page
Depending on which Payment Processor is set as the default, that will influence i...To reproduce:
- Enable the Credit Card dummy processor
- Enable a Direct Debit processor (such as CiviSepa? or iATS)
- Enable both on a Contribution Page
Depending on which Payment Processor is set as the default, that will influence if the "direct debit agreement" is displayed on the contribution page. It should only be shown if a Direct Debit payment method was selected.
Screenshots by @Andreas in #4189:
![screenshot1](/uploads/06edccccf03f105e07263906e06ed4a4/screenshot1.png)
![screenshot2](/uploads/97f048b7788ea9672fb4b2584e8d9962/screenshot2.png)
Initially reported by @romy5.61.0https://lab.civicrm.org/dev/core/-/issues/4203add end date to petition2023-03-27T06:52:21Zjamieadd end date to petitionOverview
----------------------------------------
This proposed feature would add a new field to petitions called: End date. If someone tries to sign a petition that has an end date in the past, they would get a friendly error warning t...Overview
----------------------------------------
This proposed feature would add a new field to petitions called: End date. If someone tries to sign a petition that has an end date in the past, they would get a friendly error warning them that the petition is no longer active.
Current behaviour
----------------------------------------
Now, we can create petitions and manually disable them. However there are two problems:
1. If you disable a petition it no longer shows up in advanced search so you can no longer find signatories.
2. It's easy to forget to disable a petition. That means these potentially spam-collecting forms can live on for too long
3.
Proposed behaviour
----------------------------------------
By adding an end date when you create the petition, you can set it up and forget about it.
Comments
----------------------------------------
I'm open to taking a crack at implementing, but wanted to first get feedback to see if this is the best way to go about it or if there are any potential pitfalls.https://lab.civicrm.org/dev/core/-/issues/4202EntityRef custom fields don't work with API4 or SearchKit2024-01-12T15:49:42ZJonGoldEntityRef custom fields don't work with API4 or SearchKitOverview
----------------------------------------
EntityRef custom fields don't return values when selected in API4. Even after I fixed that, they're not part of the `CRM.crmSearchAdmin.joins` so they're not selectable in SearchKit.
Re...Overview
----------------------------------------
EntityRef custom fields don't return values when selected in API4. Even after I fixed that, they're not part of the `CRM.crmSearchAdmin.joins` so they're not selectable in SearchKit.
Reproduction steps
----------------------------------------
API4 issue:
* Create an EntityRef custom field.
* Go to API4 Explorer.
* Try to use them comparably to how one might use a core EntityRef field (e.g. Contact `employer_id`).
Selecting the field directly returns `NULL`. You can't join on EntityRef.
I have a PR that fixes the above, but after that, the joins still don't appear in SK. I've tracked the issue down to `\Civi\Search\Admin::getJoins()` but this exceeds my API4 knowledge limit.
Technically I'd consider this part of #3721 but since that's closed we'll track this separately.
@herbdool Once this is done, #3949 could be solved by using an EntityRef custom field instead of ContactRef.https://lab.civicrm.org/dev/core/-/issues/4201Afform - Form Submission fails for Anonymous users if Duplicate Matching is on2023-08-01T19:19:45ZalicefruminAfform - Form Submission fails for Anonymous users if Duplicate Matching is onOverview
----------------------------------------
If you create a little Afform to create/update a contact
Reproduction steps
----------------------------------------
1. Create an Afform with Generic Permissions that is Accessible on ...Overview
----------------------------------------
If you create a little Afform to create/update a contact
Reproduction steps
----------------------------------------
1. Create an Afform with Generic Permissions that is Accessible on front-end of website
2. add the fields First Name, Last Name and Email.
3. Select a Duplicate Matching Rule
4. Set the Security level as Open Access
5. Submit the form from the front end as an anonymous user.
Current behaviour
----------------------------------------
Request Authorization failed error
Expected behaviour
----------------------------------------
Form should submit and dedupehttps://lab.civicrm.org/dev/core/-/issues/4200Countable error when creating a membership batch (if org ID is not 1)2023-03-29T19:20:15ZherbdoolCountable error when creating a membership batch (if org ID is not 1)Overview
----------------------------------------
When a client creates a batch to add memberships, they get this error:
Warning: Undefined array key 1 in CRM_Core_BAO_UFGroup::buildProfile() (line 1934 of /app/sites/all/modules/civicr...Overview
----------------------------------------
When a client creates a batch to add memberships, they get this error:
Warning: Undefined array key 1 in CRM_Core_BAO_UFGroup::buildProfile() (line 1934 of /app/sites/all/modules/civicrm/CRM/Core/BAO/UFGroup.php).
TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given in CRM_Core_BAO_UFGroup::buildProfile() (line 1934 of /app/sites/all/modules/civicrm/CRM/Core/BAO/UFGroup.php).
The relevant code:
```
if (isset($types[1]) && count($types[1]) > 1) {
$types[1] = $select + $types[1];
}
```
They're on CiviCRM 5.59.1 with PHP 8+.
It's checking for membership types that are related to an organization contact but only if the contact ID is 1. If contact ID is not 1 then it's trying to count on an empty array. We can either check if it's an array before counting or maybe make it smarter: check for membership types regardless of contact ID.5.61.0https://lab.civicrm.org/dev/core/-/issues/4199SearchKit: DB Error: no such field a.total_amount when adding Tax Exclusive A...2023-03-24T03:46:42ZherbdoolSearchKit: DB Error: no such field a.total_amount when adding Tax Exclusive Amount and Balance (starting with Line Items : Contributions)Overview
----------------------------------------
There's an "Unknown column `a.total_amount` when trying to add these fields onto a SearchKit search that starts with `Line Items` and with `Contributions`:
Line Item Contribution: Tax Ex...Overview
----------------------------------------
There's an "Unknown column `a.total_amount` when trying to add these fields onto a SearchKit search that starts with `Line Items` and with `Contributions`:
Line Item Contribution: Tax Exclusive Amount
Line Item Contribution: Balance
**Note this only happens when starting with Line Items and *not* when starting with Contributions (and optionally adding Line Items).**
It's adding a field like this:
```
COALESCE(a.total_amount, 0) - COALESCE(a.tax_amount, 0) AS `LineItem_Contribution_contribution_id_01.tax_exclusive_amount`
```
and like this:
```
a.total_amount - COALESCE((SELECT SUM(ft.total_amount) FROM civicrm_financial_trxn ft
INNER JOIN civicrm_entity_financial_trxn eft ON (eft.financial_trxn_id = ft.id AND eft.entity_table = 'civicrm_contribution')
WHERE eft.entity_id = a.id AND ft.is_payment = 1 AND ft.status_id IN (1,7)), 0) AS `LineItem_Contribution_contribution_id_01.balance_amount`
```
where `a` is `civicrm_line_item`. It's assuming, I think, that the first table is `civicrm_contributions`.
Current behaviour
----------------------------------------
_What happens currently. Please provide error messages, screenshots or gifs ([LICEcap](http://www.cockos.com/licecap/), [SilentCast](https://github.com/colinkeenan/silentcast)) where appropriate._
Environment information
----------------------------------------
* __CiviCRM:__ 5.58.1 (but I looked through the release notes and I don't think it was fixed in 5.59.x)https://lab.civicrm.org/dev/core/-/issues/4198Access to undeclared variable in merge code2023-03-23T14:06:20ZRichAccess to undeclared variable in merge codeAt:
https://lab.civicrm.org/dev/core/-/blob/96d550c70dd1f406851895ddfe236fbfd718ab77/CRM/Dedupe/Merger.php#L1376
we reference `$migrationData` which is not declared. I have a hunch it should be `$migrationInfo`?
Ping @eileenAt:
https://lab.civicrm.org/dev/core/-/blob/96d550c70dd1f406851895ddfe236fbfd718ab77/CRM/Dedupe/Merger.php#L1376
we reference `$migrationData` which is not declared. I have a hunch it should be `$migrationInfo`?
Ping @eileenhttps://lab.civicrm.org/dev/core/-/issues/4197Fatal error on merge2023-04-19T07:03:53ZDavid HayesFatal error on mergeOverview
----------------------------------------
After update to 5.59 (maybe earlier). A fatal error is received on merging contacts.
Reproduction steps
----------------------------------------
1. Attempt to merge contacts
2. Fatal err...Overview
----------------------------------------
After update to 5.59 (maybe earlier). A fatal error is received on merging contacts.
Reproduction steps
----------------------------------------
1. Attempt to merge contacts
2. Fatal error
Current behaviour
----------------------------------------
```
PHP Fatal error: Uncaught TypeError: Argument 6 passed to CRM_Dedupe_Merger::processCustomFields() must be of the type bool, null given, called in /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php on line 2128 and defined in /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php:2553
Stack trace:
#0 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php(2128): CRM_Dedupe_Merger::processCustomFields()
#1 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Merge.php(324): CRM_Dedupe_Merger::moveAllBelongings()
#2 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(573): CRM_Contact_Form_Merge->postProcess()
#3 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(144): CRM_Core_Form->mainProcess()
#4 /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(43): CRM_Core_StateMachine->perform()
#5 /home/example/public_html/wp-content/plugins/civicrm/ in /home/example/public_html/wp-content/plugins/civicrm/civicrm/CRM/Dedupe/Merger.php on line 2553
```
Possible fix
----------------------------------------
Ensure `$htmlType` and `$isView` are set and bools.
![image](/uploads/deaff23e07422713d0c844c149898350/image.png)
Expected behaviour
----------------------------------------
Contacts merged.
Environment information
----------------------------------------
* __Browser:__ all
* __CiviCRM:__ 5.59.3
* __PHP:__ 7.4
* __CMS:__ WordPress
* __Database:__ MySQL 5.7.41
* __Web Server:__ Apache 2.4
Comments
----------------------------------------
NA5.59.4https://lab.civicrm.org/dev/core/-/issues/4196hook_civicrm_links - are the docs wrong or the code?2023-03-23T20:11:09ZJonGoldhook_civicrm_links - are the docs wrong or the code?The docs for `hook_civicrm_links` provides this signature:
```php
hook_civicrm_links(string $op, string $objectName, int $objectID, array &$links, int &$mask, array &$values)
```
However, the type hinting isn't always correct. I've fo...The docs for `hook_civicrm_links` provides this signature:
```php
hook_civicrm_links(string $op, string $objectName, int $objectID, array &$links, int &$mask, array &$values)
```
However, the type hinting isn't always correct. I've found:
* PCP pages pass `NULL` for `$mask`.
* The extensions page passes a string for `$objectID`.
Should we change the docs or the code?https://lab.civicrm.org/dev/core/-/issues/4195Cannot reach custom fields on Contributions from SearchKit2023-03-23T14:29:20ZRichCannot reach custom fields on Contributions from SearchKitNot sure if this is a bug or a feature request. Is it a bug if SK can't do what advanced search can?
Custom fields (1-1) on Contributions can be used in Api4, but are not reachable in SK; the fields are not listed in the "With/on" field...Not sure if this is a bug or a feature request. Is it a bug if SK can't do what advanced search can?
Custom fields (1-1) on Contributions can be used in Api4, but are not reachable in SK; the fields are not listed in the "With/on" fieldsets, and I couldn't find a CustomValues or such entity to add as a second "With".