Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-11-08T20:40:37Zhttps://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/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/4762SearchUI: Manage Extensions with SK/FB2023-11-14T16:34:11Zaydunsaidan.saunders@squiffle.ukSearchUI: Manage Extensions with SK/FBIssues relating to replacing the 'Manage Extensions' page with SK/FB
Enable SearchUI extension then go to Administer > Experimental > Extensions
## Required to match current functionality:
- [ ] Way to determine whether extension ne...Issues relating to replacing the 'Manage Extensions' page with SK/FB
Enable SearchUI extension then go to Administer > Experimental > Extensions
## Required to match current functionality:
- [ ] Way to determine whether extension needs updating
- [ ] API enhancement (?) to get info.xml data
- [ ] Expandable sections - or show in pop-up?
- [ ] Metadata update to add 'Install', 'Upgrade' and 'Disable' actions
- [ ] Functionality to show not-installed extensions (ie 'Add New' tab)
## Improvements:
- [ ] Separate core/required from community extensions (could be filters or tabs)
- [ ] Better handling of extensions with local githttps://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/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/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/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/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/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/4782Mailing system doesn't work with DigitalOcean managed databases2023-11-20T12:13:45ZrobertgarrigosMailing system doesn't work with DigitalOcean managed databasesOverview
----------------------------------------
When creating a new mailing adding a group in the recipients field triggers an error:
Possibly unhandled rejection: {"error_code":-1,"sql":"CREATE TEMPORARY TABLE civicrm_tmp_e_exrecipie...Overview
----------------------------------------
When creating a new mailing adding a group in the recipients field triggers an error:
Possibly unhandled rejection: {"error_code":-1,"sql":"CREATE TEMPORARY TABLE civicrm_tmp_e_exrecipient_dc8f2500b15714f5703ad66bc5a8bb37 (contact_id int primary key) ENGINE=MEMORY COLLATE utf8mb4_unicode_ci","debug_info":"CREATE TEMPORARY TABLE civicrm_tmp_e_exrecipient_dc8f2500b15714f5703ad66bc5a8bb37 (contact_id int primary key) ENGINE=MEMORY COLLATE utf8mb4_unicode_ci [nativecode=3161 ** Storage engine MEMORY is disabled (Table creation is disallowed).]","entity":"Mailing","action":"create","is_error":1,"error_message":"DB Error: unknown error","debug_information":"CREATE TEMPORARY TABLE civicrm_tmp_e_exrecipient_dc8f2500b15714f5703ad66bc5a8bb37 (contact_id int primary key) ENGINE=MEMORY COLLATE utf8mb4_unicode_ci”}
https://civicrm.stackexchange.com/questions/45905/storage-engine-memory-is-disabled-with-digitalocean-managed-database
Reproduction steps
----------------------------------------
1. Create a new mailing
1. add a group to the recipients field
1. Got error on console as well as "estimating" label get locked
1. You need to have the civicrm database hosted in a DigitalOcean manage database cluster
Expected behaviour
----------------------------------------
Groups should get added and count of contacts should be shown next to the recipients field
Comments
----------------------------------------
Fixed by changing line 67 of CRM/Utils/SQL/TempTable.php from `const MEMORY = 'ENGINE=MEMORY';` to `const MEMORY = 'ENGINE=InnoDB';`
I'm aware that you could think that this is a DigitalOcean Problem (they have unsetted the ability to set internal_tmp_mem_storage_engine to MEMORY), but I wonder if the Memory Engine is necessary at all.https://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/4790Can't set time format to 24 hr anymore2023-11-22T18:27:13ZDaveDCan't set time format to 24 hr anymoree.g. for date preferences set activityDate to 24 hr time. Then on a contribution the time field should be 24 hrs.
I have a feeling it's related to the same problem as https://lab.civicrm.org/dev/financial/-/issues/221 and the fix there ...e.g. for date preferences set activityDate to 24 hr time. Then on a contribution the time field should be 24 hrs.
I have a feeling it's related to the same problem as https://lab.civicrm.org/dev/financial/-/issues/221 and the fix there isn't entirely correct because something else changed about time_format. I'm not sure it's supposed to be a boolean but haven't confirmed.https://lab.civicrm.org/dev/core/-/issues/4798Online contribution flow - fix for php8.x, notices, smarty32024-02-06T05:45:17ZeileenOnline contribution flow - fix for php8.x, notices, smarty3This is an oversight issue for fixing up the online contribution form in php8.x with a view to
1) resolving all the smarty & php layer notices, including in the message templateb
2) fixing the places where it doesn't work with Smarty3 (...This is an oversight issue for fixing up the online contribution form in php8.x with a view to
1) resolving all the smarty & php layer notices, including in the message templateb
2) fixing the places where it doesn't work with Smarty3 (in the online membership receipt & I think I fixed one in Confirm.tpl maybe)
3) fixing it to work with php8.2 (no undeclared properties)
4) fixing the underlying line item handling mess (we have multiple different ways of setting & retrieving the line itesm + a whole lot of code that does stuff to the line items but ultimately alters variables that get discarded. The impact of that I found tax bugs as soon as I started looking at the code.
5) fixing the online membership receipt such that it is previewable in MessageAdmin Ui, and does not require complex code to call it & have it render correctly (ie. `composeMessageArray` & the form layer both do a lot of assigning that should be unnecessary)
Much of this work has been done in small steps with a few in 5.68 & the bulk in 5.69. The goal is to try to resolve all the most important parts in 5.69 & then not do any more & encourage lots of rc testing on 5.69.
Areas to think about when testing
- data input with different currency separators
- non deductible amount with tax
- checking tax in separate payment & non separate payment scenarios (this actually has modest test cover but should be extended)
- checking the receipts
- checking the contribution recur amount is correct - when there is an autorenew membership + a contribution & it is not separate payment the amount should be equal to the tax-inclusive amount for the membership part of the contribution
Issues
**Must fix regressions**
- [x] Form layer issue on other amount js - probably regression in rc or master https://lab.civicrm.org/dev/core/-/issues/4795
- [x] Disabled options showing up https://github.com/civicrm/civicrm-core/pull/28356
- [x] Membership type not selected as a default https://github.com/civicrm/civicrm-core/pull/28361
- [ ] Is something weird happening with pledge? I couldn't figure out how to enable & disable & see it there & not there - UPDATE - I think this is a demo site data issue - https://github.com/civicrm/civicrm-core/pull/28497
- [x] Is the other Amount js right when there is NOT a membership? Need to compare to an older version... This might also be a demo site data issue per ^^
**Regression?Improvement?**
- [x] Change in line items for membership + contribution https://lab.civicrm.org/dev/core/-/issues/4814
**Extension issues**
- [x] A couple of extensions are interacting with the no-longer-in-use `_lineItem` undeclared property. This undeclared property also causes php8 fails. Declaring it would give a false sense of security but an alternative is to add a magic `__GET` & `__SET`. In my digging so far taxcalculator would need some small changes to adapt to this as the undeclared property is passed-by-reference but other extensions are likely to be OK with it. PR to add magic methods https://github.com/civicrm/civicrm-core/pull/28276 PR on taxcalculator https://lab.civicrm.org/extensions/taxcalculator/-/merge_requests/9
**Pre-existing issues**
These are not necessarily going to be fixed but the process of verifying them provides a goodly amount of rc testing. In some cases they are suspected fully or partially fixed already
*Tax*
- [ ] Long term issue on tax not applying to separate membership payments, in my testing pre-cleanup the tax-not-applied seemed to go beyond separate payments. This needs re-testing & a list of issues confirmed https://lab.civicrm.org/dev/financial/-/issues/154
- [ ] Aha - here is the general tax issue I hit https://lab.civicrm.org/dev/core/-/issues/4524 - needs verification
- [x] How should tax apply to 'Other amount' - is the amount entered inclusive? https://lab.civicrm.org/dev/core/-/issues/4806
- [ ] possible bug - needs verification https://lab.civicrm.org/dev/financial/-/issues/182
- [ ] Now that we have standardised on publicly supported `getLineItems()` & `setLineItems()` how is our hook support https://lab.civicrm.org/dev/core/-/issues/2796
*Localisation*
- [x] Non-English currency formatting messes with other amount field https://lab.civicrm.org/dev/core/-/issues/4802
*Page flow*
- [ ] Membership amount + contribution issues (erm what did I mean when I wrote this?)
- [ ] Data issue when email fails https://lab.civicrm.org/dev/core/-/issues/4540
- [ ] Data issue on payment fail https://github.com/civicrm/civicrm-core/pull/26120
- [ ] ContributionRecurID not always passed to payment processor https://lab.civicrm.org/dev/core/-/issues/4019
- [ ] The stretch goal - create order before adding payment https://lab.civicrm.org/dev/financial/-/issues/76
- [ ] Also the stretch goal https://lab.civicrm.org/dev/financial/-/issues/53
- [ ] Another meta issue of unknown status https://lab.civicrm.org/dev/core/-/issues/928
*Validation*
- [ ] Contribution + membership + quick config https://lab.civicrm.org/dev/core/-/issues/3314
*On Behalf*
- [ ] Profile bug?? https://lab.civicrm.org/dev/financial/-/issues/124
- [ ] Onbehalf hide for orgs https://lab.civicrm.org/dev/core/-/issues/4725
*Presentation issues*
- [ ] Notices on form - undefined property https://lab.civicrm.org/dev/core/-/issues/4760
- [x] Currency incorrect on thank you / confirm pages https://lab.civicrm.org/dev/core/-/issues/3381
- [ ] Probably the same https://lab.civicrm.org/dev/core/-/issues/3917
- [ ] Probably the same https://lab.civicrm.org/dev/core/-/issues/411
- [ ] Problems at form layer with auto-renew handling https://lab.civicrm.org/dev/core/-/issues/3963
- [ ] Frequency units translation issues https://lab.civicrm.org/dev/translation/-/issues/53
- [ ] On behalf confusing https://lab.civicrm.org/dev/core/-/issues/2266
- [ ] PCP notices https://lab.civicrm.org/dev/drupal/-/issues/159
- [ ] Translation missin ghttps://lab.civicrm.org/dev/translation/-/issues/27
- [ ] Show hide billing doesn't work https://lab.civicrm.org/dev/financial/-/issues/129
- [ ] Email appears twice https://lab.civicrm.org/dev/core/-/issues/3858
- [ ] Translation issue https://lab.civicrm.org/dev/core/-/issues/4071
- [ ] Possible bug https://lab.civicrm.org/dev/core/-/issues/4293
- [ ] Bug? replicable https://lab.civicrm.org/dev/core/-/issues/4488
- [ ] Upload image does not show https://lab.civicrm.org/dev/core/-/issues/4817
- [x] Undefined array key "honoreeProfileFields" also "title" in ThankYou.tpl.php that appeared when payment incorrectly recorded as $0 https://lab.civicrm.org/dev/core/-/issues/4863
- [x] Edit contribution has about a dozen undefined array keys for defaultContribution, displayLineItemFinancialType, getTaxDetails, pricesetFieldsCount, hookDiscount https://lab.civicrm.org/dev/core/-/issues/4864
*Membership calculation*
- [ ] Membership term usage issue https://lab.civicrm.org/dev/core/-/issues/3344
- [ ] Probably the same thing https://lab.civicrm.org/dev/core/-/issues/3810
- [ ] Probably the same thing https://lab.civicrm.org/dev/core/-/issues/3339
- [ ] Autorenew deep dive https://lab.civicrm.org/dev/financial/-/issues/128
- [ ] My read of the code suggests that if 2 membership types are configured to offer auto-renew it will only work for one
*Premiums*
- [x] notices on manage premiums https://lab.civicrm.org/dev/core/-/issues/4793
- [x] need api support for premiums https://github.com/civicrm/civicrm-core/pull/28261
- [x] Smarty notices on premiums in Online form flow https://lab.civicrm.org/dev/core/-/issues/4794
- [ ] pre-existing brokenness on deductible amount https://lab.civicrm.org/dev/core/-/issues/1083
- [ ] More non-deductible amount issues https://lab.civicrm.org/dev/core/-/issues/2414
- [ ] non-deductible amount misconfiguration https://lab.civicrm.org/dev/core/-/issues/3083 (note we could add a system check as a low-risk step)
*Manage contribution pages*
- [x] issue saving renew options https://github.com/civicrm/civicrm-core/pull/24997
- [ ] Validation lacking https://lab.civicrm.org/dev/core/-/issues/2846
- [ ] Widget issue https://lab.civicrm.org/dev/core/-/issues/20
*Membership receipts*
- [x ] Remove text version of receipt - we are moving to relying on generated text version rather than maintaining both
- [ ] Membership data wrong https://lab.civicrm.org/dev/core/-/issues/2354
- [ ] Credit card info sometimes missing https://lab.civicrm.org/dev/core/-/issues/661
- [ ] Receipt text inconsistently handled https://lab.civicrm.org/dev/user-interface/-/issues/13
- [ ] Issue on upsell https://lab.civicrm.org/dev/core/-/issues/4332
- [ ] Proposal - remove trxn_id https://lab.civicrm.org/dev/financial/-/issues/217
- [ ] Missing recur links https://lab.civicrm.org/dev/financial/-/issues/127
*Contribution receipts*
- [ ] Somewhat obscure bug on on-behalf profiles (should be addressed if we get as far as moving the handling of that to the WorkflowMessage class) https://lab.civicrm.org/dev/core/-/issues/4779
- [x] Remove text version of receipt - we are moving to relying on generated text version rather than maintaining both
- [ ] Duplicate of donor name https://lab.civicrm.org/dev/core/-/issues/2021
- [ ] Not sent for paypal express https://lab.civicrm.org/dev/financial/-/issues/13
- [ ] PDF file name issue https://lab.civicrm.org/dev/core/-/issues/3068
- [ ] Broken links in contribution issue https://lab.civicrm.org/dev/core/-/issues/1195
- [ ] Likely fixed bug https://lab.civicrm.org/dev/core/-/issues/4185
- [ ] Checksum wiht on-behalf of https://lab.civicrm.org/dev/core/-/issues/4265
*Wordpress issue?*
- [ ] https://lab.civicrm.org/dev/wordpress/-/issues/120
Feature request
- [ ] Configurable confirm button - more than one request - like events - https://lab.civicrm.org/dev/user-interface/-/issues/10 https://lab.civicrm.org/dev/core/-/issues/4324https://lab.civicrm.org/dev/core/-/issues/4800Add Card Type and Last 4 to Contribution Import2023-12-06T22:31:00Zlevi.kAdd Card Type and Last 4 to Contribution ImportOverview
----------------------------------------
When importing a contribution there are certain fields like Date, transaction ID from the contribution that get added to the Financial_Trx it would be nice to have the Card Type ID and PA...Overview
----------------------------------------
When importing a contribution there are certain fields like Date, transaction ID from the contribution that get added to the Financial_Trx it would be nice to have the Card Type ID and PAN Truncation fields to be available in the contribution importer
Current behavior
----------------------------------------
currently Card Type ID (Card type like Visa Amex) and PAN Truncation (Last 4 of cc number) fields aren't available during contribution import
Proposed behavior
----------------------------------------
add those fields to contribution importhttps://lab.civicrm.org/dev/core/-/issues/4801[PHP 8.2] Access to an undefined property in CRM_Event_Badge_*2023-12-11T23:28:11Zjofranzfranz@systopia.de[PHP 8.2] Access to an undefined property in CRM_Event_Badge_*If I spot them correctly these are yet not covered by a unit test:
```
------ --------------------------------------------------------------------------------------
Line Logo.php ...If I spot them correctly these are yet not covered by a unit test:
```
------ --------------------------------------------------------------------------------------
Line Logo.php
------ --------------------------------------------------------------------------------------
17 Access to an undefined property CRM_Event_Badge_Logo::$format.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
31 Access to an undefined property CRM_Event_Badge_Logo::$lMarginLogo.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
32 Access to an undefined property CRM_Event_Badge_Logo::$tMarginName.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
40 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
41 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
43 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
51 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo::$border.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo::$lMarginLogo.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo::$lMarginLogo.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
54 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
54 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
56 Access to an undefined property CRM_Event_Badge_Logo::$border.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
56 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
56 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
58 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
59 Access to an undefined property CRM_Event_Badge_Logo::$border.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
59 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
59 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
59 Access to an undefined property CRM_Event_Badge_Logo::$tMarginName.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
60 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
61 Access to an undefined property CRM_Event_Badge_Logo::$border.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
61 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
61 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
61 Access to an undefined property CRM_Event_Badge_Logo::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
------ --------------------------------------------------------------------------------------
------ --------------------------------------------------------------------------------------
Line Logo5395.php
------ --------------------------------------------------------------------------------------
17 Access to an undefined property CRM_Event_Badge_Logo5395::$format.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
31 Access to an undefined property CRM_Event_Badge_Logo5395::$lMarginLogo.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
32 Access to an undefined property CRM_Event_Badge_Logo5395::$tMarginName.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
40 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
41 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
43 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
51 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo5395::$border.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo5395::$lMarginLogo.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo5395::$lMarginLogo.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
52 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
54 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
54 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
56 Access to an undefined property CRM_Event_Badge_Logo5395::$border.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
56 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
56 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
58 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
59 Access to an undefined property CRM_Event_Badge_Logo5395::$border.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
59 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
59 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
59 Access to an undefined property CRM_Event_Badge_Logo5395::$tMarginName.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
60 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
61 Access to an undefined property CRM_Event_Badge_Logo5395::$border.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
61 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
61 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
61 Access to an undefined property CRM_Event_Badge_Logo5395::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
------ --------------------------------------------------------------------------------------
------ --------------------------------------------------------------------------------------
Line NameTent.php
------ --------------------------------------------------------------------------------------
33 Access to an undefined property CRM_Event_Badge_NameTent::$lMargin.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
34 Access to an undefined property CRM_Event_Badge_NameTent::$tMargin.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
37 Access to an undefined property CRM_Event_Badge_NameTent::$format.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
55 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
62 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
62 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
65 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
65 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
66 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
67 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
68 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
68 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
69 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
70 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
78 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
79 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
79 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
79 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
79 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
81 Access to an undefined property CRM_Event_Badge_NameTent::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
------ --------------------------------------------------------------------------------------
------ --------------------------------------------------------------------------------------
Line Simple.php
------ --------------------------------------------------------------------------------------
31 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
32 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
33 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
34 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
34 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
34 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
35 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
36 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
36 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
36 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
37 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
38 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
38 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
39 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
39 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
39 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
40 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
41 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
41 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
42 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
42 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
42 Access to an undefined property CRM_Event_Badge_Simple::$pdf.
💡 Learn more: https://phpstan.org/blog/solving-phpstan-access-to-undefined-property
------ --------------------------------------------------------------------------------------
```
Related: #4072https://lab.civicrm.org/dev/core/-/issues/4806Tax amount on 'other amount field' - not being added2023-12-06T23:04:26ZeileenTax amount on 'other amount field' - not being addedWhen you Configure a Contribution Page with tax that applies to the 'Other Amount' field it is not applied.
Note that the way the page appears I feel like the amount entered should be treated as inclusive rather than exclusive - the alt...When you Configure a Contribution Page with tax that applies to the 'Other Amount' field it is not applied.
Note that the way the page appears I feel like the amount entered should be treated as inclusive rather than exclusive - the alternative would be to improve the messaging to make it clearer on the page but it feels weird to ask people to enter a tax-exclusive amount
Screenshots from 5.60 with odd currency formatting configured
![image](/uploads/3ca803cb8846284f720063a253df407b/image.png)
Note tax is still $15
![image](/uploads/a54e7208521af056f0f958e152a4ff1b/image.png)
In the final screen the tax is ... interesting
![image](/uploads/074207531cc4cdb00fb56db499ca6421/image.png)
**Note**
1) there is code to say that if the membership recurs then the other amount should not be includedhttps://lab.civicrm.org/dev/core/-/issues/4808Proposal: Phase out public profile fields and profile listings2023-12-06T22:08:58ZbgmProposal: Phase out public profile fields and profile listingsNow that SearchKit provides this functionality, we should consider deprecating "public profile fields" and profile listings. They are a recurrent source of confusion and a bad configuration can lead to a data leak (I stumble on them regu...Now that SearchKit provides this functionality, we should consider deprecating "public profile fields" and profile listings. They are a recurrent source of confusion and a bad configuration can lead to a data leak (I stumble on them regularly, with the help of the [symbiotic extension](https://civicrm.org/extensions/symbiotic).
I think we should:
- [ ] Add a feature flag (a hidden setting?) that hides
- ~~On Profiles, the option "Standalone Form or Directory"~~ (edit: I guess this might be needed for profile/edit of users with a checksum?)
- On Profile Fields: hide the visibility options, set them by default to "User and Admin only"
- [ ] Remove the feature from the Admin documentation
- [ ] Begin changing the interface to warn that we will be removing this feature, and that they can opt-in to that change right now
- [ ] Set a date for complete removal (or if someone really insists on keeping this feature, help them create an extension for it)https://lab.civicrm.org/dev/core/-/issues/4809Backend register for event via credit card has problematic pre-help text and ...2023-12-06T23:06:43ZDaveDBackend register for event via credit card has problematic pre-help text and should be completely removed and replaced with only a translation-friendly indicator of live vs testCopied from https://github.com/civicrm/civicrm-core/pull/28309
I think the [tpl line](https://github.com/civicrm/civicrm-core/blob/6c6fdea6429f39d552d0cc6bae0254d27daa4919/templates/CRM/Event/Form/Participant.tpl#L31) needs to be comple...Copied from https://github.com/civicrm/civicrm-core/pull/28309
I think the [tpl line](https://github.com/civicrm/civicrm-core/blob/6c6fdea6429f39d552d0cc6bae0254d27daa4919/templates/CRM/Event/Form/Participant.tpl#L31) needs to be completely replaced. I would remove the first sentence since it adds no value since right above it already says the name when it's present, and when it's not present is the cause of this notice, and then the second sentence is not correct in other languages (the "live"/"test" is always in english). Elsewhere the approach for that when there's a known list of values is to just hardcode the full sentences in an `{if}` block.
I do think it's important to identify if it's live or test, but since none of the above has been raised as an issue the help text itself seems very unimportant. Maybe it should just have some kind of icon indicating live or test and that's it.https://lab.civicrm.org/dev/core/-/issues/4810Class name must be a valid object or a string2023-12-06T23:12:00ZPaulButlerClass name must be a valid object or a stringI am seeing a strange issue that "seemed" to create itself. When trying to access a member record I get this error:
Class name must be a valid object or a string
in httpdocs/administrator/components/com_civicrm/civicrm/CRM/Utils/SQL.ph...I am seeing a strange issue that "seemed" to create itself. When trying to access a member record I get this error:
Class name must be a valid object or a string
in httpdocs/administrator/components/com_civicrm/civicrm/CRM/Utils/SQL.php (line 61)
* @param string $joinColumn * @return array */ public static function mergeSubquery($entityName, $joinColumn = 'id') {
* $baoName = CRM_Core_DAO_AllCoreTables::getBAOClassName(CRM_Core_DAO_AllCoreTables::getFullName($entityName));
* $bao = new $baoName();
* $fields = $bao::getSupportedFields();
* $mergeClauses = $subClauses = [];
* foreach ((array) $bao->addSelectWhereClause($entityName) as $fieldName => $fieldClauses) { if ($fieldClauses) { foreach ((array) $fieldClauses as $fieldClause) {
The command that is failing is $bao = new $baoName
This error seemed to manifest itself (I know it won't have!). I restored a dump of the database from a previous day and can access the member record just fine , when I restore the database it then throws this error.
What more can I do to try and trace the source of it. My gut feel is that it's a DB corruption of sorts but I am unable to identify what. I set SQL trace on in CiviCRM but that doesn't display any errors that I can see.
Suggestions please?
My site is running Joomla 4.4 , PHP 8.0.30 and CiviCRM 5.67.1https://lab.civicrm.org/dev/core/-/issues/4813CRM_Report_Form_Activity: Add Employer field, and "contact"-based custom fields2023-12-18T23:06:40ZAllenShawCRM_Report_Form_Activity: Add Employer field, and "contact"-based custom fieldsThis improvement is requested and sponsored by Stuart at Korlon.
We aim to implement the following changes to the CiviCRM core "Activity Detail" report (CRM_Report_Form_Activity):
- add "Current Employer" as an available column (not fi...This improvement is requested and sponsored by Stuart at Korlon.
We aim to implement the following changes to the CiviCRM core "Activity Detail" report (CRM_Report_Form_Activity):
- add "Current Employer" as an available column (not filter), to display with its Display Name, as a link to the employer contact
- auto-include "contact"-based custom fields (currently only "individual"-based custom fields get this treatment)
A PR is forthcoming. If it seems this is not a desirable improvement, please let me know in comments!
(Joinery reference: F#1317)