Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-01-04T20:44:10Zhttps://lab.civicrm.org/dev/drupal/-/issues/192Allow other case roles who are not the case client to update details on the c...2024-01-04T20:44:10Zshraddha_compucorpAllow other case roles who are not the case client to update details on the case via webformCurrently, due to security considerations, only the case client can submit data onto a case via a public form. Create functionality so that a webform can be configured to allow either the client or those with specific case roles to updat...Currently, due to security considerations, only the case client can submit data onto a case via a public form. Create functionality so that a webform can be configured to allow either the client or those with specific case roles to update the details on a specific case.
The table below illustrates the current functioning of the system across different scenarios. Scenario 8 reflects the anticipated operation in accordance with the detailed requirements provided below.
<table>
<tr>
<th>
</th>
<th>
</th>
<th>
**Current expected outcome**
</th>
</tr>
<tr>
<td>
**Case client**
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>Scenario 1: Base scenario</td>
<td>
* Is not a case client
* Is not a current case role
* Is not logged in
* Does not have checksum
* No permissions
</td>
<td>Cannot access case on webform</td>
</tr>
<tr>
<td>Scenario 2: Logged out no checksum</td>
<td>
* **Is a case client**
* Is not a current case role
* Is not logged in
* Does not have checksum
* No permissions
</td>
<td>
Cannot access case on webform
(As is not logged in and doesn’t have a checksum token)
</td>
</tr>
<tr>
<td>Scenario 3: Logged out no checksum</td>
<td>
* **Is a case client**
* Is not a current case role
* Is not logged in
* **Does have checksum**
* No permissions
</td>
<td>
**Can access case on webform**
</td>
</tr>
<tr>
<td>
**Case role**
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>Scenario 4</td>
<td>
* **Has a current case role**
* Is not logged in
* Does not have checksum
* No additional permissions
</td>
<td>Cannot access case on webform</td>
</tr>
<tr>
<td>Scenario 5</td>
<td>
* **Has a current case role**
* Is not logged in
* **Does have checksum**
* No additional permissions
</td>
<td>Cannot access case on webform</td>
</tr>
<tr>
<td>Scenario 6</td>
<td>
* **Has a current case role**
* Is not logged in
* **Does have checksum**
* **Access MY cases**
</td>
<td>Cannot access case on webform</td>
</tr>
<tr>
<td>Scenario 7</td>
<td>
* **Has a current case role**
* Is not logged in
* **Does have checksum**
* **Access ALL cases**
</td>
<td>Cannot access case on webform</td>
</tr>
<tr>
<td>
**New scenario**
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td>Scenario 8</td>
<td>
* **Has a current case role**
* Is not logged in
* **Does have checksum**
* No additional permissions
---
Configure the webform:
* Case role specified can access the case
</td>
<td>
**New: Should be able to access and update case via webform**
</td>
</tr>
</table>
<table>
<tr>
<th>
**ID / Title**
</th>
<th>
**Detailed requirement**
</th>
</tr>
<tr>
<td>
1.1
Webform Configuration
</td>
<td>
Create a new setting under Webform \> Civicrm \> Cases \> Case Roles
* Field details:
* Title: Case roles that can update case via webform
* Type: Multi-select
* Options: List of case roles in CiviCRM
* Help: Specify additional case roles that can access the case via the webform without logging in. To do so create a link with the following details populated: examplesite.com&case1={case.id}&cid1={contact.id}&{contact.checksum} where case1 is the case number on the form, cid1 is the contact you would like to populate with the users details who is accessing the form. Note that contacts who are the case client can always access the case with the above details.
Sample screenshot:
![8b1ebeb3-bbba-484f-8581-a2316410efb7.png](/uploads/6ced689e3b7e11fd794778f2ed86a3e8/8b1ebeb3-bbba-484f-8581-a2316410efb7.png)
</td>
</tr>
<tr>
<td>
1.2
Allow other case roles who are not the case client to update details on the case via webform
</td>
<td>
* If a contact holds a current case role (eg: user1@user1.com i.e. consultant)
* Start date \<= todays date or null
* AND
* End date \> todays date or null
* AND
* Is_active (is not) NO
* They are sent a link via email to a specific webform with:
* Contact ID of their contact autoloaded on the form for at least one of the existing contact fields
* AND
* Case ID is in the URL is a case where they have a case role (&case1={case_id})
* AND
* Case type has their role enabled for edit access as per ID-1.1 above
* AND
* Either:
* Contact CheckSum for their contact if not logged in
* OR
* Any of the following: _(note the following is unchanged from CiviCRM out the box and just included for completeness)_
* Check CiviCRM permissions if logged in
* If they have _CiviCRM Admin_ role they should have access OR
* If they have _CiviCase: access all cases and activities_ OR
* If they have CiviCase: access my cases and activities And are the case manager
* The case details should load in the webform and allow the user to update the case.
eg:
`examplesite.com&case1={case.id}&cid1={contact.id}&{contact.checksum}`
or if populated:
`examplesite.com&case1=100&cid1=999&asokdaoskda98asd Case ID = 100 Contact ID = 999 Checksum = asokdaoskda98asd`
The above should allow the “Contact 1” on the case to edit the case (i.e. the URL above should load the case) if:
1. The contact with ID: 999 has a current case role on the case with ID: 100
2. That case role has been configured to allow access (setting 1.1)
3. The checksum (asokdaoskda98asd) is current / valid
Then the form should load the case details and allow the user to submit and update the case via the form.
</td>
</tr>
</table>https://lab.civicrm.org/dev/core/-/issues/4880Price field and value weights not respected in 5.682024-01-02T23:55:23ZJonGoldPrice field and value weights not respected in 5.68Overview
----------------------------------------
Price fields and values are sorted by primary key, not weight, on contribution pages.
Reproduction steps
----------------------------------------
1. Open up a price set.
1. Change the we...Overview
----------------------------------------
Price fields and values are sorted by primary key, not weight, on contribution pages.
Reproduction steps
----------------------------------------
1. Open up a price set.
1. Change the weight of some items.
1. See if it changed the contribution page..
Current behaviour
----------------------------------------
Sort by primary key.
Expected behaviour
----------------------------------------
Sort by weight.
Comments
----------------------------------------
PR is here: https://github.com/civicrm/civicrm-core/pull/28842
I wasn't going to make a lab.c.o ticket but I suspect that the "regression" tag here is what blocks a release, and with 5.69 almost upon us, I wanted to make sure this got seen.5.69.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/4879Duplicate declaration of static variable under PHP 8.32024-01-31T22:30:42ZspalmstromDuplicate declaration of static variable under PHP 8.3Overview
----------------------------------------
_Please describe your problem or bug in detail._
_If you have already posted on https://civicrm.stackexchange.com or https://chat.civicrm.org, please include the link to that conversatio...Overview
----------------------------------------
_Please describe your problem or bug in detail._
_If you have already posted on https://civicrm.stackexchange.com or https://chat.civicrm.org, please include the link to that conversation._
Reproduction steps
----------------------------------------
1. Go to the web site.
1. The site crashes with
```
PHP Fatal error: Duplicate declaration of static variable $fields in <drupal root>/vendor/civicrm/civicrm-core/CRM/Mailing/Event/BAO/MailingEventForward.php on line 236
```
Current behaviour
----------------------------------------
```
PHP Fatal error: Duplicate declaration of static variable $fields in <drupal root>/vendor/civicrm/civicrm-core/CRM/Mailing/Event/BAO/MailingEventForward.php on line 236
```
Once the static declaration has been removed, you get.
```
PHP Fatal error: Duplicate declaration of static variable $fields in <D:\CiviCRM_Custom.git\drupal8>drupal root>/vendor/civicrm/civicrm-core/CRM/Import/Parser.php on line 1131
```
Expected behaviour
----------------------------------------
The home page should appear.
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __Browser:__ _MS Edge_ but probably not relevant
* __CiviCRM:__ _Master/5.68.x..._ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _8.3_ and I suspect very relevant.
* __CMS:__ _Drupal 10.2.0_ but may not be relevant
* __Database:__ _MySQL 8.0.35_ but probably not relevant.
* __Web Server:__ _IIS 10_ but probably not relevant.
Comments
----------------------------------------
Cannot reproduce in Demo as it is running PHP 8.1.x. Drupal now wants at least 8.2 if my understanding is correct.5.69.2https://lab.civicrm.org/dev/core/-/issues/4878Bundled Snappy is affected by CVE-2023-281152024-01-05T08:17:36ZDmitry SmirnovBundled Snappy is affected by CVE-2023-28115As [reported in Debian](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1036284), bundled snappy is affected by the [CVE-2023-28115](https://www.cve.org/CVERecord?id=CVE-2023-28115) vulnerability:
> Snappy is a PHP library allowing th...As [reported in Debian](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1036284), bundled snappy is affected by the [CVE-2023-28115](https://www.cve.org/CVERecord?id=CVE-2023-28115) vulnerability:
> Snappy is a PHP library allowing thumbnail, snapshot or PDF generation from a url or a html page. Prior to version 1.4.2, Snappy is vulnerable to PHAR deserialization due to a lack of checking on the protocol before passing it into the `file_exists()` function. If an attacker can upload files of any type to the server he can pass in the phar:// protocol to unserialize the uploaded file and instantiate arbitrary PHP objects. This can lead to remote code execution especially when snappy is used with frameworks with documented POP chains like Laravel/Symfony vulnerable developer code. If a user can control the output file from the `generateFromHtml()` function, it will invoke deserialization. This vulnerability is capable of remote code execution if Snappy is used with frameworks or developer code with vulnerable POP chains. It has been fixed in version 1.4.2.
* https://github.com/KnpLabs/snappy/security/advisories/GHSA-gq6w-q6wh-jggc
* https://github.com/KnpLabs/snappy/pull/469
* https://github.com/KnpLabs/snappy/commit/1ee6360cbdbea5d09705909a150df7963a88efd6 (v1.4.2)5.69.0https://lab.civicrm.org/dev/core/-/issues/4877Membership level is miscomputed if you use "Go back" to fix a mistake2024-01-05T03:42:45ZtottenMembership level is miscomputed if you use "Go back" to fix a mistake## Overview
When using a ContributionPage to choose a membership type, you have the option to "Go back" and change
## Reproduction steps
1. Create a site with demo data (_I'm using dmaster_). This includes a dummy payment processor, s...## Overview
When using a ContributionPage to choose a membership type, you have the option to "Go back" and change
## Reproduction steps
1. Create a site with demo data (_I'm using dmaster_). This includes a dummy payment processor, some membership types ("General", "Student"), and a ContributionPage.
2. In a private window, open the ContributionPage for membership registration (`civicrm/contribute/transact?reset=1&id=2`)
3. Choose the "General" membership type. Fill out dummy billing info. Continue to next page.
4. On the confirmation page, read the summary. __You see the "General" selection... and realize it's a mistake.__ You want to change.
5. Press "Go Back"
6. Change the membership to the correct/intended value ("Student"). Continue to the next page.
## Current behavior
On the confirmation page, you see contradictory information. One section reports "Student" membership, and the other section reports "General" membership.
![Screenshot_2023-12-31_at_7.15.05_PM](/uploads/9013a642427bc6685087c71088f15d83/Screenshot_2023-12-31_at_7.15.05_PM.png)
If you ignore this and proceed, then it will processed as a "General" membership -- using your original/mistaken value instead of final/corrected value.
The mistaken values (label/price/period) will appear in the email receipt, the `Contribution` record, and the `Membership` record.
## Expected behavior
After changing your choice to "Student", all screens/records/emails should use the final/corrected value.
## Environment information
* **Browser:** Firefox
* **CiviCRM:** 5.69
* **PHP:** 8.1
* **CMS:** D7
* **Database:** MySQL 8
* **Web Server:** Apache
## Comments
I noticed this while testing other issues, so my local setup involved some other configuration. These parts probably don't matter for this scenario. But just in case there's trouble with reproducing, here's a list of other config steps:
* Make a new membership type, "Part Time Student", which recurs every 6 months
* Update the ContributionPage to enable "Part Time Student" (along with "General" and "Student")
* Change the prices on all membership types to be values like $6, $7, $8, $10. (These values are [more convenient for testing iATS credit card mode](https://content.iatspayments.com/developers-test-credit-card-numbers).)
* Add payment processor for iATS CC (TEST88). But don't actually use it. It's just an extra one hanging around.5.69.0https://lab.civicrm.org/dev/core/-/issues/4876Email greeting config crashes on some smarty `if` statements if quotes are in...2024-01-15T11:27:07ZDaveDEmail greeting config crashes on some smarty `if` statements if quotes are involvedI don't think this is recent, but in message templates I remember there was some handling so that you could do e.g. `{if '{token.something}' == ''}aaa{else}bbb{/if}`, and if `{token.something}`'s value contained apostrophes it would stil...I don't think this is recent, but in message templates I remember there was some handling so that you could do e.g. `{if '{token.something}' == ''}aaa{else}bbb{/if}`, and if `{token.something}`'s value contained apostrophes it would still work. I haven't checked if that's still working but if you do the same in an email greeting it will crash. Example:
1. Create a new contact with first name `D'Andre`.
2. Down in communication prefs choose customized for the email greeting and put `Dear {if '{contact.first_name}' == ''}Friend{else}{contact.first_name}{/if}`.
3. When you save it crashes because the apostrophe confuses it.
4. It's not related to choosing "customized". It happens if this is your normal config at admin - communications - email greetings.
5. It also happens if you try double-quotes and then the name contains a double-quote.
I can work around it with `Dear {if {contact.first_name|boolean}}{contact.first_name}{else}Friend{/if}`, but if I wanted to compare to an actual value that wouldn't help.https://lab.civicrm.org/dev/core/-/issues/4875Better tracking of Scheduled Reminders including Reporting2024-02-21T19:56:17ZshaneonabikeBetter tracking of Scheduled Reminders including Reporting## Overview
_It has come up quite a few times with several clients of ours, whereby they want to see what Scheduled messages went out, if they bounced, and other details. In a few cases, the Scheduled Reminders were not configured prope...## Overview
_It has come up quite a few times with several clients of ours, whereby they want to see what Scheduled messages went out, if they bounced, and other details. In a few cases, the Scheduled Reminders were not configured properly by the client, which is understandable but that's another UI issue._
_So I think it could be really helpful to provide this type of tracking, including click-through, FFWD, etc for Scheduled Reminders like regular mailings._
## Example use-case
1. Set up a Scheduled Reminder for an Event or Membership Renewal
2. Go to Reports to view the progress of Scheduled Reminders
3. Filter by click-throughs, bounce, etc.
## Current behaviour
_Same as above. Presently, the only workaround in some cases like Scheduled Reminders is to create a "fake" mailing that is sent out to one person. Then copying the code generated into the Scheduled Reminder allows a person to actually track the Scheduled Reminder information like you would with a regular mailing because it is associated to our "fake" mailing. But this is super not sustainable or even doable for Event Reminders._
## Proposed behaviour
_Basically, I think it could be extremely useful to integrate the same functionality for Mailing tracking (including bounce) to Scheduled Reminders._https://lab.civicrm.org/dev/core/-/issues/4874Smarty3: file not found in extension2024-02-10T03:20:14ZJonGoldSmarty3: file not found in extensionOverview
----------------------------------------
I changed all my dev sites to use Smarty3, but have been hitting errors. I often need to disable Smarty3 to get my work done, and I've had a hard time isolating some of the bugs, but I h...Overview
----------------------------------------
I changed all my dev sites to use Smarty3, but have been hitting errors. I often need to disable Smarty3 to get my work done, and I've had a hard time isolating some of the bugs, but I have one that I think typifies many I've seen.
Reproduction steps
----------------------------------------
1. Install https://github.com/MegaphoneJon/autopagealias.
1. Try to configure the "Title and Settings" tab of any contribution page.
Current behaviour
----------------------------------------
500 error. Backtrace at the bottom.
Expected behaviour
----------------------------------------
Page loads.
Comments
----------------------------------------
This extension is supposed to [load a template into a region](https://github.com/MegaphoneJon/autopagealias/blob/345b08dd296547499cea49c39fb6c82690800716/autopagealias.php#L55-L57) which is what fails.
Backtrace:
```
SmartyException: "Unable to load template 'file:autopagealias.tpl'"
#0 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render()
#1 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(116): Smarty_Internal_TemplateBase->_execute()
#2 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Core/Region.php(81): Smarty_Internal_TemplateBase->fetch()
#3 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Core/Region.php(157): CRM_Core_Region->{closure}()
#4 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Core/Smarty/plugins/block.crmRegion.php(26): CRM_Core_Region->render()
#5 /home/jon/local/mysite/web/sites/default/files/civicrm/templates_c/en_US/c8/a8/bd/c8a8bd2f0d2e36364b83a4b0b14004fe7f08dd67_0.file.default.tpl.php(40): smarty_block_crmRegion()
#6 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_65836ac8491583_28697209()
#7 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode()
#8 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(216): Smarty_Template_Compiled->render()
#9 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(385): Smarty_Internal_Template->render()
#10 /home/jon/local/mysite/web/sites/default/files/civicrm/templates_c/en_US/5c/4f/99/5c4f999cd4ef413bb2921f2d4e6361f852f26f8a_0.file.snippet.tpl.php(73): Smarty_Internal_Template->_subTemplateRender()
#11 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_65836ac8383521_30854142()
#12 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode()
#13 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(216): Smarty_Template_Compiled->render()
#14 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render()
#15 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(116): Smarty_Internal_TemplateBase->_execute()
#16 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(117): Smarty_Internal_TemplateBase->fetch()
#17 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(83): CRM_Core_QuickForm_Action_Display->renderForm()
#18 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform()
#19 /home/jon/local/mysite/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle()
#20 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Core/Controller.php(355): HTML_QuickForm_Page->handle()
#21 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Utils/Wrapper.php(98): CRM_Core_Controller->run()
#22 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(295): CRM_Utils_Wrapper->run()
#23 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem()
#24 /home/jon/local/mysite/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke()
#25 /home/jon/local/mysite/web/sites/all/modules/civicrm/drupal/civicrm.module(472): CRM_Core_Invoke::invoke()
#26 /home/jon/local/mysite/web/includes/menu.inc(527): civicrm_invoke()
#27 /home/jon/local/mysite/web/index.php(21): menu_execute_active_handler()
#28 {main}
```https://lab.civicrm.org/dev/core/-/issues/4873SearchKit - Add inputMode setting to allow clauses to reference column values...2024-02-12T16:30:40ZsamuelsovSearchKit - Add inputMode setting to allow clauses to reference column values in conditionsRelated to https://github.com/civicrm/civicrm-core/pull/28112
The next step is to allow the feature of field selection for conditions :
![image](/uploads/c400052bf32ca7944a87fdae2d2d3bf6/image.png)
I believe it's already possible from...Related to https://github.com/civicrm/civicrm-core/pull/28112
The next step is to allow the feature of field selection for conditions :
![image](/uploads/c400052bf32ca7944a87fdae2d2d3bf6/image.png)
I believe it's already possible from the managed file so it's likely only a UI limitation.colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/4872SearchKit: Many "group by" requests result in "illegal offset type" 500 error2024-01-05T03:42:44ZJonGoldSearchKit: Many "group by" requests result in "illegal offset type" 500 errorOverview
----------------------------------------
Grouping results that contain both individual and organizations in the results leads to an "illegal offset type" error.
Reproduction steps
----------------------------------------
Import...Overview
----------------------------------------
Grouping results that contain both individual and organizations in the results leads to an "illegal offset type" error.
Reproduction steps
----------------------------------------
Import and run this SearchKit query.
```
[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "illegal_offset_type",
"label": "illegal offset type",
"api_entity": "Contact",
"api_params": {
"version": 4,
"select": [
"COUNT(id) AS COUNT_id",
"GROUP_CONCAT(DISTINCT sort_name) AS GROUP_CONCAT_sort_name",
"GROUP_CONCAT(DISTINCT contact_type:label) AS GROUP_CONCAT_contact_type_label",
"GROUP_CONCAT(DISTINCT contact_sub_type:label) AS GROUP_CONCAT_contact_sub_type_label"
],
"orderBy": [],
"where": [],
"groupBy": [
"Contact_Address_contact_id_01.street_address"
],
"join": [
[
"Address AS Contact_Address_contact_id_01",
"LEFT",
[
"id",
"=",
"Contact_Address_contact_id_01.contact_id"
],
[
"Contact_Address_contact_id_01.is_primary",
"=",
true
]
]
],
"having": []
}
}
],
"match": [
"name"
]
}
]
]
```
Current behaviour
----------------------------------------
500 error:
```
TypeError: Illegal offset type in Civi\Api4\Utils\FormattingUtil::contactFieldsToRemove() (line 430 of /home/jon/local/civicrm-buildkit/build/dmaster/web/sites/all/modules/civicrm/Civi/Api4/Utils/FormattingUtil.php).
```
Expected behaviour
----------------------------------------
No error.JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/4871Afform - Reset button click does not refresh the search result table with emp...2023-12-20T19:19:39ZjitendraAfform - Reset button click does not refresh the search result table with empty filtersTo replicate:
- Create a search kit to search for contacts.
- Add a form builder with a filter input Display Name. Also enable Reset button.
- View the search form and search for display name:
![image](/uploads/61162fab96405b82341a39ddb...To replicate:
- Create a search kit to search for contacts.
- Add a form builder with a filter input Display Name. Also enable Reset button.
- View the search form and search for display name:
![image](/uploads/61162fab96405b82341a39ddb461d9d6/image.png)
- Click Reset and search again.
**Expected**: The search refreshes the table with empty displayname and returns all contacts.
**Actual**: The search does not refresh the table.
![image](/uploads/7b807b8aee9ee97d3b8c5b5c98a133aa/image.png)
Note: If i clear the textbox manually and hit search, the search is working fine.https://lab.civicrm.org/dev/core/-/issues/4870consider adding type info to cache interfaces that extend PSR-16 Simple Cache?2024-02-18T14:03:46Zcomposerjkconsider adding type info to cache interfaces that extend PSR-16 Simple Cache?It looks like in August 2021, the PHP-FIG [PSR-16 Simple Cache](https://github.com/php-fig/simple-cache) interface had parameter and return type info added to the method definitions.
Noticed when the 2.1+ update to the [Breeze](https://...It looks like in August 2021, the PHP-FIG [PSR-16 Simple Cache](https://github.com/php-fig/simple-cache) interface had parameter and return type info added to the method definitions.
Noticed when the 2.1+ update to the [Breeze](https://wordpress.org/plugins/breeze/) WordPress cache plugin referenced the updated cache interface definition via the included [Mobile Detect](https://github.com/serbanghita/Mobile-Detect/) package.
Maybe there's an adjustment to be made or maybe they (Mobile Detect folk) are including the PSR definitions incorrectly? Have not investigated.
Here's the error message that caused me to notice and track down the issue:
`An error of type E_COMPILE_ERROR was caused in line 43 of the file /…/wp-content/plugins/civicrm/civicrm/CRM/Utils/Cache/Interface.php. Error message: Declaration of CRM_Utils_Cache_Interface::get($key, $default = null) must be compatible with Psr\SimpleCache\CacheInterface::get(string $key, mixed $default = null): mixed`
Initial PSR-16 implementation inclusion was in issue #174.https://lab.civicrm.org/dev/core/-/issues/4869Mailing labels do not work with custom tokens anymore2024-01-06T00:51:57ZMariaVMailing labels do not work with custom tokens anymoreI thought I have seen this issue already but I could not find it. In case there is, feel free to close.
Since 5.64.4 or probably earlier, the mailing labels do not work with custom tokens anymore.
An update to 5.67.3 did not help. The p...I thought I have seen this issue already but I could not find it. In case there is, feel free to close.
Since 5.64.4 or probably earlier, the mailing labels do not work with custom tokens anymore.
An update to 5.67.3 did not help. The page is just blank with no labels at all.
My colleague and I were trying to analyze this problem a bit further but could not find a solution.
The custom token itself works when creating a document.
In case it would be interesting to have a look on the code, I have attached the files.
The custom token produces also warnings for non-existent array indices:
```
PHP Warning: Undefined array key "County" in /html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Admin/Form/Preferences/Address.php on line 83
PHP Warning: Undefined array key "Street Address Parsing" in /html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Admin/Form/Preferences/Address.php on line 95
PHP Warning: Undefined array key "county" in /html/wordpress/wp-content/uploads/civicrm/templates_c/de_DE/%%B0/B09/B09DCA78%%Location.tpl.php on line 78
PHP Warning: Trying to access array offset on value of type null in /html/wordpress/wp-content/uploads/civicrm/templates_c/de_DE/%%B0/B09/B09DCA78%%Location.tpl.php on line 78
```
Does anybody have an idea what could be a problem? Could it be an incompatibility with PHP8?
[csaddressemployer.inc](/uploads/7602180cf302b3fc9e2d67d49b62f61e/csaddressemployer.inc)
[tokenhelpers.inc](/uploads/9702807fed78d384f2226aadf99a173c/tokenhelpers.inc)5.69.0https://lab.civicrm.org/dev/core/-/issues/4868Add action for copy activity2023-12-20T19:16:21ZyashodhaAdd action for copy activityWe do have copy action on various entities like _Contribution Page_, _Events_.
It might be handy to have the same for _Activity _as well.
Also provide _Save as New_ feature/ when clicked we can have a new activity created with addition...We do have copy action on various entities like _Contribution Page_, _Events_.
It might be handy to have the same for _Activity _as well.
Also provide _Save as New_ feature/ when clicked we can have a new activity created with additional tweaks based on a pre-existing activity. This would come esp handy for activities which have lots of Activity Contacts/Targets/assignees and custom dat awith the original activity acting as a template.yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4867civi_case/civi_campaign extensions not configured properly on a fresh install2024-01-05T03:42:41ZDaveDcivi_case/civi_campaign extensions not configured properly on a fresh installLeads to crash if you try to enable the extension from the extension screen. They enable properly from the components screen.
Might be from https://github.com/civicrm/civicrm-core/commit/9640b86f59daf80991989f0848e02c01ead202d7? I'm not...Leads to crash if you try to enable the extension from the extension screen. They enable properly from the components screen.
Might be from https://github.com/civicrm/civicrm-core/commit/9640b86f59daf80991989f0848e02c01ead202d7? I'm not sure because I don't use the extension screen to manage these, and on all the PR sites and dmaster.demo they are enabled already at install, so I don't have a good sense of when it started.
PR coming shortly5.69.0https://lab.civicrm.org/dev/core/-/issues/4866Advance search fails for tag search2023-12-18T16:10:50ZPradeep Nayakpradpnayak@gmail.comAdvance search fails for tag searchWhen using advanced search for contacts based on tag and activity created within this month fails to search and export.
![Screen_Recording_2023-12-16_at_13.39.26](/uploads/d27cab973f06ef4b2b61cbd1024b976a/Screen_Recording_2023-12-16_at...When using advanced search for contacts based on tag and activity created within this month fails to search and export.
![Screen_Recording_2023-12-16_at_13.39.26](/uploads/d27cab973f06ef4b2b61cbd1024b976a/Screen_Recording_2023-12-16_at_13.39.26.mov)5.70.0https://lab.civicrm.org/dev/core/-/issues/4865The "X" on advanced search accordions isn't doing the right thing anymore2023-12-20T19:15:35ZDaveDThe "X" on advanced search accordions isn't doing the right thing anymoreFollowup to https://lab.civicrm.org/dev/core/-/issues/4856
It looks like it's been a problem since at least 5.63.
What used to happen was if you just collapsed the accordion, it still used whatever search criteria had been entered (bec...Followup to https://lab.civicrm.org/dev/core/-/issues/4856
It looks like it's been a problem since at least 5.63.
What used to happen was if you just collapsed the accordion, it still used whatever search criteria had been entered (because after the search the form still needs to retain the search criteria even with them collapsed), and in fact even just opening the accordion would make it do the table joins (e.g. if you open the contributions accordion it's the same as "only show me contacts who have at least one contribution"). That's all working now again after 4856. But the "X" at the far right of the accordion header was there to completely remove the criteria and table joins from the query. That's not working anymore, and broke before any accordion changes.
It is _sort of_ working in the sense that it will clear contribution date for example, but not some other fields like id or transaction. And in both cases the accordion still pops open after search. Also note the defaults disappear so it's now including test and template contributions.
And additionally, for transaction, if you repeat and close the accordion again and click search again, you get a crash because it tries to pass array for some reason to mysqli_escape_string.https://lab.civicrm.org/dev/core/-/issues/4864Edit contribution Undefined array key on dmaster2024-03-12T17:47:47ZJoeMurrayEdit contribution Undefined array key on dmasterTrying to edit contribution created at https://lab.civicrm.org/dev/core/-/issues/4863 leads to page of php/smarty issues:
Warning: Undefined array key "defaultContribution" in include() (line 86 of /srv/buildkit/build/dmaster/.civibuild...Trying to edit contribution created at https://lab.civicrm.org/dev/core/-/issues/4863 leads to page of php/smarty issues:
Warning: Undefined array key "defaultContribution" in include() (line 86 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%6F/6F7/6F7BB438%%Contribution.tpl.php).
Warning: Undefined array key "displayLineItemFinancialType" in include() (line 24 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "getTaxDetails" in include() (line 32 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "getTaxDetails" in include() (line 37 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "pricesetFieldsCount" in include() (line 44 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "displayLineItemFinancialType" in include() (line 57 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "getTaxDetails" in include() (line 70 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "getTaxDetails" in include() (line 74 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "pricesetFieldsCount" in include() (line 90 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "getTaxDetails" in include() (line 102 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "pricesetFieldsCount" in include() (line 124 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).
Warning: Undefined array key "hookDiscount" in include() (line 151 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%F2/F21/F21A46C1%%LineItem.tpl.php).https://lab.civicrm.org/dev/core/-/issues/4863contribution ThankYou.tpl.php notice errors on dmaster, contribution total am...2023-12-19T22:08:35ZJoeMurraycontribution ThankYou.tpl.php notice errors on dmaster, contribution total amount $0Scenario 1: On dmaster, with default value for mug premium ($12.50), on live Donation page, choose $50 donation, ask for mug, complete credit card info, no honoree, no title for donor, then on thank you page you get errors below.
Simpli...Scenario 1: On dmaster, with default value for mug premium ($12.50), on live Donation page, choose $50 donation, ask for mug, complete credit card info, no honoree, no title for donor, then on thank you page you get errors below.
Simplifying scenario 2: on dmaster Donate page, leave default $10 amount, no premium, fill in required fields for Billing Name and Address as shown, credit card info, then on thank you page get errors below. Note that Title field is not provided on page, and honoree sections not on page. Need to change template to make them optional is my guess.
![2023-12-15_18-00-19](/uploads/05ba7c9c528596b757c01845da3e03ff/2023-12-15_18-00-19.png)
BUG: in both cases, it shows total paid was $0.00.
![2023-12-15_18-09-17](/uploads/f263bd2a81e8f222c4a8672dec0ad49b/2023-12-15_18-09-17.png)
Warning: fopen(/srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/ConfigAndLog/CiviCRM.1.daaf15586b7efa7b235b62c7.log): Failed to open stream: Permission denied in Log_file->open() (line 216 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/vendor/pear/log/Log/file.php).
Warning: fopen(/srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/ConfigAndLog/CiviCRM.1.daaf15586b7efa7b235b62c7.log): Failed to open stream: Permission denied in Log_file->open() (line 216 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/vendor/pear/log/Log/file.php).
Warning: Undefined array key "honoreeProfileFields" in include() (line 232 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%0D/0D2/0D2EEFAF%%ThankYou.tpl.php).
Warning: Undefined array key "title" in include() (line 377 of /srv/buildkit/build/dmaster/.civibuild/private/default/civicrm/templates_c/en_US/%%0D/0D2/0D2EEFAF%%ThankYou.tpl.php).
![2023-12-15_17-58-12](/uploads/2f7129203c925d45366ad241efc25eac/2023-12-15_17-58-12.png)5.69.0https://lab.civicrm.org/dev/core/-/issues/4862Standalone: cannot update unauthenticated 'everyone' permissions2024-02-05T17:57:44ZRichStandalone: cannot update unauthenticated 'everyone' permissionsThe `CRM_Standaloneusers_BAO_Role::_checkAccess()` method won't let us update the everyone role.
We're supposed to not be allowed to *delete* the everyone role, but we should be able to update the permissions of it.The `CRM_Standaloneusers_BAO_Role::_checkAccess()` method won't let us update the everyone role.
We're supposed to not be allowed to *delete* the everyone role, but we should be able to update the permissions of it.RichRich