Development issueshttps://lab.civicrm.org/groups/dev/-/issues2024-02-28T05:03:22Zhttps://lab.civicrm.org/dev/core/-/issues/2245missing code in contribution_recurring_notify template (Contributions - Recur...2024-02-28T05:03:22ZMariaVmissing code in contribution_recurring_notify template (Contributions - Recurring Start and End Notification)Dear core-team,
I've noticed that there is code missing in the system workflow template "Contributions - Recurring Start and End Notification". When I wanted to add a confirmation message in a donation page, it was not shown in the noti...Dear core-team,
I've noticed that there is code missing in the system workflow template "Contributions - Recurring Start and End Notification". When I wanted to add a confirmation message in a donation page, it was not shown in the notification email.
So I checked the template "Contributions - Receipt (on-line)" because it was working for single contributions.
And there I've found the following code snippet:
`{if $receipt_text}
{$receipt_text}
{/if}`
This is missing in the template for reccuring contributions.
I attach those files here. This is the way how we use it now.
I also changed a bit of the design and added i.e. {*Signature*} where we add the signature in all our projects.
Furthermore I've commented out the following part because it is impossible to translate this fully properly (More information [here](https://lab.civicrm.org/dev/translation/-/issues/53)) so that it is not usable if you do not use CiviCRM in English:
`{*{ts}Thanks for your recurring contribution sign-up.{/ts}
{ts 1=$recur_frequency_interval 2=$recur_frequency_unit 3=$recur_installments}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments } {ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.
{ts}Start Date{/ts}: {$recur_start_date|crmDate}*}`
I hope this issue helps you to solve those problems.
Thanks for all your efforts!
[contribution_recurring_notify_html.tpl](/uploads/4b1187ebcaa6978c2aa2cd483a3517bb/contribution_recurring_notify_html.tpl)
[contribution_recurring_notify_text.tpl](/uploads/f3da3f4f8c7291b4bae1dcba4df62b9e/contribution_recurring_notify_text.tpl)https://lab.civicrm.org/dev/core/-/issues/2243Add created_date column to the civicrm_note table2021-03-28T16:44:34ZjasonmAdd created_date column to the civicrm_note tableOverview
----------------------------------------
After merging contacts, we noticed that when viewing the notes of the merged contact, the notes merged from the duplicated contact display the timestamp of when the merge happened. It wou...Overview
----------------------------------------
After merging contacts, we noticed that when viewing the notes of the merged contact, the notes merged from the duplicated contact display the timestamp of when the merge happened. It would be helpful for note records to store both the created date and the last modified date and to display both dates in the notes list view at /civicrm/contact/view?reset=1&cid=xxxxxx
Example use-case
----------------------------------------
The user wants to see the date that a note was created in addition to when a note was last modified.
Current behaviour
----------------------------------------
Currently the civicrm_note table has only a modified_date field so the date a note is created is lost upon any update.
Proposed behaviour
----------------------------------------
Add a created_date column to the civicrm_note table and display both created and modified dates at /civicrm/contact/view?reset=1&cid=xxxxxx
![screenshot-a](/uploads/99cabcdde44fa725841c2d5de5afd28a/screenshot-a.png)
![screenshot-b](/uploads/003327183320ec3af790840cbe835393/screenshot-b.png)
![screenshot-c](/uploads/d8ecdc89bb06f23037df82ea81e4974e/screenshot-c.png)5.37.0https://lab.civicrm.org/dev/translation/-/issues/60Add created_date column to the civicrm_note table2020-12-10T16:42:40ZjasonmAdd created_date column to the civicrm_note tableAfter merging contacts, we noticed that when viewing the notes of the merged contact, the notes merged from the duplicated contact display the timestamp of when the merge happened. It would be helpful for note records to store both the c...After merging contacts, we noticed that when viewing the notes of the merged contact, the notes merged from the duplicated contact display the timestamp of when the merge happened. It would be helpful for note records to store both the created date and the last modified date and to display both dates in the notes list view at /civicrm/contact/view?reset=1&cid=xxxxxx![screenshot-a](/uploads/02cf8a02bae6cf03df9764d7203355db/screenshot-a.png)
![screenshot-b](/uploads/08a903e82015e10103afbf5003b24961/screenshot-b.png)
![screenshot-c](/uploads/bd09d47c2cfe945b1a5beb048fbcbe02/screenshot-c.png)https://lab.civicrm.org/dev/core/-/issues/2242CiviCRM Export, Saved Export Field Mapping that contains custom fields which ...2021-02-01T22:03:53Zjustinfreeman (Agileware)CiviCRM Export, Saved Export Field Mapping that contains custom fields which have been disabled or deleted are still loaded as "clear" values and cause the export download to fail with "DB Error: no such field"CiviCRM Export, Saved Export Field Mapping that contains custom fields which have been disabled or deleted are still loaded as "clear" values and cause the export download to fail with "DB Error: no such field".
This is complicated furt...CiviCRM Export, Saved Export Field Mapping that contains custom fields which have been disabled or deleted are still loaded as "clear" values and cause the export download to fail with "DB Error: no such field".
This is complicated further because the **user cannot remove the "clear" fields from the field export list at all** and as a result, renders the Saved Export Field Mapping defunct.
The disabled or deleted fields are listed on the field export page as "clear", see screenshot below.
![Screenshot_20201210_165641](/uploads/099da3249d6eb3734fab60d6adaacf58/Screenshot_20201210_165641.png)
Agileware Ref: CIVICRM-16275.35.0https://lab.civicrm.org/dev/core/-/issues/2241Don't check for .git in the isDevelopment() function2021-01-11T22:35:28ZDaveDDon't check for .git in the isDevelopment() functionThe function isDevelopment() checks if there's a .git folder present. The function controls for example mysql strict mode and whether deprecations throw errors (more about deprecations in ticket dev/core#2240). But it's not crazy for a l...The function isDevelopment() checks if there's a .git folder present. The function controls for example mysql strict mode and whether deprecations throw errors (more about deprecations in ticket dev/core#2240). But it's not crazy for a live site to have a .git folder.
Previous discussion at https://github.com/civicrm/civicrm-core/pull/17276. Where it stalled was not really on whether using .git is wrong, it was on what it should do instead. Summary of alternates:
1. Use the Environment setting at System Settings - Debugging.
* There may be some differences between what that setting is actually for and what this function gets used for.
* Also switching to this setting has some side effects which aren't blockers but would need to be dealt with (test suite, buildkit defaults).
1. Instead of "is dev", have a way to tell "for testing" and "not for testing".
* CIVICRM_UF(?)
1. Use whatever the symfony environment is set to.
@mattwire @AlanDixon @MikeyMJCO @artfulrobot5.35.0https://lab.civicrm.org/dev/core/-/issues/2240Deprecation warnings are implemented backwards2021-01-06T20:47:07ZDaveDDeprecation warnings are implemented backwardsSpecifically, they piggyback on the logging system by calling logging first and then triggering errors, whereas they should simply call trigger_error, and leave it up to the site's error handling config or custom error_handlers whether t...Specifically, they piggyback on the logging system by calling logging first and then triggering errors, whereas they should simply call trigger_error, and leave it up to the site's error handling config or custom error_handlers whether that gets logged or not.
Also note that throwing an error from within CRM_Core_Error_Log technically makes that class a non-compliant PSR-3 implementation. Quoting from https://github.com/php-fig/fig-standards/blob/75d5769d235ceff12e5c850f54d7d43266e62769/accepted/PSR-3-logger-interface.md#13-context
> A given value in the context MUST NOT throw an exception nor raise any php error, warning or notice.
Example:
_Current_: `Civi::log()->warning('something', ['civi.tag' => 'deprecated']);`
_Proposed_: `trigger_error('something', E_USER_DEPRECATED);` (or call a wrapper function which does this - exact implementation doesn't matter, just don't call logging).5.34.0https://lab.civicrm.org/dev/financial/-/issues/160Allocation of "fee amount" is incorrect if fee is added after contribution is...2020-12-11T17:11:37ZJonGoldAllocation of "fee amount" is incorrect if fee is added after contribution is created#### Steps to replicate:
* Go to **Administer » CiviContribute » Payment Methods**. Note the default payment method.
* Also note a payment method that doesn't have the same financial account.
On a clean install, "Check" is the default ...#### Steps to replicate:
* Go to **Administer » CiviContribute » Payment Methods**. Note the default payment method.
* Also note a payment method that doesn't have the same financial account.
On a clean install, "Check" is the default method, and "Credit Card" has a different financial account. I'll use those in my example below.
* Create a contribution with payment method of credit card. Enter a fee amount, save, and note the contribution ID.
* Run the following SQL to view the financial account IDs of the transaction (my contribution ID is 96 below):
```sql
mysql> SELECT entity_id, amount, from_financial_account_id, to_financial_account_id, total_amount, fee_amount FROM civicrm_entity_financial_trxn ceft JOIN civicrm_financial_trxn cft ON ceft.financial_trxn_id = cft.id WHERE entity_table = 'civicrm_contribution' AND entity_id = 96;
+-----------+--------+---------------------------+-------------------------+--------------+------------+
| entity_id | amount | from_financial_account_id | to_financial_account_id | total_amount | fee_amount |
+-----------+--------+---------------------------+-------------------------+--------------+------------+
| 96 | 18.00 | NULL | 12 | 18.00 | 4.00 |
| 96 | 4.00 | 12 | 5 | 4.00 | 0.00 |
+-----------+--------+---------------------------+-------------------------+--------------+------------+
```
* The above is correct - the `from_financial_account_id` of the fee trxn matches the `to_financial_account_id` of the main trxn.
* Create a second contribution with payment method of credit card, but do *not* enter the fee.
* Save the contribution, then immediately edit it to add the fee.
* When you run the SQL above, it will look like this:
```sql
mysql> SELECT entity_id, amount, from_financial_account_id, to_financial_account_id, total_amount, fee_amount FROM civicrm_entity_financial_trxn ceft JOIN civicrm_financial_trxn cft ON ceft.financial_trxn_id = cft.id WHERE entity_table = 'civicrm_contribution' AND entity_id = 95;
+-----------+--------+---------------------------+-------------------------+--------------+------------+
| entity_id | amount | from_financial_account_id | to_financial_account_id | total_amount | fee_amount |
+-----------+--------+---------------------------+-------------------------+--------------+------------+
| 95 | 11.00 | NULL | 12 | 11.00 | 0.00 |
| 95 | 3.00 | 6 | 5 | 3.00 | 0.00 |
+-----------+--------+---------------------------+-------------------------+--------------+------------+
```
Note that the fee's `from_financial_account_id` no longer matches the account of the main transaction - it matches the financial account ID of the **default** payment method, not the payment method of this contribution.
**tl;dr:** The financial transaction for a fee amount is calculated incorrectly if you edit the fee after the contribution is saved.
I haven't written a patch/test yet, but I intend to in the next day or two.5.34.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/2239Make submitting of A/B mailing atomic2024-03-24T05:03:29ZromainMake submitting of A/B mailing atomicThe [API function that submits A/B mailings](https://github.com/civicrm/civicrm-core/blob/master/api/v3/MailingAB.php#L100) performs the following actions:
1. submits mailing A (= set scheduled date to now)
2. submits mailing B
3. di...The [API function that submits A/B mailings](https://github.com/civicrm/civicrm-core/blob/master/api/v3/MailingAB.php#L100) performs the following actions:
1. submits mailing A (= set scheduled date to now)
2. submits mailing B
3. distribute recipients between A and B
4. set status of the A/B mailing from Draft to Testing, regardless of what happened in previous steps
I can see 3 problems in this code:
- Recipients distribution happens after submitting mailing. So if we are unlucky (i.e. if a mailing job picks up the mailings right at that moment) the mailing sender can start sending the mailings before the distribution has happened
- None of the steps checks whether the earlier steps reported any error
- The change is not atomic: if an error happens, there is no attempt to undo the earlier steps
These problems can have various consequences, from my experience:
- The submitting works but setting the status fails: the A/B mailing is being sent but this has status Draft. Opening it will display a report but it will not be possible to pick the Final
- The submitting fails but setting the status works: the A/B mailing is not sent but has status Testing. Opening it will display the composer but it will not be possible to submit the mailing.
- In any of the previous cases, if the distribution worked fine any attempt to send again the mailing without precaution will cause the distribution to happen again, which means that recipients of mailing A will be reset to whole target group and mailing B and C will receive due percentage of that group, **without removing the recipients they already got in previous submit**, hence duplicate sendings. That one can be even worse when the error is a deadlock, and the query is retried.
I *think* that making all 4 steps happen in a single DB transaction would solve all the problems I mention here.
Would that be a good approach? If so, does it make sense to put the whole function in a transaction regardless of the target status, or shall the function be re-organised a bit to have the status setting done in the case statement and make only the `Testing` use case atomic?
With those answers, I'm happy to work on a PR.https://lab.civicrm.org/dev/core/-/issues/2238Improvement: custom search and a custom action list2021-12-01T10:00:13ZjaapjansmaImprovement: custom search and a custom action listAs a developer I sometimes write a custom search and sometimes I also need to ability to have a customized list of actions after the search and not the default list of actions possible with a contact.
So my proposal is that the custom ...As a developer I sometimes write a custom search and sometimes I also need to ability to have a customized list of actions after the search and not the default list of actions possible with a contact.
So my proposal is that the custom search class could set the `$objectType` for the `hook_civicrm_searchTasks`.
PR: https://github.com/civicrm/civicrm-core/pull/19143https://lab.civicrm.org/dev/core/-/issues/2237Provide some way for an extension's database tables to automatically get incl...2022-08-24T18:56:45ZDaveDProvide some way for an extension's database tables to automatically get included when a site runs utf8mb4 conversionThere's an option in the api call / api explorer when running the utf8mb4 conversion to specify some tablename patterns, but this requires the user to know what the tables are that all their extensions create.
One idea is a hook that le...There's an option in the api call / api explorer when running the utf8mb4 conversion to specify some tablename patterns, but this requires the user to know what the tables are that all their extensions create.
One idea is a hook that lets an extension advertise the names of tables it creates. If it wants to manage the charset itself for a table then it can just not list it.
Another is a standard naming like civicrm_ext_FOO, which then core knows not to conflict for its own tables, but which starts with civicrm so gets picked up by default.
Open to other ideas. The status quo is also technically an option. And it's only important if there's some connection between text data in the extension's tables and core tables, or it stores emojis and such.https://lab.civicrm.org/dev/core/-/issues/2236Running a Scheduled Job should imply runInNonProductionEnvironment=TRUE2020-12-07T21:19:44ZJonGoldRunning a Scheduled Job should imply runInNonProductionEnvironment=TRUErunInNonProductionEnvironment should really refer to whether a job should run *automatically* on a non-production environment. If someone is manually running a job, that's already a manual deviation from the normal procedure, so this ad...runInNonProductionEnvironment should really refer to whether a job should run *automatically* on a non-production environment. If someone is manually running a job, that's already a manual deviation from the normal procedure, so this additional step shouldn't be necessary.JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/2235civicrm_api3_contribution_transact deprecation message has broken docs link2020-12-08T00:25:16Zmglamancivicrm_api3_contribution_transact deprecation message has broken docs linkOverview
----------------------------------------
While working on Webform CiviCRM, I encountered the deprecation notice for `civicrm_api3_contribution_transact`.
```
User deprecated function: Deprecated function ::civicrm_api3_contribu...Overview
----------------------------------------
While working on Webform CiviCRM, I encountered the deprecation notice for `civicrm_api3_contribution_transact`.
```
User deprecated function: Deprecated function ::civicrm_api3_contribution_transact, use The contibution.transact api is unsupported & known to have issues. Please see the section at the bottom of https://docs.civicrm.org/dev/en/latest/financial/OrderAPI/ for getting off it.
```
The stack trace
```
Civi\API\Provider\MagicFunctionProvider->invoke(Array) (Line: 150)
Civi\API\Kernel->runRequest(Array) (Line: 81)
Civi\API\Kernel->runSafe('contribution', 'transact', Array) (Line: 22)
civicrm_api('contribution', 'transact', Array) (Line: 539)
wf_civicrm_api('contribution', 'transact', Array) (Line: 1825)
```
Reproduction steps
----------------------------------------
1. Setup Drupal 8.9, Webform CiviCRM, CiviCRM 5.33RC
2. Create a webform with contributions
3. Submit
4. See the deprecation notice
Current behaviour
----------------------------------------
A link to `https://docs.civicrm.org/dev/en/latest/financial/OrderAPI/` is provided and returns a 404
Expected behaviour
----------------------------------------
The deprecation instructions should have docs for how to remove the deprecation.5.33.0https://lab.civicrm.org/dev/core/-/issues/2234Weird "null" after adding new tagset2020-12-05T22:47:08ZDaveDWeird "null" after adding new tagset1. On the tags admin page, click the plus sign to add a new tagset.
2. Do NOT fill in the description field.
3. After returning from the popup form, it shows the word "null".
I can see where it's coming from, just debating which side to...1. On the tags admin page, click the plus sign to add a new tagset.
2. Do NOT fill in the description field.
3. After returning from the popup form, it shows the word "null".
I can see where it's coming from, just debating which side to approach it.
![Untitled](/uploads/7f44aef7409cf867abfe5f09e4b948bd/Untitled.png)5.34.0https://lab.civicrm.org/dev/civicrm-asset-plugin/-/issues/17Error in composer prevents install of some packages2020-12-04T02:31:22Zluke.stewartError in composer prevents install of some packagesThere seems to be an error occurring when installing some drupal modules via composer when civicrm is already installed.
Back trace shown:
```
Exception trace:
() at /vendor/civicrm/composer-compile-plugin/src/Util/ComposerPassthru.php...There seems to be an error occurring when installing some drupal modules via composer when civicrm is already installed.
Back trace shown:
```
Exception trace:
() at /vendor/civicrm/composer-compile-plugin/src/Util/ComposerPassthru.php:72
Civi\CompilePlugin\Util\ComposerPassthru->run() at phar:///usr/local/bin/composer/src/Composer/Plugin/PluginManager.php(196) : eval()'d code:117
Civi\CompilePlugin\CompilePlugin_composer_tmp5->runTasks() at n/a:n/a
call_user_func() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:164
Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:96
Composer\EventDispatcher\EventDispatcher->dispatchScript() at phar:///usr/local/bin/composer/src/Composer/Installer.php:338
Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/RequireCommand.php:248
Composer\Command\RequireCommand->doUpdate() at phar:///usr/local/bin/composer/src/Composer/Command/RequireCommand.php:205
Composer\Command\RequireCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:245
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:835
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:185
Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:281
Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:117
Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:113
Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:61
require() at /usr/local/bin/composer:24
```
I can reproduce this on a clean install by doing the following:
composer create-project drupal/recommended-project civicrm
cd civicrm/
composer config extra.enable-patching true
composer config minimum-stability dev
composer require civicrm/civicrm-{core,packages,drupal-8}:'~5.32'
composer require drupal/drupalauth4ssp
Failure happens at the last step. Have also tried --with-all-dependencies and wiping vendor and composer.install in case this helps.
I suspect this might be related to: https://lab.civicrm.org/dev/drupal/-/issues/150https://lab.civicrm.org/dev/core/-/issues/2229Contribution page start/end dates don't affect widget's total contributions sum2023-06-04T05:03:24ZedgimarContribution page start/end dates don't affect widget's total contributions sumWhen using a contribution widget associated with a particular contribution-page, it would be nice to be able to modify the start/end dates of the contribution page, and have them affect which contributions are included when computing the...When using a contribution widget associated with a particular contribution-page, it would be nice to be able to modify the start/end dates of the contribution page, and have them affect which contributions are included when computing the sum that is displayed by the widget. Currently this date-range has no effect on the computed widget sum.
The use-case is this: a contribution page is set up, and the user wants to continue to be able to use the same contribution page and widget, but to adjust the date-range (e.g. to match a new year or matching-grant period) on occasion.
On a tangentially related topic, it would probably be better to still allow people to access a contribution page even if the current date is outside the start/end date range. Otherwise potential donors are greeted with an "invalid page" message instead of a form by which they can donate.https://lab.civicrm.org/dev/drupal/-/issues/151Updating from Drupal 7.75 to 7.76: user views are broken because of missing c...2021-01-06T16:43:26ZhansrosselUpdating from Drupal 7.75 to 7.76: user views are broken because of missing civicrm_uf_match tableAfter updating from Drupal 7.75 to 7.76 user views with civicrm data are not working anymore
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'xxx_drupal.xxx.civicrm_uf_match' doesn't exist
I suppose it has something to do wi...After updating from Drupal 7.75 to 7.76 user views with civicrm data are not working anymore
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'xxx_drupal.xxx.civicrm_uf_match' doesn't exist
I suppose it has something to do with the changes for mysql 8 support or the changes in default.settings.php (see https://www.drupal.org/project/drupal/releases/7.76).
I have not researched further at the moment so am not sure if it also influences other views or what the exact cause is.https://lab.civicrm.org/dev/core/-/issues/2227ACLed user that can access deleted contacts, get deleted contacts within thei...2020-12-03T18:56:33ZseamusleeACLed user that can access deleted contacts, get deleted contacts within their search result when generatePermissionClause is called with onlyDeleted is FALSEOverview
----------------------------------------
An ACLed user doing an advanced search but does have permission to view deleted (trashed) contacts will see those trash contacts appear in an advanced search without explicitly searching ...Overview
----------------------------------------
An ACLed user doing an advanced search but does have permission to view deleted (trashed) contacts will see those trash contacts appear in an advanced search without explicitly searching in the trash
Reproduction steps
----------------------------------------
1. Create a role without view all contacts / edit all contacts but with view deleted contacts permission and ensure that there is at least 1 deleted contact a user with that role could see
1. Perform an advanced search as a user with that role but don't search in the trash
1. Find that the trashed contact can still be found in the advanced search
Current behaviour
----------------------------------------
Contacts in the trash appear on advanced searches when not searching in the trash
Expected behaviour
----------------------------------------
Contacts in the trash should only be found if searching in the trash
Environment information
----------------------------------------
* __CiviCRM:__ _5.31.1_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _7.2_
* __CMS:__ _Drupal 7_5.32.0https://lab.civicrm.org/dev/core/-/issues/2226Scheduled Reminder fails to send if From Name includes comma2021-03-22T04:47:07ZlarsssandergreenScheduled Reminder fails to send if From Name includes commaOverview
----------------------------------------
Including a comma in the From Name for a Scheduled Reminder prevents the reminder from being sent. If you run the cron job manually, you'll see an error message, and no emails will be sen...Overview
----------------------------------------
Including a comma in the From Name for a Scheduled Reminder prevents the reminder from being sent. If you run the cron job manually, you'll see an error message, and no emails will be sent. If you don't run cron manually, you won't know that the emails have not been sent. Enclosing the email From Name in double quotes prevents the issue.
Reproduction steps
----------------------------------------
1. Create new scheduled reminder with the From Name containing a ",".
2. Run cron job
Current behaviour
----------------------------------------
![Screen_Shot_2020-12-01_at_6.05.19_PM](/uploads/c515661f1182092f65cbcf172b562544/Screen_Shot_2020-12-01_at_6.05.19_PM.png)
Expected behaviour
----------------------------------------
Email should be sent.
Environment information
----------------------------------------
5.28 on Drupal 7.75
Comments
----------------------------------------
I believe the fix is simply to check the From Name for double quotes and add them if missing. A similar field for contribution page receipts appears to work fine with commas in the From Name, so I suspect this is in place there.5.37.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/2225Add a contact.checksum_raw token that does not include "cs="2023-09-24T22:53:45ZherbdoolAdd a contact.checksum_raw token that does not include "cs="Unlike all the other tokens which only include the actual data, such as `{contact.contact_id}`, the `{contact.checksum}` also includes the parameter name. There doesn't seem to be any good reason other than that is how it was always done...Unlike all the other tokens which only include the actual data, such as `{contact.contact_id}`, the `{contact.checksum}` also includes the parameter name. There doesn't seem to be any good reason other than that is how it was always done.
I suppose it's not possible to fix this token at this point since lots of existing links rely on it. But perhaps a new token? A bit messy but I need something like `{contact.checksum.raw}`https://lab.civicrm.org/dev/core/-/issues/2224Advanced search - AND/OR operator always does OR for tags and groups2020-12-01T15:57:28ZDaveDAdvanced search - AND/OR operator always does OR for tags and groupsExample:
1. Select two tags and leave the search operator at AND. It does an OR search instead. If you change the operator to OR it also does an OR search.
2. Ditto for groups.
Happens on https://dmaster.demo.civicrm.org
Doesn't seem t...Example:
1. Select two tags and leave the search operator at AND. It does an OR search instead. If you change the operator to OR it also does an OR search.
2. Ditto for groups.
Happens on https://dmaster.demo.civicrm.org
Doesn't seem to be recent. Happens in 5.24 too.