CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2023-12-08T08:45:02Zhttps://lab.civicrm.org/dev/core/-/issues/4788Inherited membership removed when relationship ended, but gets added back whe...2023-12-08T08:45:02Zrita_compucorpInherited membership removed when relationship ended, but gets added back when second relationship has endedSteps to reproduce:
1. Create a membership type that has 2 relationships enabled to inherit (eg. employer of, volunteer)
2. Create an organisation with the above membership
3. Create an individual
4. Create both of the relationships be...Steps to reproduce:
1. Create a membership type that has 2 relationships enabled to inherit (eg. employer of, volunteer)
2. Create an organisation with the above membership
3. Create an individual
4. Create both of the relationships between the individual and the organisation --> inherited relationship is created for individual
5. Then edit one of the relationships, and add an end date in the past --> relationship gets inactive which is correct, but **the inherited membership gets removed which is incorrect**
6. Then edit the second relationship, add an end date in the past and save --> relationship gets inactive which is correct, but **the inherited membership will be added back which is incorrect** as at this point there is no qualifying active relationship
This issue was reported by one of our clients who are using multiple relationship types with their membership types. See video grab from dmaster site https://nimb.ws/cIRBGjhttps://lab.civicrm.org/dev/core/-/issues/4779Contribution page receipt does not include on behalf of profile information w...2023-12-08T08:43:34ZalicefruminContribution page receipt does not include on behalf of profile information when a contact contributes on behalf of an organization that they are not an employee ofOverview
----------------------------------------
This is a really really edge case situation. You can configure a contribution page so that you can contribute on behalf of an organization. The list of organizations you can select from ...Overview
----------------------------------------
This is a really really edge case situation. You can configure a contribution page so that you can contribute on behalf of an organization. The list of organizations you can select from is all the organizations you have a permissioned relationship to (regardless of what the relationship type is), however the receipt will not include the on behalf of profile information unless the relationship type is "Employee of". This is an issue for a client of ours that has a membership type that is inherited thru a custom relationship type.
I think that the problem is this code: https://github.com/civicrm/civicrm-core/blob/5.67/CRM/Contribute/BAO/Contribution.php#L2306
I have a patch that deals with this for our clients specific issue but Im not sure its the best fit for core.
Reproduction steps
----------------------------------------
1. Create a Contribution Page where:
- on behalf of is turned on
- receipts are turned on
- A payment processor is available to use (the problem cannot be recreated if you do a pending pay later contribution)
2. For your user, create a relationship:
- to an organization
- of any relationship type besides "Employee of"
- that has view/update permissions in both directions.
- If your user has an employer make sure you are selecting an organization that is different than your employer.
3. Go to the contribution page on the frond end
4. In the on behalf of section, select the organization you have a relationship to that is not thru an "Employee of" relationship (that you created in step 2)
5. Make a "live" payment (you can use the dummy payment processor, just don't use the invoice option)
Current behaviour
----------------------------------------
The receipt does not include the on behalf of profile information.
Expected behaviour
----------------------------------------
The receipt should include the on behalf of profile information.
Environment information
----------------------------------------
I am able to replicate this in civicrm 5.67https://lab.civicrm.org/dev/core/-/issues/4777SearchKit 'LIKE' failing2023-11-14T16:39:12Zaydunsaidan.saunders@squiffle.ukSearchKit 'LIKE' failingOverview
----------------------------------------
Some uses of 'LIKE' don't work - eg dropdown labels.
Reproduction steps
----------------------------------------
1. Create a SK search for Contacts
1. Add `WHERE` `Constituent Informatio...Overview
----------------------------------------
Some uses of 'LIKE' don't work - eg dropdown labels.
Reproduction steps
----------------------------------------
1. Create a SK search for Contacts
1. Add `WHERE` `Constituent Information: Marital Status` `Is Like` `%partner%`
1. Search
2. Expand the Query Info section
See this [dmaster link](https://dmaster.demo.civicrm.org/civicrm/admin/search#/create/Contact?params=%7B%22version%22:4,%22select%22:%5B%22id%22,%22sort_name%22,%22contact_type:label%22,%22contact_sub_type:label%22%5D,%22orderBy%22:%7B%7D,%22where%22:%5B%5B%22constituent_information.Marital_Status:name%22,%22LIKE%22,%22%25partner%25%22%5D%5D,%22groupBy%22:%5B%5D,%22join%22:%5B%5D,%22having%22:%5B%5D%7D)
Current behaviour
----------------------------------------
In API, the `where` clause is as expected:
```
"where": [
[
"constituent_information.Marital_Status:name",
"LIKE",
"%partner%"
]
],
```
But the SQL is wrong:
```
WHERE (`constituent_information_1`.`marital_status_2` LIKE "")
```
Expected behaviour
----------------------------------------
The user's intent was to find contacts where the dropdown label matches the specified pattern.
1. The intent is to search on the label, but only the name is available
2. The pattern `%partner%` does not make it into the SQL at all.
Environment information
----------------------------------------
* __CiviCRM:__ _Master_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->https://lab.civicrm.org/dev/core/-/issues/4776Todo: Look at whether these test fails mean anything2023-11-14T16:38:47ZDaveDTodo: Look at whether these test fails mean anythingSomewhere in their flow, they call CRM_Core_Form::getAuthenticatedCheckSumContactID and it calls CRM_Core_Form::getRequestedContactID which returns null. Should it be null or the correct contact id?
This maybe qualifies as a regression ...Somewhere in their flow, they call CRM_Core_Form::getAuthenticatedCheckSumContactID and it calls CRM_Core_Form::getRequestedContactID which returns null. Should it be null or the correct contact id?
This maybe qualifies as a regression but at the moment I don't have a specific bug. It came up in the context of https://github.com/civicrm/civicrm-core/pull/28128 where they all fail if validateAuthenticatedCheckSumContactID() is expecting not null.
api_v3_ContributionPageTest.testValidate
api_v3_ContributionPageTest.testValidatePost
api_v3_ContributionPageTest.testValidateOutputOnMissingRecurFields
CRM_Contribute_Form_Contribution_ConfirmTest.testPayNowPayment
CRM_Contribute_Form_Contribution_ConfirmTest.testSeparatePaymentConfirm
CRM_Contribute_Form_Contribution_MainTest.testSetRecurFunction
CRM_Contribute_Form_Contribution_MainTest.testSetRecurFunctionOptionalYes
CRM_Contribute_Form_Contribution_MainTest.testSetRecurFunctionOptionalNo
CRM_Contribute_Form_Contribution_MainTest.testSetRecurFunctionNotAvailable
CRM_Contribute_Form_Contribution_MainTest.testExpiredPriceSet
CRM_Contribute_Form_ContributionTest.testContributionBasePreProcess
CRM_Core_FormTest.testGetAuthenticatedUser
CRM_Event_Form_Registration_ConfirmTest.testSubmit
CRM_Event_Form_Registration_ConfirmTest.testWaitlistRegistrationContactIDParam
CRM_Event_Form_Registration_ConfirmTest.testTaxMultipleParticipant
CRM_Event_Form_Registration_ConfirmTest.testMailMultipleParticipant
CRM_Event_Form_Registration_ConfirmTest.testOnlineRegNoPrice
CRM_Event_Form_Registration_ConfirmTest.testSubmitNonPrimaryEmail
CRM_Event_Form_Registration_ConfirmTest.testRegistrationWithoutCiviContributeEnabled
CRM_Event_Form_Registration_ConfirmTest.testPaidSubmit with data set #0
CRM_Event_Form_Registration_ConfirmTest.testPaidSubmit with data set #1
CRM_Event_Form_ParticipantTest.testTransferParticipantRegistration
CRM_Event_Form_SelfSvcTransferTest.testCancel
CRM_Event_Form_Registration_ConfirmTest.testNoteSubmissionhttps://lab.civicrm.org/dev/core/-/issues/4765Add label field to OAuthClient entity2023-11-14T16:35:42ZjensschuppeAdd label field to OAuthClient entity## Overview
We came across a use-case for multiple _OAuthClient_ entites with the same _Client ID_, which makes differentiating them difficult in the UI. We'd like to propose adding a field for an administrative label to the _OAuthClien...## Overview
We came across a use-case for multiple _OAuthClient_ entites with the same _Client ID_, which makes differentiating them difficult in the UI. We'd like to propose adding a field for an administrative label to the _OAuthClient_ entity and defining it as the `label_field`. It might also be a good idea to make labels required.
## Proposed behaviour
We're currently building an API extension for synchronizing data from another CRM-like system that requires authorization via OAuth and differentiates multiple instances/sources by using different access tokens for the same client ID/secret.
Our sync API uses configurable profiles which have the OAuth client as a configuration option, so there's a field for selecting an OAuth client in the UI. The only attribute for differentiating OAuth clients in that field is their internal (CiviCRM) ID, as Client ID and secret are the same and the access token should not be exposed and might change. This is not convenient for admins, as they will have to remember which (internal) OAuth client ID corresponds to which instance, which is likely to cause misconfigurations and errors.
I guess this will need:
* the XML schema of the `OAuthClient` entity be extended with a `label` field
* `civix generate:entity-boilerplate`
* Upgrade script for applying schema changes - thanks @eileen!
* anything else?
Happy to hear your thoughts!https://lab.civicrm.org/dev/core/-/issues/4764SearchKit: permission for entity (expenses) needed to access SearchKit as non...2023-11-29T20:01:34ZMariaVSearchKit: permission for entity (expenses) needed to access SearchKit as non-adminWhen there is a SearchKit form with entity expenses, non-admins without the permission "manage expenses" can not access SearchKit.
When I try to open SearchKit (via Search > SearchKit) without the permission I get the following error mes...When there is a SearchKit form with entity expenses, non-admins without the permission "manage expenses" can not access SearchKit.
When I try to open SearchKit (via Search > SearchKit) without the permission I get the following error message: "Civi\API\Exception\UnauthorizedException: Authorization failed in /html/wordpress/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php on line 149"
This seems to be a bug and might be true for other specific entities, too.https://lab.civicrm.org/dev/core/-/issues/4763Issues - contribution page when membership amount + contribution in play2023-11-17T01:29:53ZeileenIssues - contribution page when membership amount + contribution in playI'm trying to fix up the online membership receipt template to be consistent with the others but hitting multiple issues/ unexpected variations so documenting.
Scenarios
| Scenario | Separate Membership Payment|Contribution Amount|Mem...I'm trying to fix up the online membership receipt template to be consistent with the others but hitting multiple issues/ unexpected variations so documenting.
Scenarios
| Scenario | Separate Membership Payment|Contribution Amount|Membership|Contribution Amount|Email details|issues |
| --------- | ------------------------- |------------------- |------- |------------------- |------- |------- |
| 1 | yes |10 |$100 General|10, 100 |2, online contribution ($10) + online membership ($100), membership info & membership fee sections|tax not applied https://lab.civicrm.org/dev/financial/-/issues/154 |
| 2 | yes |10 | free membership|2, $10 + pending $0 |$10 contribution receipt only |creates pending $0 (should be completed), no membership receipt, https://lab.civicrm.org/dev/core/-/issues/3325|
| 3 | yes |10 | no thanks for membership|$10|contribution receipt only ||
| 4 | yes |0 option | $100 General|0, 100 (both completed)|online contribution,membership |- the online contribution receipt has no amount - confusing but not necessarily a bug |
| 5 | yes |no thanks | $100 General|100 |membership receipt only | |
| 6 | yes |other amount ($5) | $100 General|$5 only|? - retest this |? - retest this|
| 7 | no |10 |$100 General|------------------- |------- |issues |
| 8 | no |10 | free membership|------------------- |------- |issues |
| 9 | no |10 | no thanks for membership|------------------- |------- |issues |
| 10 | no |0 option | $100 General|------------------- |------- |issues |
| 11 | no |no thanks | $100 General|------------------- |------- |issues |
| 12 | no |other amount ($5) | $100 General|------------------- |------- |issues |
Online membership receipt sections
- Membership Information
![image](/uploads/dc86d33bea219f8b05f5f9c388badadd/image.png)
- Memberhsip fee section
![image](/uploads/6bc733f73e9d35191f0f98fc0ce181d3/image.png)https://lab.civicrm.org/dev/core/-/issues/4753Afform - Custom fields of type YesNo (boolean): Defaults not displayed and ch...2024-03-10T20:37:04Zmattwiremjw@mjwconsult.co.ukAfform - Custom fields of type YesNo (boolean): Defaults not displayed and changes not savedTo reproduce set up a simple submission form:
1. Add Individual
2. Add "is_deceased" field (a Yes / No radio field) (optional)
3. Add a contact custom field of type "YesNo" (optional)
Create a contact and set the contact is_deceased = t...To reproduce set up a simple submission form:
1. Add Individual
2. Add "is_deceased" field (a Yes / No radio field) (optional)
3. Add a contact custom field of type "YesNo" (optional)
Create a contact and set the contact is_deceased = true and custom field "YesNo" = true
Load the form with URL parameter eg. #?Individual1=169 to load that contact
See that is_deceased field is set to Yes but the customfield is not set.
Now set the customfield to "No" and submit the form.
Reload the form and see that it did not save the value of the custom field :-(
So two issues:
1. Custom field value is not displayed: It is retrieved via prefill as a bool but the field is added with radios that have values 0,1.
2. Custom field value is not saved: It is converted to int (0 or 1) once submitted whether submitted as "false" or 0.
I've been round and round trying to work out how this should be fixed but have hit a dead end!
The display issue can be "fixed" by either not passing the options to the form or by passing them with true/false instead of 0,1. But the value still doesn't save.
@colemanw Any ideas?https://lab.civicrm.org/dev/core/-/issues/4749PHP8 Fatal error when adding files on Case custom field2023-11-08T20:40:37ZPradeep Nayakpradpnayak@gmail.comPHP8 Fatal error when adding files on Case custom fieldReplicated on https://dmaster.demo.civicrm.org/civicrm/case/cd/edit?cgcount=1&action=update&reset=1&type=Case&entityID=1&groupID=4&cid=160&subType=1
Error:
TypeError: strtolower(): Argument #1 ($string) must be of type string, array giv...Replicated on https://dmaster.demo.civicrm.org/civicrm/case/cd/edit?cgcount=1&action=update&reset=1&type=Case&entityID=1&groupID=4&cid=160&subType=1
Error:
TypeError: strtolower(): Argument #1 ($string) must be of type string, array given in strtolower() (line 1423 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/DAO.php).
Steps to replicate:
1. Create custom sets for case, add file type custom field.
2. Create a case
3. On manage case screen, click on Edit button under custom group set, and try to upload a file
File is uploaded but system throws fatal error.
Backtrace:
````
#0 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/DAO.php(1418): CRM_Core_Error::backtrace()
#1 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/BAO/CustomField.php(1323): CRM_Core_DAO::getFieldValue("CRM_Core_DAO_File", (Array:2), "id", "uri")
#2 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/BAO/CustomField.php(1193): CRM_Core_BAO_CustomField::formatDisplayValue((Array:2), (Array:45), 100025185)
#3 /var/sites//drupal10/vendor/civicrm/civicrm-core/api/v3/CustomValue.php(425): CRM_Core_BAO_CustomField::displayValue((Array:2), Object(CRM_Core_BAO_CustomField), 100025185)
#4 /var/sites//drupal10/vendor/civicrm/civicrm-core/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_custom_value_getdisplayvalue((Array:4))
#5 /var/sites//drupal10/vendor/civicrm/civicrm-core/Civi/API/Kernel.php(158): Civi\API\Provider\MagicFunctionProvider->invoke((Array:8))
#6 /var/sites//drupal10/vendor/civicrm/civicrm-core/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest((Array:8))
#7 /var/sites//drupal10/vendor/civicrm/civicrm-core/api/api.php(133): Civi\API\Kernel->runSafe("CustomValue", "getdisplayvalue", (Array:4))
#8 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Case/Form/CustomData.php(184): civicrm_api3("CustomValue", "getdisplayvalue", (Array:4))
#9 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Case/Form/CustomData.php(127): CRM_Case_Form_CustomData->formatCustomDataChangesForDetail((Array:20))
#10 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/Form.php(624): CRM_Case_Form_CustomData->postProcess()
#11 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/QuickForm/Action/Upload.php(153): CRM_Core_Form->mainProcess()
#12 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/QuickForm/Action/Upload.php(120): CRM_Core_QuickForm_Action_Upload->realPerform(Object(CRM_Case_Form_CustomData), "upload")
#13 /var/sites//drupal10/vendor/civicrm/civicrm-packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Upload->perform(Object(CRM_Case_Form_CustomData), "upload")
#14 /var/sites//drupal10/vendor/civicrm/civicrm-packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Case_Form_CustomData), "upload")
#15 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/Controller.php(355): HTML_QuickForm_Page->handle("upload")
#16 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Utils/Wrapper.php(98): CRM_Core_Controller->run()
#17 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(292): CRM_Utils_Wrapper->run("CRM_Case_Form_CustomData", "Case Custom Set", (Array:0))
#18 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:18))
#19 /var/sites//drupal10/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:4))
#20 /var/sites//drupal10/web/modules/contrib/civicrm/src/Civicrm.php(88): CRM_Core_Invoke::invoke((Array:4))
#21 /var/sites//drupal10/web/modules/contrib/civicrm/src/Controller/CivicrmController.php(83): Drupal\civicrm\Civicrm->invoke((Array:4))
#22 [internal function](): Drupal\civicrm\Controller\CivicrmController->main((Array:4), "")
#23 /var/sites//drupal10/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array((Array:2), (Array:2))
#24 /var/sites//drupal10/web/core/lib/Drupal/Core/Render/Renderer.php(592): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#25 /var/sites//drupal10/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#26 /var/sites//drupal10/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext((Array:2), (Array:2))
#27 /var/sites//drupal10/vendor/symfony/http-kernel/HttpKernel.php(182): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#28 /var/sites//drupal10/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#29 /var/sites//drupal10/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#30 /var/sites//drupal10/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#31 /var/sites//drupal10/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#32 /var/sites//drupal10/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#33 /var/sites//drupal10/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#34 /var/sites//drupal10/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#35 /var/sites//drupal10/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#36 /var/sites//drupal10/web/core/lib/Drupal/Core/DrupalKernel.php(704): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, TRUE)
#37 /var/sites//drupal10/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#38 {main
````
API params for getdisplayvalue
````
Array ( [custom_field_id] => 30 [entity_id] => 100025185 [custom_field_value] => Array ( [id] => 201 [data] => ) )
````https://lab.civicrm.org/dev/core/-/issues/4748PHP 8 - Fatal error in CRM_Contribution_Form_ContributionCharts, passes subst...2023-11-08T20:40:11ZFrancis (Agileware)PHP 8 - Fatal error in CRM_Contribution_Form_ContributionCharts, passes substring instead of int to mktime() in year fieldOverview
----------------------------------------
Contribution Dashboard crashes due to incorrectly passed arguments in the charts implementation
Reproduction steps
----------------------------------------
1. Use PHP version 8.1
2. Have...Overview
----------------------------------------
Contribution Dashboard crashes due to incorrectly passed arguments in the charts implementation
Reproduction steps
----------------------------------------
1. Use PHP version 8.1
2. Have a Contribution with a receive data before Year 1000 (Yes this will be bogus, but data is not always clean)
3. Go to Contributions / Dashboard
Current behaviour
----------------------------------------
CiviCRM site crashes with:
```
Uncaught TypeError: mktime(): Argument #6 ($year) must be of type ?int, string given in /path/to/civicrm/CRM/Contribute/Form/ContributionCharts.php:176
```
Expected behaviour
----------------------------------------
Contributions dashboard is loaded
Environment information
----------------------------------------
* __CiviCRM:__ Master, 5.66.2, 5.67
* __PHP:__ 8.1.25
* __CMS:__ WordPress 6.3.3
Comments
----------------------------------------
Was unable to reproduce this on dmaster, reason being that I don't know *how* the invalid date got in where I found the bug.https://lab.civicrm.org/dev/core/-/issues/4745Joomla: Fails to download extension feed2023-11-09T23:56:48ZtottenJoomla: Fails to download extension feedOverview
----------------------------------------
There appears to be a Guzzle conflict when fetching the extension feed on Joomla.
Reproduction steps
----------------------------------------
1. Install CiviCRM on Joomla
1. Navigate to...Overview
----------------------------------------
There appears to be a Guzzle conflict when fetching the extension feed on Joomla.
Reproduction steps
----------------------------------------
1. Install CiviCRM on Joomla
1. Navigate to dashboard
Current behaviour
----------------------------------------
The first pageload fails with:
![Screen_Shot_2023-11-01_at_4.20.15_PM](/uploads/bfab953fd770a8c09af0658b11529f04/Screen_Shot_2023-11-01_at_4.20.15_PM.png)
The NACK is cached for a while, so you won't immediately see the problem again. But we should expect it to recur.
Expected behaviour
----------------------------------------
No crash.
Environment information
----------------------------------------
The "hydra sites" (https://test.civicrm.org/view/Sites/job/hydra-sites/) are clean CMS installations. (They have the Civi source code preloaded -- but the installer hasn't run.) The error was observed on the hydra site for Joomla with CiviCRM `5.67.beta2` circa Nov 1, 2023.
* __Browser:__ Firefox
* __CiviCRM:__ 5.67.beta2
* __PHP:__ 7.4
* __CMS:__ Joomla
* __Database:__ 5.7
* __Web Server:__ Apachehttps://lab.civicrm.org/dev/core/-/issues/4738Fields disappear when there is a number validation in Activity custom fields2023-11-02T15:22:36ZbgmFields disappear when there is a number validation in Activity custom fieldsSeen in #4154, but not a new issue:
- Create a new Custom Group, for Activities
- In that group, create a new custom field of type numeric
Then go to a contact, and create a new activity (ex: meeting), and in the numeric field, enter s...Seen in #4154, but not a new issue:
- Create a new Custom Group, for Activities
- In that group, create a new custom field of type numeric
Then go to a contact, and create a new activity (ex: meeting), and in the numeric field, enter something invalid (ex: 123abc).
Result: validation error causes a fatal error:
![image](/uploads/4507a214a62f15c31b74672d392041cb/image.png)
And the custom fields, which are loaded using ajax, are not displayed.https://lab.civicrm.org/dev/core/-/issues/4733Where art thou APIv4: MailingEventSubscribe Create? Missing parity with civic...2023-11-02T15:16:06Zjustinfreeman (Agileware)Where art thou APIv4: MailingEventSubscribe Create? Missing parity with civicrm_api3('MailingEventSubscribe', 'Create')Where art thou APIv4: MailingEventSubscribe Create? Missing parity with civicrm_api3('MailingEventSubscribe', 'Create')
Agileware Ref: CVAP-50Where art thou APIv4: MailingEventSubscribe Create? Missing parity with civicrm_api3('MailingEventSubscribe', 'Create')
Agileware Ref: CVAP-50https://lab.civicrm.org/dev/core/-/issues/4731SearchKit/Form Builder: re-positioning menu links column in table display bre...2023-11-02T17:26:41ZtomrosenbloomSearchKit/Form Builder: re-positioning menu links column in table display breaks csv downloadTo reproduce:
1. add a Menu column to a SK table display - it will appear in the last column by default
2. move menu links column to a different position
3. create afform from this display
4. use action menu to download results to csv
5...To reproduce:
1. add a Menu column to a SK table display - it will appear in the last column by default
2. move menu links column to a different position
3. create afform from this display
4. use action menu to download results to csv
5. now check the download - the column data immediately to the right of the menu column is missing and the data in subsequent columns is shifted to the left
I guess this could be due to something not being closed off properly and corrupting the table, and in that case it could be relevant that one of my menu links is `civicrm/case-detail#/?id=[id]`
EDIT: no, don't think it's that: I removed this link and the problem persists5.68.0https://lab.civicrm.org/dev/core/-/issues/4728Form Builder Issue: Filter for "Contact (Near Side) / Contact (Far Side)" not...2023-10-26T11:44:33ZTobias Voigttobias.voigt@civiservice.deForm Builder Issue: Filter for "Contact (Near Side) / Contact (Far Side)" not workingI start with the "contacts" entity in Search Kit, then include "Contact Related Contacts" as an additonal entity and create a form in Form Builder for this composed search.
In Form Builder I then add a filter for both "Contact (Near Sid...I start with the "contacts" entity in Search Kit, then include "Contact Related Contacts" as an additonal entity and create a form in Form Builder for this composed search.
In Form Builder I then add a filter for both "Contact (Near Side)" and "Contact (Far Side)". When I then search for and choose a contact through one "Contact (Near Side)", the results table shows ALL possible results. When I search for and choose a contact through one "Contact (Far Side)", the results table is empty.
I was able to reproduce this behaviour in https://dmaster.demo.civicrm.org.
Side note: When I create a form directly for the composed search (rather than for a Search Kit table), I also get a warning: "Warning: Trying to access array offset on value of type null in Civi\Api4\Action\SearchDisplay\GetDefault->getColumnLabel() (line 418 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/Civi/Api4/Generic/Traits/SavedSearchInspectorTrait.php)."
Not sure if this is related to the issue or not.
If it would work, this filter would be extremely helpful and great to have.https://lab.civicrm.org/dev/core/-/issues/4713Move the Elavon Payment Processor extension out of core2023-11-28T23:54:24ZjaapjansmaMove the Elavon Payment Processor extension out of coreI have just installed CiviCRM 5.66 for a client and I see it ships with an Elavon Payment Processor extension.
I have never heard of Elavon and I believe this extension is very usefull but not in the use cases I have seen so far. (They...I have just installed CiviCRM 5.66 for a client and I see it ships with an Elavon Payment Processor extension.
I have never heard of Elavon and I believe this extension is very usefull but not in the use cases I have seen so far. (They use CiviSepa for direct debits and Mollie for online payments both are not shipped with core).
I also believe that an extension which lives outside of core is also easier to install on CiviCRM installations which does not have this extension shipped by default (when needed).https://lab.civicrm.org/dev/core/-/issues/4712Move the PHP Storm extension out of core2023-10-26T11:37:31ZjaapjansmaMove the PHP Storm extension out of coreI have just installed a fresh Civi 5.66 site for production at a client and I see that core now ships a PHP storm extension.
I believe this extension is very useful for developers but probably not for production sites.
So can this exte...I have just installed a fresh Civi 5.66 site for production at a client and I see that core now ships a PHP storm extension.
I believe this extension is very useful for developers but probably not for production sites.
So can this extension moved out of core? That also gives other flexibility to install this extensions on older CiviCRM sites on which I am doing development on.https://lab.civicrm.org/dev/core/-/issues/4704Event Info displays "registration is closed", but it requires login2023-10-20T17:45:41ZbgmEvent Info displays "registration is closed", but it requires loginIn commit 597e807091d835fba28a636ea8f9da76bf63b1a0, the condition for assigning this variable changed:
```
--- a/CRM/Event/Page/EventInfo.php
+++ b/CRM/Event/Page/EventInfo.php
@@ -280,10 +280,8 @@ class CRM_Event_Page_EventInfo extends...In commit 597e807091d835fba28a636ea8f9da76bf63b1a0, the condition for assigning this variable changed:
```
--- a/CRM/Event/Page/EventInfo.php
+++ b/CRM/Event/Page/EventInfo.php
@@ -280,10 +280,8 @@ class CRM_Event_Page_EventInfo extends CRM_Core_Page {
$this->assign('registerURL', $url);
}
}
- elseif (CRM_Core_Permission::check('register for events')) {
- $this->assign('registerClosed', TRUE);
- }
}
+ $this->assign('registerClosed', !empty($values['event']['is_online_registration']) && !$isEventOpenForRegistration);
$this->assign('allowRegistration', $allowRegistration);
```
The template in `templates/CRM/Event/Page/EventInfo.tpl` has the following code:
```
{if $registerClosed}
<div class="spacer"></div>
<div class="messages status no-popup">
<i class="crm-i fa-info-circle" aria-hidden="true"></i>
{ts}Registration is closed for this event{/ts}
</div>
{/if}
```
On a specific project, we previously had the following conditions:
- People had to login in order to register for an event
- Registrations can be closed at some pointhttps://lab.civicrm.org/dev/core/-/issues/4702Cannot clear country and state/province in contact summary address2023-12-13T20:24:15ZlarsssandergreenCannot clear country and state/province in contact summary address1. Open an address on a contact summary for editing.
2. Remove the country, which clears state/province (or remove state/province and then country).
3. Attempt to save.
Result: ![image](/uploads/4d69fc6535ffa916febbca831c393998/image.pn...1. Open an address on a contact summary for editing.
2. Remove the country, which clears state/province (or remove state/province and then country).
3. Attempt to save.
Result: ![image](/uploads/4d69fc6535ffa916febbca831c393998/image.png)
I think this a problem of the chain select not working correctly to deselect the option value, as it doesn't show a value, but the element still has a value when retrieved [here](https://github.com/civicrm/civicrm-core/blob/c911736f714c1bde28f6cdcc3b1bd0e1afbb894e/CRM/Core/Form.php#L2871). Maybe something between chain select and Select2?
If you save again, it does work.https://lab.civicrm.org/dev/core/-/issues/4701Hidden fields do their job too well2023-10-20T07:52:02ZJonGoldHidden fields do their job too well"Hidden" fields are meant to be hidden on profiles, and hidden (but showable) by default on FormBuilder.
It turns out they're hidden on all QuickForm pages. :eye: :mag_right:
Attached are two screenshots of a contribution with a hidden..."Hidden" fields are meant to be hidden on profiles, and hidden (but showable) by default on FormBuilder.
It turns out they're hidden on all QuickForm pages. :eye: :mag_right:
Attached are two screenshots of a contribution with a hidden custom field "Outreach Method", which has a value of "email". Please ignore the other custom fields - I didn't make this db :rolling_eyes:
Now in the longer term we can assume these pages will be replaced by FB and it will be a moot point, but for now, it seems like the correct behavior for hidden fields should be "visible on the back end". There are certainly instances where that wouldn't be desirable, but for now I think we need to accommodate the most common use case. Which this will be until we remove the unfortunate overlap with "reserved" custom fields.
![Selection_2050](/uploads/460114d6d1e110685b27f06a595a90cf/Selection_2050.png)
![Selection_2051](/uploads/31e8e7ba5e89e136030a7b476d306863/Selection_2051.png)