Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-03-12T20:00:39Zhttps://lab.civicrm.org/dev/core/-/issues/5087Links to export and import Data Segmentation saved searches2024-03-12T20:00:39ZherbdoolLinks to export and import Data Segmentation saved searchesRight now there's no easy way to export a Data Segmentation saved search. One can export the main saved search, but if it references a Data Segmentation there is no easy way to export it as well.
So the only way is to go to the API4 exp...Right now there's no easy way to export a Data Segmentation saved search. One can export the main saved search, but if it references a Data Segmentation there is no easy way to export it as well.
So the only way is to go to the API4 explorer, select Saved Segmentation, guess at the ID (since it's not visible in the UI or even the link), export to JSON and copy that. Then go to the other site and only include part of that JSON (everything in `values`) and save it.https://lab.civicrm.org/dev/core/-/issues/5086Ability to export FormBuilder forms from the UI2024-03-18T15:35:22ZherbdoolAbility to export FormBuilder forms from the UIWe've got an export link for SearchKit, but if a saved search is wrapped up in a FormBuilder form there's no easy way to also export those files. I can imagine a modal with the text from the forms files (`*.html`, `*.json`) and a link to...We've got an export link for SearchKit, but if a saved search is wrapped up in a FormBuilder form there's no easy way to also export those files. I can imagine a modal with the text from the forms files (`*.html`, `*.json`) and a link to copy it. Or even ability to save the files as a zip file.
And I suppose we'd need an import link as well to import on a different site (similar to SearchKit's link).https://lab.civicrm.org/dev/core/-/issues/5085Incorrect fee level saved when editing event participant2024-03-18T19:23:47Zchrisgaraffachris@aghstrategies.comIncorrect fee level saved when editing event participantOverview
----------------------------------------
Editing an event participant changes the fee level and amount listed, seemingly at random.
Reproduction steps
----------------------------------------
- Register a contact for an event ...Overview
----------------------------------------
Editing an event participant changes the fee level and amount listed, seemingly at random.
Reproduction steps
----------------------------------------
- Register a contact for an event that uses a price set for fees (I'm using Summer Solstice Day Concert from dmaster in this example). Doesn't matter if they register online or an admin adds their registration
- Select Bass - $ 25.00
- Save the event registration
- Edit the event registration
- Change nothing
- Click Save
Current behaviour
----------------------------------------
The Fee level on the participant changes to something else - the specific value seems random on the first save, then doesn't seem to change.
Settings for adding the event registration:
![image](/uploads/04829e0ca7f423daf94a29b56883da07/image.png)
Display after creating the registration:
![image](/uploads/028cb9da80776075397f2df2541ee7a5/image.png)
Display after editing the registration, changing nothing, and saving:
![image](/uploads/5e63e0f24e9de983944a6c0e5873e577/image.png)
Expected behaviour
----------------------------------------
The fee level shouldn't change
Environment information
----------------------------------------
* __CiviCRM:__ Reproduced on 5.70.2, 5.71.0, dmaster (5.73.alpha1)https://lab.civicrm.org/dev/core/-/issues/5084Custom search profile no longer works with quick search2024-03-15T02:43:17ZjamieCustom search profile no longer works with quick searchIf you set a custom default search profile via `Adminster -> Customize Data and Screens -> Search Preferences` and then do a "quick search" (a search via the magnifying glass field in the top left), the results are mis-aligned with the h...If you set a custom default search profile via `Adminster -> Customize Data and Screens -> Search Preferences` and then do a "quick search" (a search via the magnifying glass field in the top left), the results are mis-aligned with the header (and don't actually reflect the fields in the default profile):
![image](/uploads/279e2eed33a67ab12e6e95cf58eafbb5/image.png)
Also, the default profile is not displayed in the "Views for Display Contacts" field if you edit the search criteria, so I think somehow the default search profile is not being communicated between the quick search and the advanced search display.
I tried to figure out what was going on but got a bit lost. I do suspect, however, that is is a regression from [390820a1bd90c9be51ca8f236cecdebfbefc8342](https://github.com/civicrm/civicrm-core/commit/390820a1bd90c9be51ca8f236cecdebfbefc8342). Do you have any thoughs @eileen?
Thank you!https://lab.civicrm.org/dev/core/-/issues/5083SearchKit: It's not possible to uppercase countries and states/provinces2024-03-12T13:30:39ZfrancescbassasSearchKit: It's not possible to uppercase countries and states/provincesReproduced on dmaster.demo.civicrm.org at 5.73.alpha1
![imatge](/uploads/92832dc535bb7b462cd714cc3b58dec5/imatge.png)Reproduced on dmaster.demo.civicrm.org at 5.73.alpha1
![imatge](/uploads/92832dc535bb7b462cd714cc3b58dec5/imatge.png)https://lab.civicrm.org/dev/core/-/issues/5082CiviCRM 5.70.0, 5.71.0 - With URL tracking enabled, a personalised "View in y...2024-03-28T23:33:13Zjustinfreeman (Agileware)CiviCRM 5.70.0, 5.71.0 - With URL tracking enabled, a personalised "View in your browser" link incorrectly replaces ? with & which causes CiviCRM to respond with error: "You do not have permission to access this page"CiviCRM 5.70.0, 5.71.0 - With URL tracking enabled, a personalised "View in your browser" link incorrectly replaces ? with & which causes CiviCRM to respond with error: "You do not have permission to access this page".
This happens when...CiviCRM 5.70.0, 5.71.0 - With URL tracking enabled, a personalised "View in your browser" link incorrectly replaces ? with & which causes CiviCRM to respond with error: "You do not have permission to access this page".
This happens when using a personalised "View in your browser" URL like this in the mailing, note the use of tokens:
https://goodcause.org.au/civicrm/mailing/view?id={mailing.key}&{contact.checksum}&cid={contact.contact_id}
Which is then incorrectly converted to - this only happens with URL tracking enabled. When URL tracking is disabled, no problems at all.
https://goodcause.org.au/civicrm/mailing/view&id=38&cs=838eae033aa8c2edb56f25b54a1edde5_1709775006_2880&cid=389
And then CiviCRM to respond with error: "You do not have permission to access this page"
The fix and workaround for this issue is to instead just use this token as the URL, which will render correctly.
{mailing.viewUrl}
It's not unreasonable to expect the personalised "View in your browser" URL will work, the first URL parameter should not be converted in this way. This may have implications for other types of URLs too.
Agileware Ref: CIVICRM-2230https://lab.civicrm.org/dev/core/-/issues/5081Event Online Receipt can yield Smarty error2024-03-12T19:26:34ZJonGoldEvent Online Receipt can yield Smarty errorCurrently, the `selfcancelxfer_time` field in Civi can be `NULL`. But if it's set to `NULL` then submitting an online event registration crashes because you can't compare it to an integer in this template line in `event_reg_online`:
```...Currently, the `selfcancelxfer_time` field in Civi can be `NULL`. But if it's set to `NULL` then submitting an online event registration crashes because you can't compare it to an integer in this template line in `event_reg_online`:
```
{capture assign=selfservice_preposition}{if {event.selfcancelxfer_time|boolean} && {event.selfcancelxfer_time} > 0}{ts}before{/ts}{else}{ts}after{/ts}{/if}{/capture}
```https://lab.civicrm.org/dev/core/-/issues/5080SearchKit: Join on contact reference in event not working if event isn't root...2024-03-12T13:29:16ZTobias Voigttobias.voigt@civiservice.deSearchKit: Join on contact reference in event not working if event isn't root entityI'm trying to create a SearchKit for participants. I have a join on the participant's events as a secondary entity. From the events I then want to join on a contact via a custom field on the event that is a contact reference - but it doe...I'm trying to create a SearchKit for participants. I have a join on the participant's events as a secondary entity. From the events I then want to join on a contact via a custom field on the event that is a contact reference - but it doesn't work.
When I have the event as the root entity everything works fine. Yet, if I start from participants I can't join on the contact reference.https://lab.civicrm.org/dev/core/-/issues/5079(regression) Submission of non-numeric value on contribution form causes crash2024-03-28T03:51:54ZJonGold(regression) Submission of non-numeric value on contribution form causes crashOverview
----------------------------------------
Putting anything other than a strict numeric value in the "Other Amount" field of a price set results in a crash.
Reproduction steps
----------------------------------------
1. Use a pag...Overview
----------------------------------------
Putting anything other than a strict numeric value in the "Other Amount" field of a price set results in a crash.
Reproduction steps
----------------------------------------
1. Use a page with an "Other Amount" field (Quick Config or not, doesn't matter). This also affects all "Text / Numeric Quantity" price fields.
2. Enter a value that isn't strictly numeric. Like `$5` or `5 dollars`.
3. Submit the page.
Current behaviour
----------------------------------------
Division by zero error, crash.
Expected behaviour
----------------------------------------
Should fail validation with the message "Other Amount must be a number (with or without decimals).".
Comments
----------------------------------------
This is new in 5.70. I traced it to [PR #29275](https://github.com/civicrm/civicrm-core/pull/29275). Our first validation is now `$self->resetOrder($fields);`. The docblock there says we assume the input has been sanitized, but in the backtrace below, it must be happening pre-sanitization.
Backtrace:
```
#0 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Financial/BAO/Order.php(832): CRM_Financial_BAO_Order->calculateLineItems()
#1 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Contribute/Form/Contribution/Main.php(1983): CRM_Financial_BAO_Order->recalculateLineItems()
#2 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Contribute/Form/Contribution/Main.php(819): CRM_Contribute_Form_Contribution_Main->resetOrder(Array)
#3 /var/www/mysite/vendor/civicrm/civicrm-packages/HTML/QuickForm.php(1600): CRM_Contribute_Form_Contribution_Main::formRule(Array, Array, Object(CRM_Contribute_Form_Contribution_Main))
#4 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Core/Form.php(703): HTML_QuickForm->validate()
#5 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Core/QuickForm/Action/Upload.php(137): CRM_Core_Form->validate()
#6 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Core/QuickForm/Action/Upload.php(120): CRM_Core_QuickForm_Action_Upload->realPerform(Object(CRM_Contribute_Form_Contribution_Main), 'upload')
#7 /var/www/mysite/vendor/civicrm/civicrm-packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Upload->perform(Object(CRM_Contribute_Form_Contribution_Main), 'upload')
#8 /var/www/mysite/vendor/civicrm/civicrm-packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contribute_Form_Contribution_Main), 'upload')
#9 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Core/Controller.php(355): HTML_QuickForm_Page->handle('upload')
#10 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(322): CRM_Core_Controller->run(Array, NULL)
#11 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem(Array)
#12 /var/www/mysite/vendor/civicrm/civicrm-core/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke(Array)
#13 /var/www/mysite/web/modules/contrib/civicrm/src/Civicrm.php(88): CRM_Core_Invoke::invoke(Array)
#14 /var/www/mysite/web/modules/contrib/civicrm/src/Controller/CivicrmController.php(83): Drupal\civicrm\Civicrm->invoke(Array)
#15 [internal function]: Drupal\civicrm\Controller\CivicrmController->main(Array, '')
#16 /var/www/mysite/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
#17 /var/www/mysite/web/core/lib/Drupal/Core/Render/Renderer.php(627): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#18 /var/www/mysite/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#19 /var/www/mysite/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
#20 /var/www/mysite/vendor/symfony/http-kernel/HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#21 /var/www/mysite/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#22 /var/www/mysite/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#23 /var/www/mysite/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#24 /var/www/mysite/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#25 /var/www/mysite/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#26 /var/www/mysite/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#27 /var/www/mysite/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#28 /var/www/mysite/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#29 /var/www/mysite/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#30 /var/www/mysite/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#31 /var/www/mysite/web/core/lib/Drupal/Core/DrupalKernel.php(704): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#32 /var/www/mysite/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#33 {main}
```5.71.2https://lab.civicrm.org/dev/core/-/issues/5078Formbuilder: updates not saved when a populated field of type "file" is prese...2024-03-27T21:07:26ZNadaillacFormbuilder: updates not saved when a populated field of type "file" is present in the formOverview
----------------------------------------
When a field of type "file" is present in the form, then updates in this form when submitted, are not saved.
https://chat.civicrm.org/civicrm/pl/jq8ei9pxa3r58nr13rsgzqy9tr
Reproduction s...Overview
----------------------------------------
When a field of type "file" is present in the form, then updates in this form when submitted, are not saved.
https://chat.civicrm.org/civicrm/pl/jq8ei9pxa3r58nr13rsgzqy9tr
Reproduction steps in WP master
----------------------------------------
Create a customized field "file" for contact. Ex: Resume
Create a basic form with an individual: first name, last name marital status, and the field Resume
![Civi_f0](/uploads/e49a4fcd969f61914d9782981032f5b0/Civi_f0.png)
view as logged in (as a user "demo")
Update first name, last name (but not the file)
![Civi_f1](/uploads/6628ffadd5479d87a71792710920ef53/Civi_f1.png)
The data are correctly saved
Update a field and upload a file
![Civi_f2](/uploads/c818403e6c530a6625340099b37d8734/Civi_f2.png)
The data are correctly saved
![Civi_f3](/uploads/4b0091e52e64f5460fce384695ba0536/Civi_f3.png)
view again and update marital status, first name
![Civi_f4](/uploads/a3cf5991f8a55938ad2207f09a743206/Civi_f4.png)
Updates re not saved
![Civi_f5](/uploads/61c9669dfafa7db3c783b103933da511/Civi_f5.png)
I remove the file and change the marital status
![Civi_f6](/uploads/1a71cdcf72f0dec27e29d36861d8d94e/Civi_f6.png)
The marital status has been updated but the file has not been removed
![Civi_F7](/uploads/1c4bb33e3446bdef76b48111a2809436/Civi_F7.png)
Environment information
----------------------------------------
Wpmaster 5.72
The bug is also in 5.70.2
I'm OK to fund the fix !! I need it for a client :-)colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/5077civicrm.css loaded on front end when frontend theme set to 'None - Unstyled'2024-03-19T07:32:11ZMichael McAndrewcivicrm.css loaded on front end when frontend theme set to 'None - Unstyled'Wondering if I have found a bug or am just misunderstanding/mistaken or I have missed a decision to change things but I have reproduced this on 5.70 and 5.71. It was not happening in 5.64.4
Steps to reproduce:
1. Clean CiviCRM on WordP...Wondering if I have found a bug or am just misunderstanding/mistaken or I have missed a decision to change things but I have reproduced this on 5.70 and 5.71. It was not happening in 5.64.4
Steps to reproduce:
1. Clean CiviCRM on WordPress install
2. Set front end theme to **automatic**
3. Go to a front end page, e.g. /civicrm/mailing/subscribe
4. Notice that /wp-content/plugins/civicrm/civicrm/css/civicrm.css has been loaded - **good!**
5. Set front end theme **none - unstyled**
6. Go to a front end page, e.g. /civicrm/mailing/subscribe
7. Notice that /wp-content/plugins/civicrm/civicrm/css/civicrm.css has been loaded **- bad!**https://lab.civicrm.org/dev/core/-/issues/5076Error on install2024-03-12T13:27:18ZJonGoldError on installI just attempted to install via the normal web UI for the first time in a very long time. Brand new D7 site, brand new Civi. Disabled all components but CiviEvent and CiviMail. On install, I received this message:
```
CRM_Extension_E...I just attempted to install via the normal web UI for the first time in a very long time. Brand new D7 site, brand new Civi. Disabled all components but CiviEvent and CiviMail. On install, I received this message:
```
CRM_Extension_Exception_DependencyException: Cannot disable extension due to dependencies. Consider disabling all these: civi_campaign,civi_case,civi_contribute,civi_member,civi_pledge,civi_report,financialacls in CRM_Extension_Manager->disable() (line 387 of /var/www/mysite.org/web/sites/all/modules/civicrm/CRM/Extension/Manager.php).
```
Reloading the page got me past the error but since it's the first thing a new admin will see it's worth fixing IMO.https://lab.civicrm.org/dev/core/-/issues/5075When adding fields to a profile if you choose Contact as the entity the dropd...2024-03-12T13:26:32ZDaveDWhen adding fields to a profile if you choose Contact as the entity the dropdown includes Grant fieldsThis sounds familiar but I'm not sure if it's something new or something that came back. I can't find a ticket about it with a quick search.This sounds familiar but I'm not sure if it's something new or something that came back. I can't find a ticket about it with a quick search.https://lab.civicrm.org/dev/core/-/issues/5074Standalone installer header squished on wide screens2024-03-12T13:25:50ZufundoStandalone installer header squished on wide screensOn screens wider than 2000px the installer title overlaps the logo:
![image](/uploads/5bdae7eb821fc67c637939d2abc7f983/image.png)
Minor but it's not the best intro for new people to CiviCRM!
(Maybe it is a good intro :eyes: )On screens wider than 2000px the installer title overlaps the logo:
![image](/uploads/5bdae7eb821fc67c637939d2abc7f983/image.png)
Minor but it's not the best intro for new people to CiviCRM!
(Maybe it is a good intro :eyes: )https://lab.civicrm.org/dev/core/-/issues/5073Standalone default folder structure2024-03-29T07:36:10ZufundoStandalone default folder structureSome wise suggestions from @artfulrobot for clearer folder naming / out-of-the-box security:
> ```
> - civicrm-standalone-X.Y.Z.zip
> - index.php
> - .htaccess
> - robots.txt ➌
> - data/
> - data/ext/....Some wise suggestions from @artfulrobot for clearer folder naming / out-of-the-box security:
> ```
> - civicrm-standalone-X.Y.Z.zip
> - index.php
> - .htaccess
> - robots.txt ➌
> - data/
> - data/ext/.htaccess
> - data/public/.htaccess ➊
> - data/.private/.htaccess ➋
> - core/<ALL-THE-CODES>
> ```
>
> 1. use 'public' not 'upload'. It partners well with 'private', and 'upload' is such a daft relative-to-what? term (not everything you upload through a browser ought to be in a public dir). I think the whole 'persist' 'contribute' etc. is a right mess - or at least I don't understand the logic if there is logic, though last time I looked at it the logic was that at some point in history the first thing to allow uploads was civi contribute so ...
>
> 2. use a dot before _private/_. It's very common, and easy, to ban http access to all 'dot files'. So this gives an extra _likely_ shield against the "oh, I didn't realise nginx ignored .htaccess files" users. Just feels safer, if we're focussing on making this easy.
>
> 3. In terms of sensible defaults, I feel we should have a robots.txt that does its best to ban crawlers, especially AI ones, on everything except specific paths (e.g. event pages). It's one thing to have someone tell you you've accidentally exposed data and someone saw it, it's another to find that your [exposed data now lives in an LLM](https://arstechnica.com/information-technology/2022/09/artist-finds-private-medical-record-photos-in-popular-ai-training-data-set/) training set, ready to be given to anyone with a particular prompt.
Maybe to the nginx point, we could add `nginx-civicrm-site.conf.sample` in the root?
I think the principles for the public / private upload folder names apply to the composer template and the tarball.ufundoufundohttps://lab.civicrm.org/dev/core/-/issues/5072SearchKit: Ghost custom data2024-03-12T15:46:29ZfrancescbassasSearchKit: Ghost custom dataHow to reproduce:
1. Create a custom field for a membership type.
2. Create a membership type and fill the custom field.
3. Change the membership type for the previous membership. Membership no longer have custom field, at least at UI l...How to reproduce:
1. Create a custom field for a membership type.
2. Create a membership type and fill the custom field.
3. Change the membership type for the previous membership. Membership no longer have custom field, at least at UI level, data remains in database tables.
4. Create a SearchKit to list memberships and custom field created in step 1.
5. The SearchKit results show data for non-applicable field for the membership created in step 2.
I suspect it's applicable for custom data groups associated with other entities (contact subtypes, participants, etc)https://lab.civicrm.org/dev/core/-/issues/5071TypeError when trying to use checkboxes with default non-membership options i...2024-03-08T04:07:50ZFrancis (Agileware)TypeError when trying to use checkboxes with default non-membership options in the Membership section of Contribution PagesOverview
----------------------------------------
If you have a PriceSet with a checkboxes field, that has default options set that **don't** have a membership type associated with them, trying to use it on a Contribution Page causes th...Overview
----------------------------------------
If you have a PriceSet with a checkboxes field, that has default options set that **don't** have a membership type associated with them, trying to use it on a Contribution Page causes that page to crash.
Observed on PHP 8.0, may not be an issue on 7.4 -
Reproduction steps
----------------------------------------
1. Create a membership price set
2. Include in this price set a Checkboxes fields with a default option that does not select a membership type, e.g.
Membership Type
[ ] General - $100
[ ] Student - $50
Be awesome
[ X ] Donate $150 to save the Northern White Rhino
3. Use this price set in the membership context of a Contribution page
4. View the contribution page on the front-end
Current behaviour
----------------------------------------
Contribution page does not load, crashes with TypeError:
```
PHP Fatal error: Uncaught TypeError: strtolower(): Argument #1 ($string) must be of type string, array given in /.../public_html/ontarget/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php:1419
```
Backtrace shows this is called from `CRM_Contribute_Form_Contribution_Main->setDefaultValues()`:
https://github.com/civicrm/civicrm-core/blob/4b75775/CRM/Contribute/Form/Contribution/Main.php#L270
(Ref 4b75775 is master at time of this report)
Expected behaviour
----------------------------------------
Contribution page should load, with defaults for all fields correctly applied
Environment information
----------------------------------------
* __CiviCRM:__ _Master, 5.70.2_
* __PHP:__ _8.0+_
Comments
----------------------------------------
I have a working patch for this, however I'm not sure the approach is entirely correct. The code in question appears to be trying to insinuate a Membership Type ID for, again an option (PriceFieldValue) which doesn't specify a membership type. Perhaps this line could... just be removed?5.72.0https://lab.civicrm.org/dev/user-interface/-/issues/70Test & resolve final accordion markup pattern rewrite: CRMDashlet (pattern 2)2024-03-07T13:51:41ZnicolTest & resolve final accordion markup pattern rewrite: CRMDashlet (pattern 2)The accordion issue #60 has just one pattern left remaining, which appears in one part of CiviCRM, the dashboard. This is more complex than other accordions as the summary bar needs to be drag-and-drop, as well as have function buttons f...The accordion issue #60 has just one pattern left remaining, which appears in one part of CiviCRM, the dashboard. This is more complex than other accordions as the summary bar needs to be drag-and-drop, as well as have function buttons for refresh, close, and expand-to-modal.
There's a WIP PR for it here: https://github.com/civicrm/civicrm-core/pull/29613 – which has two outstanding issues:
- the expand-to-modal duplicates the title.
- the refresh js in `crmDashlet.component.js` needs to be updated
In addition, testing needs to confirm on several CMS the following still work:
- [ ] drag,
- [ ] drop,
- [ ] expand fullscreen,
- [ ] expand/collapse accordion,
- [ ] refresh,
- [ ] remove dashlet
- [ ] inactive dashlet state (when clicking 'available dashlet')Improve Civi's front-endhttps://lab.civicrm.org/dev/core/-/issues/5070Contribution pending status wrong2024-03-07T18:16:21Zaydunsaidan.saunders@squiffle.ukContribution pending status wrong## Overview
After creating a Pending Contribution it lists as `Pending (Incomplete Transaction)`, not `Pending (Pay Later)`, but editing and saving with no changes causes it to show correctly.
## Reproduction steps
1. Choose a contact...## Overview
After creating a Pending Contribution it lists as `Pending (Incomplete Transaction)`, not `Pending (Pay Later)`, but editing and saving with no changes causes it to show correctly.
## Reproduction steps
1. Choose a contact.
2. `Actions` \> `Add Contribution` (or `Contributions` tab \> `Record Contribution`, or API4)
3. Choose any Financial Type and Amount, set Status to `Pending`
4. View the Contributions list
## Current behaviour
The status shows as `Pending (Incomplete Transaction)`
Then `Edit` the contribution, don't make any changes, just hit `Save`
Note that the status is now `Pending (Pay Later)`
## Expected behaviour
Should be `Pending (Pay Later)`
## Environment information
* **CiviCRM:** _Master & 5.70.0 - maybe others_
Reproducible on dmaster.demo.civicrm.org
## Comments
_See_ https://chat.civicrm.org/civicrm/pl/qcmoueddmfbm7bpfq4uauympcwhttps://lab.civicrm.org/dev/core/-/issues/5069standalone: permanent "session already active" errors2024-03-26T14:20:29ZRichstandalone: permanent "session already active" errorsEvery page, including the login form has:
* session_set_save_handler(): Session save handler cannot be changed when a session is active [2]
/var/www/standalone.localhost/web/core/CRM/Utils/System/Standalone.php line 567
* sessi...Every page, including the login form has:
* session_set_save_handler(): Session save handler cannot be changed when a session is active [2]
/var/www/standalone.localhost/web/core/CRM/Utils/System/Standalone.php line 567
* session_start(): Ignoring session_start() because a session is already active [8]
/var/www/standalone.localhost/web/core/CRM/Utils/System/Standalone.php line 580
I first encountered this while reviewing https://github.com/civicrm/civicrm-core/pull/29352 but after experiencing it once, I could not get it to repeat, so thought it was a random local thing. But now it's back.
I have some installs that don't have it, and others that do; I'm trying to figure out how to reproduce/what makes the difference.