Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-02-07T19:47:09Zhttps://lab.civicrm.org/dev/core/-/issues/4456Saving event with custom file field gives fatal error2024-02-07T19:47:09ZwouterhSaving event with custom file field gives fatal error1. Create a file field for event(s).
1. Go to an existing event containing this custom file field – Press save.
1. Red alert box "network error" and the custom fields don't display.
`TypeError: Cannot access offset of type string on st...1. Create a file field for event(s).
1. Go to an existing event containing this custom file field – Press save.
1. Red alert box "network error" and the custom fields don't display.
`TypeError: Cannot access offset of type string on string in include() (regel 59 van /var/www/html/web/sites/default/files/civicrm/templates_c/nl_NL/%%1D/1DB/1DB03A28%%CustomField.tpl.php).`
Using CiviCRM 5.62.0 & PHP 8. Doesn't happen in PHP 7.5.71.0https://lab.civicrm.org/dev/core/-/issues/4455SearchKit: Arithmetic field transformation broken2023-08-03T02:16:13ZlarsssandergreenSearchKit: Arithmetic field transformation brokenSteps to replicate:
New SK search
Contributions
Add Total Amount column
Add Arithmetic field transformation
Click Search
Result:
![image](/uploads/581b34bde8138243b9ecdf5afaad3383/image.png)
This is a regression due to [#26065](https...Steps to replicate:
New SK search
Contributions
Add Total Amount column
Add Arithmetic field transformation
Click Search
Result:
![image](/uploads/581b34bde8138243b9ecdf5afaad3383/image.png)
This is a regression due to [#26065](https://github.com/civicrm/civicrm-core/pull/26065). @colemanw, one of yours.https://lab.civicrm.org/dev/core/-/issues/4454Proposal: Rename "Scheduled Reminders"2023-10-09T22:42:58ZJonGoldProposal: Rename "Scheduled Reminders"From a UX perspective, "Scheduled Reminders" is a poor name. It has uses far beyond reminders, and it's unintuitive to create a birthday email or "welcome series" of emails using a feature called "Scheduled Reminders".
I don't 100% h...From a UX perspective, "Scheduled Reminders" is a poor name. It has uses far beyond reminders, and it's unintuitive to create a birthday email or "welcome series" of emails using a feature called "Scheduled Reminders".
I don't 100% have a term decided on, though everyone loves a good bikeshed. I considered "Scheduled Messages" or "Scheduled Communications" - but I would expect a scheduled CiviMail or SMS to fall under that label (but maybe so does "Scheduled Reminders"?). "Automated Messages" overlaps with the System Messages. "Scheduled Message Rules" is better but long (if we ignore CiviRules momentarily).
Does anyone else have thoughts? I could live with "Scheduled Messages" as an improvement, but perhaps there's something better.https://lab.civicrm.org/dev/core/-/issues/4453Error on saving amounts on edit Contribution Page2023-08-08T22:21:55ZlarsssandergreenError on saving amounts on edit Contribution PageIf you are on PHP 8.1+, you'll hit a hard error if you try to save a Contribution Page - Amounts tab with a Fixed Contribution Option (not a Price Set). There is a name collision here on $name, funnily enough.
The problem is that CRM_Co...If you are on PHP 8.1+, you'll hit a hard error if you try to save a Contribution Page - Amounts tab with a Fixed Contribution Option (not a Price Set). There is a name collision here on $name, funnily enough.
The problem is that CRM_Contribute_Form_ContributionPage had a $name added recently in [#26259](https://github.com/civicrm/civicrm-core/pull/26259), which is now loaded in the $defaults for CRM_Contribute_Form_ContributionPage and then into CRM_Contribute_Form_ContributionPage_Amount. It turns out that in CRM_Contribute_Form_ContributionPage_Amount $defaults['name'] was already in use [here as an array](https://github.com/civicrm/civicrm-core/blob/6ecc4c3b032d38de4f4e6b5c3cb1fd573b0df5f4/CRM/Contribute/Form/ContributionPage/Amount.php#L237) for those fixed contribution price options.
The result is that $defaults['name'] already exists as a string when we try to add $defaults['name][0] for the first price option, giving the error (or a warning, depending on PHP version).
Maybe we could just change the Contribution Page $name to $pageName or something similar. @eileen, thoughts?https://lab.civicrm.org/dev/core/-/issues/4452Message Admin doesn't show which message templates have been edited2023-09-18T12:15:28ZlarsssandergreenMessage Admin doesn't show which message templates have been edited~~It looks like Message Admin is now enabled by default, but~~ I've noticed that there is no indication in Message Admin of which templates have been edited or not. This is pretty important info for admins and should be available in the ...~~It looks like Message Admin is now enabled by default, but~~ I've noticed that there is no indication in Message Admin of which templates have been edited or not. This is pretty important info for admins and should be available in the UI.
Compare the old - very clear which has been edited:
![image](/uploads/43963f9cbbf0e08c5f1679056e4a2c35/image.png)
to the new - no indication which has been edited:
![image](/uploads/4a394422a26c4a1536306e96d3c77a7c/image.png)
I can't see anything on the edit page to indicate this either.
Edit: There is also no longer any way to revert a message to the default, other than by manually copying and pasting the template content. I think having the "Revert to default" link is useful, if you made a small change and have decided you no longer need it because there has been an upgrade.
~~Also, I guess the drafting process isn't implemented yet (or not accessible from the UI), so maybe it would make sense to hide the Draft column until that's ready.~~https://lab.civicrm.org/dev/core/-/issues/4451parent_id constraint on civicrm_activity can lead to data loss2023-08-08T22:21:55ZDaveDparent_id constraint on civicrm_activity can lead to data lossIt has probably always been like this but it seems dangerous.
1. Create an activity.
1. Let's give it subject "a1" so we can tell it apart.
1. Fill out the schedule followup section at the bottom. Give it subject "a2".
1. Save.
1. Delet...It has probably always been like this but it seems dangerous.
1. Create an activity.
1. Let's give it subject "a1" so we can tell it apart.
1. Fill out the schedule followup section at the bottom. Give it subject "a2".
1. Save.
1. Delete activity "a1".
Expected result: Just a1 is deleted.
Actual result: a1 and a2 are both deleted.
The constraint should be ON DELETE SET NULL.
As with the fix for original_id, in a large db an upgrade script might timeout or take a long time, so would need to direct the user to do it manually.5.64.0https://lab.civicrm.org/dev/core/-/issues/4450Standalone: set the page title2023-11-28T19:33:31ZbgmStandalone: set the page titleCurrently the `<title>` attribute (in head) is empty.Currently the `<title>` attribute (in head) is empty.RichRichhttps://lab.civicrm.org/dev/core/-/issues/4449Status check about accessible dirs can be slow2023-07-26T23:18:26ZDaveDStatus check about accessible dirs can be slowThis is a followup to https://github.com/civicrm/civicrm-core/pull/26771#issuecomment-1629756698 and https://github.com/civicrm/civicrm-core/pull/26889.
Putting more info than needed in here cuz I already typed it.
I think the speedup ...This is a followup to https://github.com/civicrm/civicrm-core/pull/26771#issuecomment-1629756698 and https://github.com/civicrm/civicrm-core/pull/26889.
Putting more info than needed in here cuz I already typed it.
I think the speedup in 26889 wasn't quite a "fix", and there was maybe more than one issue there. In general as noted in 26771 servers that only handle one request at a time, synchronously, will have trouble with these checks because of deadlock, i.e.
```
> (caller) call for status check
=> (server) hello, processing
> call for file
=> hello, hold please
... second caller hangs up eventually ...
> first request can now finish
=> server switches phone line to caller on hold => oh you're not there anymore, ok.
```
And a gotcha during testing is it's not sufficient to just simulate the second GET using tool X (browser, curl-cli, cv, etc), it needs to be the combo of doing the GET from within code that is triggered by the first GET.
For the php built-in webserver, while the `isBrowsable` check could be legit, the status check about `isDirAccessible` might give a false positive even if it _was_ working, since .htaccess files don't do anything for the built-in webserver, and there's no nginx-like config you could do to secure it. So maybe it is best to just skip this check for built-in, in which case I would skip it for all php versions not just `<8`.
But in general, to make this work with one-request-at-a-time servers seems like it would require an architecture redesign. Using guzzle/curl to specify a timeout makes the time shorter, so is an improvement, but it doesn't seem possible to ever get a correct result for `isDirAccessible` on these servers at the moment, and at least for the built-in one, we already know it's not possible to prevent GET'ing files under sites/default/files/civicrm.
I don't know a way to detect if a (potentially remote) server is one-request-at-a-time, without just waiting for a timeout. Ideally the check would be skipped for _any_ such server.
So let's do as much as we can: Use guzzle/curl to set the shorter timeout, and skip for the known built-in server.5.65.0https://lab.civicrm.org/dev/core/-/issues/4448SearchKit HAVING clause does not support relative dates.2023-08-03T12:45:52ZTony Maynard-SmithSearchKit HAVING clause does not support relative dates.## Overview
SearchKit WHERE clauses on a Date field provide a facility for comparing with a relative date, e.g. "\< Before Now 12 Months". The HAVING clause does not, but I am suggesting that it should.
## Example use-case
1. SearchK...## Overview
SearchKit WHERE clauses on a Date field provide a facility for comparing with a relative date, e.g. "\< Before Now 12 Months". The HAVING clause does not, but I am suggesting that it should.
## Example use-case
1. SearchKit search to select Contacts who have not participated in an Event for the last 12 months. Also applies to Activities, Memberships, etc.
## Current behaviour
Can construct a HAVING clause to compare e.g. a MAX Date field with a literal date, but not with a relative date as for a WHERE clause.
## Proposed behaviour
Relative dates should be provided for HAVING as well as WHERE clauses. This is much more user friendly for a packaged search than having to edit the search definition in SearchKit each time.
## Comments
_Anything else you would like the reviewer to note._https://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/4445Upgrade to 5.65 shows incorrect message about Petition - Signature Added mess...2023-07-27T01:33:29ZlarsssandergreenUpgrade to 5.65 shows incorrect message about Petition - Signature Added message template upgradeWhen upgrading to 5.65 on a recently rebuild install with no customization of any message templates, the following message appears:
The default copies of the message templates listed below will be updated to handle new features or corre...When upgrading to 5.65 on a recently rebuild install with no customization of any message templates, the following message appears:
The default copies of the message templates listed below will be updated to handle new features or correct a problem. Your installation has customized versions of these message templates, and you will need to apply the updates manually after running this upgrade. View detailed instructions.
Petition - signature added - Update to use tokens
---
@eileen, looks like this is from [#26546](https://github.com/civicrm/civicrm-core/pull/26546).5.65.0https://lab.civicrm.org/dev/core/-/issues/4444Multilingual problem with required title fields2023-09-02T01:47:32ZeileenMultilingual problem with required title fieldsWe recently made `contribution_page.title` and some similar fields required. However, I just discovered that `testGitLabIssue1108` fails locally and the reason feels like it has implications
The test fails because when multilingual is d...We recently made `contribution_page.title` and some similar fields required. However, I just discovered that `testGitLabIssue1108` fails locally and the reason feels like it has implications
The test fails because when multilingual is disabled it does an INSERT for en_US but the value for fr_FR is not set - which fails due to the change making title_fr_FR required.
I don't know why this didn't surface before but I suspect we need to make required fields of type text have different sql attributes - ie probably a default of ''5.66.0https://lab.civicrm.org/dev/financial/-/issues/216Financial Batches: remove the creation of activities for New/Edit2023-08-09T18:28:27ZbgmFinancial Batches: remove the creation of activities for New/EditI fell down a rabbit hole while testing the New Financial Batch form, and noticed that it creates an activity whenever a batch is created or edited. It also creates an activity when the batch is exported, but not when closed or deleted.
...I fell down a rabbit hole while testing the New Financial Batch form, and noticed that it creates an activity whenever a batch is created or edited. It also creates an activity when the batch is exported, but not when closed or deleted.
The "Create Batch" and "Edit Batch" activities do not seem useful to me. I would leave the "Export Accounting Batch" activity for now.
Any objections to removing?
(I'm creating this issue for visibility, but will send a PR that might be more clear)
cc @JoeMurray5.66.0https://lab.civicrm.org/dev/core/-/issues/4443Error "Participant record without event ID. You have invalid data in your dat...2023-07-24T03:39:55ZDaveDError "Participant record without event ID. You have invalid data in your database" appearing in logPutting regression since this feels like something recent.
1. From a contact summary from the actions dropdown, register for event.
2. Pick an event.
3. Check the box to send an email.
4. Click Save.
5. In the civi log it says "Particip...Putting regression since this feels like something recent.
1. From a contact summary from the actions dropdown, register for event.
2. Pick an event.
3. Check the box to send an email.
4. Click Save.
5. In the civi log it says "Participant record without event ID. You have invalid data in your database!". Everything seems ok though.
Note this only happens when registered from the contact summary. If you do it from Event - Register Event Participant it doesn't happen.https://lab.civicrm.org/dev/core/-/issues/4441Error "There might be a data problem, contribution id could not be loaded fro...2023-08-31T03:17:17ZDaveDError "There might be a data problem, contribution id could not be loaded from the line item"I've been seeing this the last two days or so on event registrations. Not sure yet what it's from but it's something new. Easy to reproduce:
1. Events - Register Event Participant.
2. Pick a contact.
3. Pick an event.
4. Click save.
Se...I've been seeing this the last two days or so on event registrations. Not sure yet what it's from but it's something new. Easy to reproduce:
1. Events - Register Event Participant.
2. Pick a contact.
3. Pick an event.
4. Click save.
Seems to be in 5.64 but not 5.63.5.64.0https://lab.civicrm.org/dev/core/-/issues/4440SearchUI: Find Contributions issues2023-07-21T09:54:27Zaydunsaidan.saunders@squiffle.ukSearchUI: Find Contributions issuesIssues that need addressing for the SearchUI Find Contributions page to match core:
- [ ] Figure out how to handle payments:
- In current version, clicking on amount expands to show payment details and buttons
- [ ] Figure out ho...Issues that need addressing for the SearchUI Find Contributions page to match core:
- [ ] Figure out how to handle payments:
- In current version, clicking on amount expands to show payment details and buttons
- [ ] Figure out how to handle Soft Credits
- Current version has several filter options
- [ ] Figure out how to handle Recurring Contributions
- Current version also searches for these. Maybe better as a separate search?
- [ ] Figure out how to handle PCPs
- (Does anyone use PCPs? If so, what is useful in this search?) Not showing correctly.
- [x] Add contribution totals
- [ ] Some actions missing
- [x] Filters - convert some to Yes/No ([#4415](https://lab.civicrm.org/dev/core/-/issues/4415))
- done by adding 'is null' fields to search. Would be nice to rework if/when 4415 is implemented.
- but this doesn't interact properly with 'Group by' used in the Summary section
- [ ] Filter layout
- Current labels and groupings are for dev purposes, need improvement
- [ ] Add more here ...https://lab.civicrm.org/dev/user-interface/-/issues/53Remove "Save and New" buttons from most places2024-03-14T16:00:22ZbgmRemove "Save and New" buttons from most placesIt might make sense in a few places, but in a lot of places, "Save and New" is clutter.
Opening a financial batch?
![image](/uploads/c9f11710837b0deafe883eb20d08a39d/image.png)
Creating a Contribution Page?
![image](/uploads/4ed0a185...It might make sense in a few places, but in a lot of places, "Save and New" is clutter.
Opening a financial batch?
![image](/uploads/c9f11710837b0deafe883eb20d08a39d/image.png)
Creating a Contribution Page?
![image](/uploads/4ed0a1850a777b39cb0e37b7138b9982/image.png)
(ok, not "save and new", but still, what does "Done" even mean?)
~~Price Sets - Add Field:~~
![image](/uploads/190a2069aab8f49a722f3bf6d5b7e39f/image.png)
~~.. is that "Save and New" really useful? It opens in a popup, so it really only saves 0.5 seconds, but you have to think 0.5 seconds more to click the right button.~~ (edit: there was support to keep it)
And..
- New/Edit Petition
- New/Edit Survey
![image](/uploads/061033c42fbd700e4252b9f111204b07/image.png)
Make it makes sense for:
- New Contribution (in standalone mode)
- ?
![image](/uploads/56ed51a0cbd301b4211603ba1cfdbe85/image.png)https://lab.civicrm.org/dev/core/-/issues/4439PriceSet select options cause javascript errors2023-08-08T22:21:55ZbgmPriceSet select options cause javascript errorsTo reproduce:
- https://dmaster.demo.civicrm.org/civicrm/admin/price?reset=1
- Create a new Price Set, for Memberships
- Add a single field 'membership' of type Select, with the 3 membership options
Then go to a contact record:
- http...To reproduce:
- https://dmaster.demo.civicrm.org/civicrm/admin/price?reset=1
- Create a new Price Set, for Memberships
- Add a single field 'membership' of type Select, with the 3 membership options
Then go to a contact record:
- https://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=204&selectedChild=member
- Add Membership
- Select the "Membership" Price Set
- Select a membership option from the select
The total will be $0.00 and the Javascript console will display an error:
> Uncaught TypeError: selectedText[option] is undefined
We noticed the error after upgrading to 5.63.1, previously 5.60.
It also happens with Contribution PriceSets.5.63.2https://lab.civicrm.org/dev/core/-/issues/4438Test Contributions cannot be selected by id in SearchKit2023-07-21T09:56:24ZbrienneTest Contributions cannot be selected by id in SearchKitOverview
----------------------------------------
In SearchKit, a test Contribution cannot be selected by id, such as in the `WHERE` clause, as the test does not appear as an option in the autocomplete drop down list. However, this is no...Overview
----------------------------------------
In SearchKit, a test Contribution cannot be selected by id, such as in the `WHERE` clause, as the test does not appear as an option in the autocomplete drop down list. However, this is not a problem in APIv4, where you can type in the id directly into the available text box.
Reproduction steps
----------------------------------------
1. Find or create a test Contribution
* the quickest way to create one would be by using APIv4 with `is_test = Yes` in the `WHERE` clause.
1. Create a SearchKit with Contributions as the primary entity.
1. In the `WHERE` section, select `Contribution ID =` and then type in the id of the test contribution
1. The drop down list will display 'None found'.
Current behaviour
----------------------------------------
A test Contribution cannot be selected by its id from SearchKit, however, it is available in APIv4.
![Selection_160](/uploads/2547cfd47d94f8e48dce669a391c44a8/Selection_160.png)
![Selection_161](/uploads/88a8cf0da71c4114ab4ca47d1f38e6e7/Selection_161.png)
Expected behaviour
----------------------------------------
A test Contribution should be select-able by its id from SearchKit.
Environment information
----------------------------------------
* __CiviCRM:__ 5.63.alpha1https://lab.civicrm.org/dev/core/-/issues/4436Contact prefix not shown in mailing labels2023-07-18T17:56:58ZschorschiiContact prefix not shown in mailing labels## Overview
I tried to insert the contact prefix into the mailing label format. So I selected the "Individual Prefix" from the right drop-down menu and it inserts `{contact.prefix_id:label}` into the mailing label format textbox. However...## Overview
I tried to insert the contact prefix into the mailing label format. So I selected the "Individual Prefix" from the right drop-down menu and it inserts `{contact.prefix_id:label}` into the mailing label format textbox. However, this placeholder is never filled, i.e. it is always empty when creating mailing labels.
## Reproduction steps
1. Administer -> Localization -> Address Settings -> insert "Individual Prefix"/`{contact.prefix_id:label}` into textbox
2. Search contacts, select some from the result list, choose "Mailing labels - print" from the actions menu
## Current behaviour
The contact prefix is never shown on the mailing labels.
## Expected behaviour
The contact prefix should be shown on the mailing label PDF.
## Environment information
CiviCRM version 5.63.1 under WordPress, German language pack