CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2023-12-06T23:25:46Zhttps://lab.civicrm.org/dev/core/-/issues/4824Ship Cors with Core2023-12-06T23:25:46ZeileenShip Cors with CoreIssue for tracking this proposal https://github.com/civicrm/civicrm-core/pull/24767Issue for tracking this proposal https://github.com/civicrm/civicrm-core/pull/24767https://lab.civicrm.org/dev/core/-/issues/4823Prevent more api calls from being added to the upgrader2023-12-06T23:23:32ZeileenPrevent more api calls from being added to the upgraderTicket created for tracking this initiative https://github.com/civicrm/civicrm-core/pull/24364Ticket created for tracking this initiative https://github.com/civicrm/civicrm-core/pull/24364https://lab.civicrm.org/dev/core/-/issues/4819Export contacts action: Merge Households option can produce export of househo...2023-12-06T23:20:03ZAndreasandreas.howiller@civiservice.deExport contacts action: Merge Households option can produce export of households that should be excluded by privacy settingOverview
----------------------------------------
The good old "export contacts" action offers the nice features 1. to merge household members into their households and 2. to exclude "do not mail" / no address / deceased contacts. Howeve...Overview
----------------------------------------
The good old "export contacts" action offers the nice features 1. to merge household members into their households and 2. to exclude "do not mail" / no address / deceased contacts. However, mixing the two can lead to probably unwanted exports.
![grafik](/uploads/a7d7f6c48e7bc23ecd5ad2613fb1d5da/grafik.png)
Reproduction steps
----------------------------------------
1. Create a household No-Mail-Household with individual Mail-Me-Person and individual Deceased-Person as household members, make sure all contacts do have an address.
2. Set privacy setting "do not mail" for No-Mail-Household.
3. Set "deceased" for contact Deceased-Person.
4. Apply "export contacts" action to a search result with all three contacts and look at some possible combinations...
Current behaviour / Expected Behaviour?
----------------------------------------
| Contacts selected for export | Merge option | Exclude "do not mail" etc. | Current behaviour | Expected behaviour
| ------ | ------ | ------ | ------ | ------ |
| No-Mail-Household | Do not merge | checked | no contact in export | no contact in export |
| Deceased-Person | Do not merge | checked | no contact in export | no contact in export |
| Mail-Me-Person | Do not merge | checked | only Mail-Me-Person in export | only Mail-Me-Person in export |
| No-Mail-Household, Deceased-Person, Mail-Me-Person | Do not merge | checked | only Mail-Me-Person in export | only Mail-Me-Person in export |
| No-Mail-Household, Deceased-Person, Mail-Me-Person | Do not merge | not checked | all three in export | all three in export |
| **No-Mail-Household**, Deceased-Person, **Mail-Me-Person** | Merge Household Members | checked | **No-Mail-Household in export** | **?** |
| No-Mail-Household, Deceased-Person, Mail-Me-Person | Merge Household Members | not checked | No-Mail-Household in export | No-Mail-Household in export |
| No-Mail-Household, Deceased-Person | Merge Household Members | not checked | No-Mail-Household in export | No-Mail-Household in export |
| No-Mail-Household, Deceased-Person | Merge Household Members | checked | no contact in export | no contact in export |
| No-Mail-Household, Mail-Me-Person | Merge Household Members | not checked | No-Mail-Household in export | No-Mail-Household in export |
| **No-Mail-Household**, **Mail-Me-Person** | Merge Household Members | checked | **No-Mail-Household in export** | **?** |
Summary
----------------------------------------
I can create an export with a household that should explicitly not appear in an export according to the export setting - this is obviously not a good idea.
But what would be a better behaviour? No contact at all or Mail-Me-Person as an individual? Perhaps the latter makes more sense?
Environment information
----------------------------------------
* CiviCRM 5.69.alpha1 on D10 and CiviCRM 5.64.4 on WP6.4.1https://lab.civicrm.org/dev/core/-/issues/4818Line Items: different behaviour between order API and backend when registerin...2023-12-06T23:18:04ZmasettoLine Items: different behaviour between order API and backend when registering price options not related to a membership typeWhen I create a membership with price sets, for the price options that not are related to a membership type, the entity table in line items is `civicrm_contribution`.
But if I create a membership with Order API the entity table for all ...When I create a membership with price sets, for the price options that not are related to a membership type, the entity table in line items is `civicrm_contribution`.
But if I create a membership with Order API the entity table for all line items have to be `civicrm_membership` otherwise the membership is not created.
For example, if I use `civicrm_contribution` for "price_field_id = 16" in the following example, the membership is not created. If I replace to `civicrm_membership` the membership is created correctly.
But I add the same membership in the backend, the entity_table for "price_field_id = 16" is `civicrm_contribution`.
```
[return] => membership_id
[contact_id] => 178918
[financial_type_id] => 2
[contribution_status] => Pending
[total_amount] => 36
[receive_date] => 20231129084211
[payment_instrument_id] => 7
[invoice_id] => CH-a1dafa484b7dbbf1ea4aae1b
[trxn_id] =>
[payment_processor_id] => 2
[is_email_receipt] =>
[line_items] => Array
(
[0] => Array
(
[line_item] => Array
(
[0] => Array
(
[entity_table] => civicrm_membership
[price_field_id] => 15
[price_field_value_id] => 22
[qty] => 1
[unit_price] => 30
[line_total] => 30
)
[1] => Array
(
[entity_table] => civicrm_contribution
[price_field_id] => 16
[price_field_value_id] => 25
[qty] => 1
[unit_price] => 6
[line_total] => 6
)
)
[params] => Array
(
[id] =>
[membership_type_id] => 1
[contact_id] => 178918
[end_date] => 2024-12-31
[is_override] => 0
[status_id] => Pending
[max_related] => 0
[join_date] => 20231129084211
[start_date] => 2024-01-01
)
)
)
[debug] => 1
[is_test] => 0
```
It is important that the data is recorded in the same way. Also because if I have to make queries becomes very complicated (I have not yet found a way to do this with SearchKit).https://lab.civicrm.org/dev/core/-/issues/4817$imageURL is not available on membership contribution confirmation and thank ...2023-12-06T22:25:06Zfreeform.steph$imageURL is not available on membership contribution confirmation and thank you pagesThis was originally posted here: https://issues.civicrm.org/jira/browse/CRM-19983 in 2017 but I am not finding any indication that it was ever resolved, or this is a regression, not sure.
If you include the contact photo field (image_ur...This was originally posted here: https://issues.civicrm.org/jira/browse/CRM-19983 in 2017 but I am not finding any indication that it was ever resolved, or this is a regression, not sure.
If you include the contact photo field (image_url) in a profile on a membership contribution form and a user uses the field, the image is uploaded, however the image preview (thumbnail with option to delete) fails to display on the confirmation and thank you pages. This causes the users confusion because the field to upload an image appears in its place which leads the individuals to re-try uploading their image (which will cause their image to not be saved). It also fails to appear on the thank you page if you do not enable the confirmation page option.
If you include the smarty debug tag in templates/CRM/UF/Form/Fields.tpl where you'd expect the image to be output, you'll see that $imageURL is not defined.
If you use the same field on a standalone profile form, the preview does display on the last page (there is no confirmation page in this case), so it does appear to be limited to when the profile is included on a contribution form.
What we should see: (1) no upload field on confirmation or thank you pages, (2) include a preview of an image if one was uploaded.https://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)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/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/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/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/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/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/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/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/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/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/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!