Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-12-07T09:30:02Zhttps://lab.civicrm.org/dev/wordpress/-/issues/140Event registration confirmation page no longer shown. Error: Could not find v...2023-12-07T09:30:02Zdarren.woodsEvent registration confirmation page no longer shown. Error: Could not find valid value for id.WordPress 6.2, Civi ESR 5.57.5.
The confirmation page after event registration is no longer shown (for both Test and Live links). Instead, the attached error is shown:-
![image](/uploads/602b80ebba49507af86158d362c9b164/image.png)
The ...WordPress 6.2, Civi ESR 5.57.5.
The confirmation page after event registration is no longer shown (for both Test and Live links). Instead, the attached error is shown:-
![image](/uploads/602b80ebba49507af86158d362c9b164/image.png)
The workaround is to embed the event registration page as a shortcode. However the confirmation page and confirmation emails show a link to the event info page, which then has the "Register" button taking people to the wrong page.
I'm wondering if this can be fixed, or if we need to override the confirmation and event info pages somehow to redirect users to the WordPress page (perhaps using a naming convention).
Thanks!https://lab.civicrm.org/dev/core/-/issues/4837Saving a system workflow message template without making any changes still ma...2023-12-07T09:11:16ZDaveDSaving a system workflow message template without making any changes still makes civi think you changed itIt seems like it trims it so a trailing newline gets cut off, which technically is a change but not intentional.
I'm thinking the templates themselves shouldn't have trailing newlines. Or the comparison could take trimming into account.It seems like it trims it so a trailing newline gets cut off, which technically is a change but not intentional.
I'm thinking the templates themselves shouldn't have trailing newlines. Or the comparison could take trimming into account.https://lab.civicrm.org/dev/core/-/issues/3130Lack of hooks to detect when an Attachment is deleted2023-12-07T08:27:58ZhaystackLack of hooks to detect when an Attachment is deletedOverview
----------------------------------------
At present, when an Attachment is deleted via the CiviCRM UI (e.g. on "Edit Activity" dialogs/screens) only two CiviCRM hooks fire: the `civi.dao.preDelete` and `civi.dao.postDelete` Symf...Overview
----------------------------------------
At present, when an Attachment is deleted via the CiviCRM UI (e.g. on "Edit Activity" dialogs/screens) only two CiviCRM hooks fire: the `civi.dao.preDelete` and `civi.dao.postDelete` Symfony events triggered by `CRM_Core_BAO_EntityTag::del()`. All other deletions are done via direct SQL queries.
It would be great to:
* Have `hook_civicrm_pre` and `hook_civicrm_post` fire
* Have some way of retrieving the Attachment data prior to deletion
Reproduction steps
----------------------------------------
1. Set up CiviCRM to log all hooks
1. Click the "bin/trash" icon next to an Attachment (as per the screenshot below)
1. Inspect logged callbacks
![attachments-accordion](/uploads/9abded9e0e7f9cc602213b8b20de345d/attachments-accordion.png)
Current behaviour
----------------------------------------
The following callbacks are the only ones that will be seen (data trimmed for concision)
#### `civi.dao.preDelete`
```
[event] => Civi\Core\DAO\Event\PreDelete Object
(
[object] => CRM_Core_BAO_EntityTag Object
(
[id] =>
[entity_table] => civicrm_file
[entity_id] => 6
[tag_id] =>
)
)
```
#### `civi.dao.postDelete`
```
[event] => Civi\Core\DAO\Event\PostDelete Object
(
[object] => CRM_Core_BAO_EntityTag Object
(
[id] =>
[entity_table] => civicrm_file
[entity_id] => 6
[tag_id] =>
)
[result] => 0
)
```
It is possible to use the `entity_id` to retrieve the "File" data via the CiviCRM API. However, because of the order of deletions in [the `deleteEntityFile()` method](https://github.com/civicrm/civicrm-core/blob/6769e8bf8556701b81f914d30fc1bb913f8ed2ce/CRM/Core/BAO/File.php#L250), it is _not_ possible to retrieve the compound "Attachment" data via the API (because the "Entity File" data has already been deleted) and it is therefore not possible to find out which Entity/Entities the File was attached to.
It should also be noted that when the "Delete All Attachment(s)" checkbox is used, the `civi.dao.preDelete` and `civi.dao.postDelete` Symfony events fire *before* `hook_civicrm_pre` is fired for the Activity. To me, it would make more sense for `hook_civicrm_pre` to fire *before* the File deletion process is initiated so that `Activity.pre` and `Activity.post` "wrap" the entire process.
Expected behaviour
----------------------------------------
I would expect to be able to receive callbacks from `hook_civicrm_pre` and `hook_civicrm_post`, where `$op = "delete"` and `$objectName = "File"` along with some more contextual data about the "File" and the "Attachment" being deleted.
Comments
----------------------------------------
I'm going to open a PR that addresses the issue of retrieving the "Attachment" data via the API when using the Symfony hook, since that's pretty straightforward.
I'd appreciate any guidance from those more familiar with this class on the most sensible place(s) to add hooks during the deletion process - or whether deletion should more properly be done via `BAO` objects instead of direct queries.https://lab.civicrm.org/dev/core/-/issues/2849Release v6.0 Planning2023-12-07T05:03:23ZcolemanwRelease v6.0 PlanningBumping the version to 6.0 would give the opportunity to slip in some big changes that we have not been able to do for the 5.x cycle.
### Big Changes
- [Escape-on-output](https://lab.civicrm.org/dev/core/-/issues/1328) with its massive...Bumping the version to 6.0 would give the opportunity to slip in some big changes that we have not been able to do for the 5.x cycle.
### Big Changes
- [Escape-on-output](https://lab.civicrm.org/dev/core/-/issues/1328) with its massive upgrade step
- Mark Afform/SearchKit as stable, not beta, and require them to be enabled - start using them in core.
- *(maybe too hard)* Fix the DataObject's crazy handling of `NULL`/`'null'` (which they actually named [`$crazy_null`](https://github.com/civicrm/civicrm-packages/blob/6998b962b50abb4aa48097e251ecfd9ea202e294/DB/DataObject.php#L4936)!)
### Considerations
- There may be upgrade-hesitancy, expect adoption to be slower than a 5.x drop.
- It would be smart to have the last 5.x version be an ESR release.
- Depending on how thorny the big changes are, we could buy ourselves some time and tag the first few as 6.0.beta releases. This would mean that for a few months CiviCRM does not put out any new stable releases except for regression fixes in the last 5.x.x.https://lab.civicrm.org/dev/core/-/issues/3131Enable selective visibility of contacts in search using a profile2023-12-07T05:03:22ZspalmstromEnable selective visibility of contacts in search using a profileOverview
----------------------------------------
In some environments it may be desirable to limit what most users can see when searching for contacts using a profile, for example restricting visibility to first name and city unless th...Overview
----------------------------------------
In some environments it may be desirable to limit what most users can see when searching for contacts using a profile, for example restricting visibility to first name and city unless the user has the right to view the contact. Currently, whilst you can restrict what the user sees using the profile, mapping for example, reveals the address and clicking on the icon on the map reveals the contact details. An improvement would be to disable mapping and the ability to view contact details unless the user has the rights to view the contact in question.
Example use-case
----------------------------------------
1. Create a suitable profile.
1. Enter a search term that will return contacts to which the user has view rights and some to which they have not.
Current behaviour
----------------------------------------
![image](/uploads/ddd0f64ae64632f662e430d2453002a7/image.png)
Proposed behaviour
----------------------------------------
![image](/uploads/c1fdaeafe57911839966ff83a460ee78/image.png)
Note that the user has view rights on 851 but not on 853. Notice that the first and last name is blanked out. If they had no view rights on any contact, the _Map these contacts_ would not appear. The little person icon does not appear if the user cannot view all contacts (as clicking on it doesn't do much). If the user has no rights to view any of the contacts, the _Last and First Name_ column does not appear either.
![image](/uploads/82d2fd5cfdad41d8f55eabd49885431c/image.png)https://lab.civicrm.org/dev/wordpress/-/issues/122PCP URLs are relative to User Dashboard when using shortcode2023-12-07T01:16:21ZKurund JalmiPCP URLs are relative to User Dashboard when using shortcode**Steps to replicate:**
1. Create a page, for eg: `/dashboard`
2. Embed `User Dashboard` either using shortcode or civicrm-gutenberg-blocks plugin
3. Create PCP page
4. Check the PCP page listing. All the urls are appended with `/dashboa...**Steps to replicate:**
1. Create a page, for eg: `/dashboard`
2. Embed `User Dashboard` either using shortcode or civicrm-gutenberg-blocks plugin
3. Create PCP page
4. Check the PCP page listing. All the urls are appended with `/dashboard` which is invalid url. for eg: http://mysite.com/dashboard/?civiwp=CiviCRM&q=civicrm%2Fpcp%2Finfo&action=update&reset=1&id=2&component=contributehttps://lab.civicrm.org/dev/core/-/issues/3758CiviCRM 5.51.1 Contact Import, trying to import Contacts and set Shared Addre...2023-12-07T01:02:48Zjustinfreeman (Agileware)CiviCRM 5.51.1 Contact Import, trying to import Contacts and set Shared Address for the Contact (using the Master Address ID) results in a DB Error: constraint violation and the import fails.CiviCRM Contact Import, trying to import Contacts and set Shared Address for the Contact (using the Master Address ID) results in a DB Error: constraint violation and the import fails.
Do not know a way to import Contacts and have their...CiviCRM Contact Import, trying to import Contacts and set Shared Address for the Contact (using the Master Address ID) results in a DB Error: constraint violation and the import fails.
Do not know a way to import Contacts and have their address linked to another existing Contact.
Attached is an example CSV of contacts from the CiviCRM demo data which illustrates how the import is being performed. [CiviCRM_Contact_Search.csv](/uploads/8208b87e85ce38432169b0e5e34eb033/CiviCRM_Contact_Search.csv)
Attached is also a copy of the backtrace. [backtrace.txt](/uploads/30b094e4af4eafe58899e7a08a440734/backtrace.txt)
Environment: CiviCRM 5.51.1
Agileware Ref: CIVICRM-20215.69.0https://lab.civicrm.org/dev/core/-/issues/3133Extend Authx functionality to support validation of externally generated JWTs2023-12-07T00:42:41ZJohn TwymanExtend Authx functionality to support validation of externally generated JWTsOverview
----------------------------------------
We would like to extend AuthX's functionality so that it can validate JWTs generated/signed by third party systems. The motivation for this is that we use auth0 for authZ/authN with CiviC...Overview
----------------------------------------
We would like to extend AuthX's functionality so that it can validate JWTs generated/signed by third party systems. The motivation for this is that we use auth0 for authZ/authN with CiviCRM. We're building new applications that need to query Civi via its API _as the user rather than as the client apps themselves_.
Creating API keys for every user is not feasible. Accessing the AuthX-supported API endpoint and supplying a valid JWT for the user is what we're keen to implement.
Current behaviour
----------------------------------------
AuthX can validate JWTs that have been generated by the same CiviCRM installation.
Proposed behaviour
----------------------------------------
Implement code that dispatches a new Symfony event which would allow an extension to override how the scope and sub claims are validated by the AuthX framework (for example currently, if it doesn't start with `cid` no claim can be validated).
This would make it possible to validate externally generated/signed JWTs.
Comments
----------------------------------------
Tim and I had a chat about this [a while ago](https://chat.civicrm.org/civicrm/pl/acbnapozsbgimrsmh4bqdrtbwh). That conversation proved the basis for writing up an implementation for this improvement. We'd love to see it reviewed, merged, etc. We'll raise a Pull Request accordingly and I'll update this Issue here with the link.
We've also written [a CiviCRM extension that leverages this new functionality](https://github.com/australiangreens/civiauth0jwt), to make it possible for people using auth0 as their IdP to use CiviCRM's API with user permissions.https://lab.civicrm.org/dev/core/-/issues/4848Nuance logging on API Authorization fails2023-12-07T00:07:32ZeileenNuance logging on API Authorization failsWhen an api request fails authorization one of 2 things happens
1) too much information is logged to our logs
2) too little information is logged.
In the former case some things like SearchKit rely on authorization failing appropriatel...When an api request fails authorization one of 2 things happens
1) too much information is logged to our logs
2) too little information is logged.
In the former case some things like SearchKit rely on authorization failing appropriately and logging can cause people to spend time debugging & trying to fix issues that are normal operation - ultimately both https://github.com/civicrm/civicrm-core/pull/28259 and https://github.com/civicrm/civicrm-core/pull/28260 fall in this category & nearly wound up opening up security to fix log noise
In the latter case an api call is failing authorization but it is hard to tell where. We recently hit this where the logged output was unhelpful because the backtrace being logged only got as far as the api call - we were not getting the trace from the exception itself (and the fail was happening on something the api called, not the main api). Hence we wound up altering the code to
```
\CRM_Core_Error::backtrace('API Request Authorization failed' . $apiRequest['action'] . " " . $apiRequest['entity'], TRUE);
\CRM_Core_Error::debug_var('backtrace', $e->getTraceAsString());
```
I think that it makes sense to be able to specify at the api call level when you don't care about logging exceptions (ie searchkit) but also to get some more info when you dohttps://lab.civicrm.org/dev/core/-/issues/3994Auto renew options for membership types are not saving for a contribution page2023-12-07T00:06:08ZKurund JalmiAuto renew options for membership types are not saving for a contribution pageSteps to replicate on vanilla CiviCRM install
- Membership type configuration
![Screenshot_from_2022-11-18_10-51-50](/uploads/02d45ded17660376a461d6738c287c48/Screenshot_from_2022-11-18_10-51-50.png)
- In the contribution page configur...Steps to replicate on vanilla CiviCRM install
- Membership type configuration
![Screenshot_from_2022-11-18_10-51-50](/uploads/02d45ded17660376a461d6738c287c48/Screenshot_from_2022-11-18_10-51-50.png)
- In the contribution page configuration try to make option 'Required' and save.
![Screenshot_from_2022-11-18_10-52-30](/uploads/9f50922426022defea7b99c53a386def/Screenshot_from_2022-11-18_10-52-30.png)
- However, it not saved
![Screenshot_from_2022-11-18_10-52-41](/uploads/57717f65ddd9e0df971821cafade9752/Screenshot_from_2022-11-18_10-52-41.png)5.69.0Kurund JalmiKurund Jalmihttps://lab.civicrm.org/dev/core/-/issues/4834Afform conditionnal fields based on checkboxes2023-12-06T23:59:18ZbgmAfform conditionnal fields based on checkboxes- Create a custom field of type checkbox, add a few options
- Create an Afform using that conditional field
- Add a field condition on another field (ex: lastname) that depends on a specific checkbox being checked
Result: field is not d...- Create a custom field of type checkbox, add a few options
- Create an Afform using that conditional field
- Add a field condition on another field (ex: lastname) that depends on a specific checkbox being checked
Result: field is not displayedhttps://lab.civicrm.org/dev/core/-/issues/4447When importing/updating persons, taking over the address of another contact d...2023-12-06T23:39:37ZhstrugallaWhen importing/updating persons, taking over the address of another contact does not work.## Overview
When importing/updating persons, taking over the address of another contact (organisation) via CiviCRM Field "Master address belongs to" does not work.
The import job runs without errors, but the address was not assigned.
...## Overview
When importing/updating persons, taking over the address of another contact (organisation) via CiviCRM Field "Master address belongs to" does not work.
The import job runs without errors, but the address was not assigned.
## Reproduction steps
1. Find out the "Address ID" of the organisation (via phpMyAdmin or "Export contacts" -\> field "Address ID")
![get address ID.png](/uploads/8e608df7b4aa82f965e7beb8d605e29e/get_address_ID.png){width="405" height="177"}
2. Create the CSV import/update file.
[Import.csv](/uploads/5a47efab4cdf034eb7fbb522417d089e/Import.csv)
3. Click on **Contacts -\> Import Contacts**.
4. Fill out forms (see pictures)
![import 1.png](/uploads/39360a48a638b65b4d444f31ca6efedd/import_1.png){width="661" height="289"}
![import 2.png](/uploads/3ba8d1f31f0af56ff68bab39f2f96dde/import_2.png){width="664" height="189"}
5. Run import/update
## Current behaviour
No error during import, but the address was not taking over.
## Expected behaviour
The company address should be assigned to the person.
## Environment information
* **Browser:** _Firefox 115.0.2 (64-Bit)_
* **CiviCRM:** _5\.55.2_
* **PHP:** \_7.4.3-4ubuntu2.18\_
* **CMS:** _WordPress 6.1.1_
* **Database:** _Ver 8.0.33-0ubuntu0.20.04.2_
* **Web Server:** _Apache/2.4.41 (Ubuntu)_
## Comments
It seems, the code to handle "Master address belongs to" during the import/update of contacts not exists in CiviCRM core in version 5.55.2.5.69.0https://lab.civicrm.org/dev/core/-/issues/4825Issues with CiviCRM Tables During MySQL 8.0 Upgrade2023-12-06T23:29:47ZfatihatesIssues with CiviCRM Tables During MySQL 8.0 UpgradeDuring the upgrade to MySQL 8.0, I encountered one different warnings related to CiviCRM tables and I want to take the correct steps in this regard. These warnings are listed below:
Usage of db objects with names conflicting with new re...During the upgrade to MySQL 8.0, I encountered one different warnings related to CiviCRM tables and I want to take the correct steps in this regard. These warnings are listed below:
Usage of db objects with names conflicting with new reserved keywords Warning: The following objects have names that conflict with new reserved keywords. Ensure queries sent by your applications use quotes when referring to them or they will result in errors.
Do I need to fix the mentioned 4 tables (sample tables listed below)? Are the commands I provided for fixing these tables correct and valid?
Sample Tables
----------------------------------------
`xxx_xx.civicrm_mapping_field.grouping - Column name`
`xxx_xx.civicrm_option_value.grouping - Column name`
`xxx_xx.log_civicrm_mapping_field.grouping - Column name`
`xxx_xx.log_civicrm_option_value.grouping - Column name`
Images
----------------------------------------
![2023-12-01_01_59_19](/uploads/934aa70e46592189d1c748892224c31e/2023-12-01_01_59_19.png)
Proposed Solution:
----------------------------------------
`SELECT "grouping" FROM xxx_cagri.civicrm_mapping_field;`
Similar Issues
----------------------------------------
https://civicrm.stackexchange.com/questions/45993/issues-with-civicrm-tables-during-mysql-8-0-upgrade
Environment information
----------------------------------------
* __CiviCRM: 5.67.0
* __PHP: 8.1.25
* __CMS: Joomla 4.4.1
* __Database: 5.7.44https://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/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/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 included