Development issueshttps://lab.civicrm.org/groups/dev/-/issues2020-08-11T11:18:57Zhttps://lab.civicrm.org/dev/translation/-/issues/1Distribution and management of l10n/xx_YY/settings.default.json files2020-08-11T11:18:57ZbgmDistribution and management of l10n/xx_YY/settings.default.json filesNow that CRM-16395 has been merged, we can provide localised setting files for supported languages.
Now we need to:
* [x] decide where to store (in the 'l10n' git repo) the settings files
* [x] bundle those json files in civicrm-5.x.xx...Now that CRM-16395 has been merged, we can provide localised setting files for supported languages.
Now we need to:
* [x] decide where to store (in the 'l10n' git repo) the settings files
* [x] bundle those json files in civicrm-5.x.xx-l10n.tar.gz
* [x] document the process by which people can send/update setting files
* [ ] update the documentation about non-English installation?
Example:
https://github.com/civicrm/civicrm-core/files/305643/settings.default.json.txthttps://lab.civicrm.org/dev/release/-/issues/2Brainstorm: Little Ideas for QA2018-04-19T03:15:34ZtottenBrainstorm: Little Ideas for QAThis issue is an experiment. The goal -- brainstorm for Little Ideas that will improve the quality-assurance regime. I'm not looking to replay past discussions -- if something was controversial before, it's probably still controversial. ...This issue is an experiment. The goal -- brainstorm for Little Ideas that will improve the quality-assurance regime. I'm not looking to replay past discussions -- if something was controversial before, it's probably still controversial. For purposes of this issue, humor me. Suppose there's a realistic budget -- like a week of senior developer/designer/documenter/administrator time. What process change could they perform that might make a dent at improving QA? Perhaps something that makes PR review more thorough? Or perhaps it improves engagement with RCs? Or perhaps it lowers the barrier to testing?
Please post one idea per comment. If you like or dislike an idea, put a thumbsup or thumbsdown emoji on the comment. To discuss the idea in more depth, ping the commenter on Mattermost (https://chat.civicrm.org under `dev`).
------
Emojis:
* :thumbsup_tone1: - Good idea. Simple, clear steps. Would probably improve quality. Achievable within budget.
* :thumbsdown_tone1: - Bad idea. Wouldn't improve quality.
* :8ball: - Don't really want to judge. It sounds good, but it's not simple enough or not clear enough or too long. Maybe if the idea was refined more.
* :baby_chick: - The comment is conversation.https://lab.civicrm.org/dev/core/-/issues/4Link to css is hard-coded to the resource url link - problematic for server-s...2023-12-12T17:23:45ZeileenLink to css is hard-coded to the resource url link - problematic for server-side rendering with firewall or htaccess in playIn a few places in the code we add the print.css url with a section like this:
```
<head>
<title>{$pageTitle}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<base href="{crmURL p="" a=1}" /><!--[if IE...In a few places in the code we add the print.css url with a section like this:
```
<head>
<title>{$pageTitle}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<base href="{crmURL p="" a=1}" /><!--[if IE]></base><![endif]-->
<style type="text/css" media="screen, print">@import url({$config->userFrameworkResourceURL}css/print.css);</style>
</head>
```
That works fine from print.tpl & presumably the place in CiviCase where it is used but is problematic in CRM_Utils_PDF_Utils
When a pdf is being rendered internally & a firewall or htaccess is in play this css cannot be retrieved via http.
I also encountered someone struggling on chat the other day due to the print.css link written into a report instance being wallopped by the hard coded one when printing a CiviReport - going through that class.
@totten @bgm just trying to figure out the best way to handle this. I feel like in the pdf class it should try the file location FIRST if it does not appear to be customised - I think there might be some handy functions for that?
In the case of the report I think it's a bit trickier - we would need to figure out if a stylesheet is specified & only add one if not - or simply not add the <head> section. (I don't need to solve this but was thinking about it at the same time)
NB - this is the first issue I have logged in gitlab...https://lab.civicrm.org/dev/core/-/issues/5CiviMail Mailing Accounts allow duplicate names, but breaks processing.2023-06-23T17:54:21ZjohnffCiviMail Mailing Accounts allow duplicate names, but breaks processing.If two CiviMail Mailing Accounts have the same name, even if they have different roles, only the first will be used in either case.
The offending line of code is somewhere in the path of: CRM_Utils_Mail_EmailProcessor::_process -> CRM_M...If two CiviMail Mailing Accounts have the same name, even if they have different roles, only the first will be used in either case.
The offending line of code is somewhere in the path of: CRM_Utils_Mail_EmailProcessor::_process -> CRM_Mailing_MailStore::getStore.
To replicate (Drupal, 4.7.27):
1. Create two mailing accounts.
The first one should be "Email to Activity" and have no username / password settings
The second should be "Bounce processing" and have username / password settings
(order of creation is important, and give them both the same name)
2. Run the scheduled job "fetch bounces".
3. In watchdog, observe the error "could not connect" using the credentials of email to activity processor, even though it should use the Bounce Processing one.
4. Clear the watchdog logs.
5. Rename them to have different names, then retry
6. Check the watchdogs, and observe no error.https://lab.civicrm.org/dev/core/-/issues/13rare recurring error: CiviMail will not send an empty mail body, Skipping2023-06-23T17:54:21Zmfbrare recurring error: CiviMail will not send an empty mail body, SkippingIt appears in a tiny fraction of mailing recipients (less than 0.01%), we are not sending the mailing because contact details are empty. The contact details contains custom tokens that we have added, but no actual core contact data, e.g...It appears in a tiny fraction of mailing recipients (less than 0.01%), we are not sending the mailing because contact details are empty. The contact details contains custom tokens that we have added, but no actual core contact data, e.g. preferred_mail_format (which is required to compose a message). To be clear, no contact data is present, it's not that preferred_mail_format is NULL.
Perhaps this is caused by a failed db query somewhere along the way. Will require further debugging to get to the bottom of it.https://lab.civicrm.org/dev/translation/-/issues/7Update Localizing Documentation (Drupal configurations)2019-01-14T15:52:50ZshaneonabikeUpdate Localizing Documentation (Drupal configurations)There is some special mapping configurations for multilingual Drupal sites to map the proper languages between Drupal and CiviCRM. Is there a way I could update the existing documentation?
https://docs.civicrm.org/user/en/latest/the-civ...There is some special mapping configurations for multilingual Drupal sites to map the proper languages between Drupal and CiviCRM. Is there a way I could update the existing documentation?
https://docs.civicrm.org/user/en/latest/the-civicrm-community/localising-civicrm/
`"Inherit CMS language" and regional translations (ex: fr_CA)
If you have a multi-lingual site and you are using the "inherit CMS language" configuration option, but wish to, for example, use fr_CA instead of the default fr_FR (for French), you can define a constant in your "civicrm.settings.php" to override the default behavior.
See CRM-9558 for more information.
define('CIVICRM_LANGUAGE_MAPPING_FR', 'fr_CA');
`
From https://wiki.civicrm.org/confluence/display/CRMDOC/i18n+Administrator%27s+Guide%3A+Using+CiviCRM+in+your+own+languagehttps://lab.civicrm.org/dev/core/-/issues/20Can't place a contribution widget on a Contribution Page2023-11-23T07:47:01ZJonGoldCan't place a contribution widget on a Contribution PageWhen you attempt to place a contribution widget on its own contribution page in the "Inroductory Message" section, you get the error:
`Illegal characters in input (potential scripting attack)`
I confirmed this is a regression by replica...When you attempt to place a contribution widget on its own contribution page in the "Inroductory Message" section, you get the error:
`Illegal characters in input (potential scripting attack)`
I confirmed this is a regression by replicating the problem on the Drupal demo site (4.7) and confirming it didn't exist ion the Joomla site (4.6). I'm pretty sure it didn't happen earlier in the 4.7 cycle either.https://lab.civicrm.org/dev/core/-/issues/24Passing an array for contact_id/client_id to Case.Create API when updating an...2023-06-23T17:54:22Zmattwiremjw@mjwconsult.co.ukPassing an array for contact_id/client_id to Case.Create API when updating an existing case causes case to be "reassigned"The contact_id/client_id for the case supports multiple ids. It can be passed to the case.create API either as a single value or as an array. However, the code is inconsistent in it's handling of contact_id and expects it to be both an...The contact_id/client_id for the case supports multiple ids. It can be passed to the case.create API either as a single value or as an array. However, the code is inconsistent in it's handling of contact_id and expects it to be both an array and a single value. The result is that if an array is passed in it will fail to detect that an existing case contact_id already matches and it will "reassign" the case to the default contact id (1). This issue was identified because of inconsistent behaviour when submitting case/activity updates via webform_civicrm.
The proposed solution is to ensure that contact_id is always an array, and then check the first element against the original contact id.https://lab.civicrm.org/dev/core/-/issues/3539When communcating with external network services, detect transient failures a...2024-02-12T13:57:20ZmfbWhen communcating with external network services, detect transient failures and queue for retryFor improved resiliency, CiviCRM should detect transient failures when communicating with external network services and queue for retry. e.g.
* Transactional email: Queue for sending rather than sending during the request process?
* Bul...For improved resiliency, CiviCRM should detect transient failures when communicating with external network services and queue for retry. e.g.
* Transactional email: Queue for sending rather than sending during the request process?
* Bulk mail: Catch transient failures and ensure that they are retried. PRs: https://github.com/civicrm/civicrm-core/pull/11838 https://github.com/civicrm/civicrm-core/pull/11840 (and there are additional failure scenarios possible)
* ...https://lab.civicrm.org/dev/core/-/issues/31Cancelled auto-renew membership and scheduled reminders don't play nice2023-04-28T01:39:33ZkonadaveCancelled auto-renew membership and scheduled reminders don't play niceRecently upgraded a site from 4.6.21 to 4.7.27. Payment processor is iATS Payments, if that makes any difference.
When an auto-renew membership is cancelled, the contribution_recur_id field in civicrm_membership for that membership is l...Recently upgraded a site from 4.6.21 to 4.7.27. Payment processor is iATS Payments, if that makes any difference.
When an auto-renew membership is cancelled, the contribution_recur_id field in civicrm_membership for that membership is left as is.
Stated using scheduled reminders after the upgrade, and have one set up to send an email to auto-renew memberships one week in advance of their renewal so they're not surprised when their credit card is charged. Cancelled auto-renew memberships are receiving this reminder.
I honestly don't have time to do any testing or going exploring through code at the moment. For all I know this has been reported previously and is already fixed. But if it hasn't, I'm thinking that contribution_recur_id should be cleared when the recurring contribution is cancelled, or scheduled reminders should make sure the contribution_recur_id is not cancelled.https://lab.civicrm.org/dev/drupal/-/issues/16[webform_civicrm] - edits to 'cart' display when using installments functiona...2020-07-16T17:23:38ZKarinG[webform_civicrm] - edits to 'cart' display when using installments functionalityWorking on this with CompuCorp
**Before:**
![image](/uploads/7ed8454c61bf9b3b098e7281d7e1b5ca/image.png)
Imagine this was configured as pay in 2 installments (two payments of $96/each) - how about something like this:
**After:**
![im...Working on this with CompuCorp
**Before:**
![image](/uploads/7ed8454c61bf9b3b098e7281d7e1b5ca/image.png)
Imagine this was configured as pay in 2 installments (two payments of $96/each) - how about something like this:
**After:**
![image](/uploads/73dc36a7fb0d1e6b590f77bb666f2a0e/image.png)https://lab.civicrm.org/dev/translation/-/issues/8Multilingual installation with logging enabled gives error when custom field ...2020-07-14T14:56:53ZtbuytaerMultilingual installation with logging enabled gives error when custom field is changedLogging of custom fields on a multilingual installation does not work, which makes it impossible to view changes if one of the changes is a custom field.
Steps to reproduce:
1. install a fresh CiviCRM installation: 5.0 (the issue also ...Logging of custom fields on a multilingual installation does not work, which makes it impossible to view changes if one of the changes is a custom field.
Steps to reproduce:
1. install a fresh CiviCRM installation: 5.0 (the issue also existed in versions before)
2. enable **Multiple Languages Support** on http://example.org/civicrm/admin/setting/localization?reset=1
3. enable **logging** on http://example.org/civicrm/admin/setting/misc?reset=1
4. change a custom field of a contact
5. view the changelog of that contact and click on the change
This results in follwing Database error:
> Database Error Code: Table 'databasename.log_civicrm_custom_group_en_US' doesn't exist, 1146
> Additional Details:
> Array
> (
> [callback] => Array
> (
> [0] => CRM_Core_Error
> [1] => handle
> )
>
> [code] => -18
> [message] => DB Error: no such table
> [mode] => 16
> [debug_info] => SELECT id, title FROM `databasename`.log_civicrm_custom_group_en_US WHERE log_date <= '2018-04-09 17:40:29' AND table_name = 'civicrm_value_constituent_information_1' ORDER BY log_date DESC LIMIT 1 [nativecode=1146 ** Table 'databasename.log_civicrm_custom_group_en_US' doesn't exist]
> [type] => DB_Error
> [user_info] => SELECT id, title FROM `databasename`.log_civicrm_custom_group_en_US WHERE log_date <= '2018-04-09 17:40:29' AND table_name = 'civicrm_value_constituent_information_1' ORDER BY log_date DESC LIMIT 1 [nativecode=1146 ** Table 'databasename.log_civicrm_custom_group_en_US' doesn't exist]
> [to_string] => [db_error: message="DB Error: no such table" code=-18 mode=callback callback=CRM_Core_Error::handle prefix="" info="SELECT id, title FROM `databasename`.log_civicrm_custom_group_en_US WHERE log_date <= '2018-04-09 17:40:29' AND table_name = 'civicrm_value_constituent_information_1' ORDER BY log_date DESC LIMIT 1 [nativecode=1146 ** Table 'databasename.log_civicrm_custom_group_en_US' doesn't exist]"]
> )
*I replaced the actual database name with 'databasename' in the error message above*https://lab.civicrm.org/dev/core/-/issues/3292Upgrade select2 to stable version 4.0.4 and fix compatibility issues in Civi2024-02-23T17:58:01ZMonish DebUpgrade select2 to stable version 4.0.4 and fix compatibility issues in CiviCurrently, Civi is using select2 3.5 which we need to upgrade to latest stable 4.0.4 (https://github.com/select2/select2/releases) and also resolve compatibility issues with CiviCRM.
Major issues:
1. Auto appending values doesn't work a...Currently, Civi is using select2 3.5 which we need to upgrade to latest stable 4.0.4 (https://github.com/select2/select2/releases) and also resolve compatibility issues with CiviCRM.
Major issues:
1. Auto appending values doesn't work anymore
Error: Uncaught TypeError: Cannot read property 'prop' of undefined
LOC - https://github.com/civicrm/civicrm-core/blob/master/js/crm.searchForm.js#L9
Reference - https://select2.org/upgrading/migrating-from-35#select2-val
2. Placeholder broken
Error: Uncaught TypeError: Cannot read property 'id' of undefined
As per 3.5 - placeholderOption is used to set the placeholder value for select2 widget
As per 4.0.4 - placeholder option can now accept placeholder value both in string and object
Reference - https://select2.org/upgrading/migrating-from-35#more-flexible-placeholders
3. EntityRef select2 fields are broken
Error: Uncaught Error: No select2/compat/initSelection
As per 4.0.4 - Removed the requirement of 'initSelection'
Reference - https://select2.org/upgrading/migrating-from-35#removed-the-requirement-of-initselection
4. Navigation menu style is not applied
Error: Uncaught TypeError: Cannot read property 'prop' of undefined
As per 4.0.4 - $("select").val("1").trigger("change"); // instead of $("select").select2("val", "1");
Reference - https://select2.org/upgrading/migrating-from-35#select2-val
5. Broken entityRef field
There are multiple issues with an entityRef field which are listed below:
1. Placeholder doesn't show
2. Unable to populate data via REST API link
3. Create contact dialog box doesn't render below the search field
4. Escape text doesn't show up
6. Action-menu select2 doesn't work on selecting record(s) in a search list
It throws an error `Uncaught TypeError: Cannot read property 'apply' of undefined` after Search and also action-menu field doesn't behave on selecting a record.
7. The native crm CSS styling doesn't apply on select2/4.0+ widget
Minor issues
1. Multi select2 widget doesn't show downarrow placeholder icon
2. select2 css style aren't applied after upgradehttps://lab.civicrm.org/dev/backdrop/-/issues/32Ensure drush works with Backdrop version of drush2022-10-25T11:45:12ZherbdoolEnsure drush works with Backdrop version of drushhttps://lab.civicrm.org/dev/financial/-/issues/13PayPal Express recurring notifications don't work for test transaction2023-11-23T07:32:26Zcarbar1103PayPal Express recurring notifications don't work for test transactionI set up a PayPal Express payment processor and a contribution page to take donations, both recurring and one-off. When taking one-off donations, everything worked as expected. However, for recurring donations, the initial contribution...I set up a PayPal Express payment processor and a contribution page to take donations, both recurring and one-off. When taking one-off donations, everything worked as expected. However, for recurring donations, the initial contribution remained pending and PayPal IPN reported a 500 error.
I managed to track down the issue to the handlePaymentExpress() method in the CRM/Core/Payment/PayPalProIPN.php file.
At around line 578, it does this:
` $result = civicrm_api3('contribution', 'getsingle', array('invoice_id' => $input['invoice']));
`
Unfortunately, this only works for live contributions. I fixed this by changing where it retrieves the recurring contribution from
` $contributionRecur = civicrm_api3('contribution_recur', 'getsingle', array(
'return' => 'contact_id, id',
'invoice_id' => $input['invoice'],
));
`
to
` $contributionRecur = civicrm_api3('contribution_recur', 'getsingle', array(
'return' => 'contact_id, id, is_test, payment_processor_id',
'invoice_id' => $input['invoice'],
));
`
and changed line 578 to
` $result = civicrm_api3('contribution', 'getsingle', array('invoice_id' => $input['invoice'], 'contribution_test' => $contributionRecur['is_test']));
`
However, the contribution still remained pending. The other error was a few lines further down:
` $paymentProcessorID = self::getPayPalPaymentProcessorID();
`
This returned the wrong processor id, so I changed it to do this
` $paymentProcessorID = $contributionRecur['payment_processor_id'];
`
I have no idea if these changes will break anything else, but they seem to work for me
Regards,
Carlhttps://lab.civicrm.org/dev/core/-/issues/76Multiple roles per participant causes incorrect participant counts (was: Civi...2023-11-12T15:46:22ZUpperholmeMultiple roles per participant causes incorrect participant counts (was: CiviEvent no longer respects Max Participants)Since upgrading to 5.0 I find that events continue to allow front end registrations despite the number of counted participants exceeding the max number set on the event configuration. The on-screen alert is not displayed, and registratio...Since upgrading to 5.0 I find that events continue to allow front end registrations despite the number of counted participants exceeding the max number set on the event configuration. The on-screen alert is not displayed, and registration remains open.
as a temporary workaround I'm having to closely monitor registrations and manually turn off online registration and edit the event information to provide an 'event full' message when capacity is reached.https://lab.civicrm.org/dev/financial/-/issues/18Proposal - Money formatting2021-03-24T01:03:07Zmattwiremjw@mjwconsult.co.ukProposal - Money formattingWe need to look at a better approach to formatting money within CiviCRM. It should properly handle currencies, decimal places, "1000" separater (ie 1,000.00 and 1.000,00).
Some approaches:
- Money formatting functions: https://github.c...We need to look at a better approach to formatting money within CiviCRM. It should properly handle currencies, decimal places, "1000" separater (ie 1,000.00 and 1.000,00).
Some approaches:
- Money formatting functions: https://github.com/civicrm/civicrm-core/pull/12055
- Allow higher precision decimals to be entered so tax can be calculated correctly: https://github.com/civicrm/civicrm-core/pull/10641
- MoneyPHP?
cc @eileen This is a tracking issue so I can close down PRs.https://lab.civicrm.org/dev/drupal/-/issues/24[webform_civicrm] - monies display properly but don't get processed when usin...2020-07-16T17:23:38ZKarinG[webform_civicrm] - monies display properly but don't get processed when using webform_calculator module to calculate e.g. participant fees![image](/uploads/c6a3f46f1ca9a57819370b9c3f4012dd/image.png)
![image](/uploads/ed87bfaed0cda7b8e3061573c4168735/image.png)
![image](/uploads/7ca2158df886d944766a86459a23be2f/image.png)
![image](/uploads/f7eb9556cd07695f72bed3f28ab4c8...![image](/uploads/c6a3f46f1ca9a57819370b9c3f4012dd/image.png)
![image](/uploads/ed87bfaed0cda7b8e3061573c4168735/image.png)
![image](/uploads/7ca2158df886d944766a86459a23be2f/image.png)
![image](/uploads/f7eb9556cd07695f72bed3f28ab4c8dd/image.png)
![image](/uploads/595a14b6ec110408df2560e23fce1673/image.png)colemanwcolemanwhttps://lab.civicrm.org/dev/core/-/issues/3302Add accessible fieldset for checkboxes and radio buttons2023-11-28T12:49:35ZMonish DebAdd accessible fieldset for checkboxes and radio buttonsAs per https://www.w3.org/WAI/tutorials/forms/grouping , grouped form controls like radio buttons/checkboxes must be enclosed in ```<fieldset>``` and the ```<legend>``` element act as a header to identify the group of elements. Currently...As per https://www.w3.org/WAI/tutorials/forms/grouping , grouped form controls like radio buttons/checkboxes must be enclosed in ```<fieldset>``` and the ```<legend>``` element act as a header to identify the group of elements. Currently, when we review such block with WAVE accessibility tool, it complains about:
![Screen_Shot_2018-06-01_at_6.53.18_PM](/uploads/0782446dde4a776d6ec4a8f5c51edf47/Screen_Shot_2018-06-01_at_6.53.18_PM.png)
## Proposal
1. Enclose the checkbox/radio button block in a fieldset
2. Add a special class to that fieldset say `crm-sr-fieldset` which hides it in front-end forms (public and backoffice forms)
3. Use label of checkbox/radio buttons as its legend header.
Monish DebMonish Debhttps://lab.civicrm.org/dev/financial/-/issues/20Online PayNow 'overcharges' partially paid contributions2023-06-16T09:30:23ZMonish DebOnline PayNow 'overcharges' partially paid contributionsJust noticed that when using the Pay Now functionality from the contact dashboard it does NOT take in account partially paid contributions.
Instead, a payment screen for the full contribution is shown. This can lead to overcharging peop...Just noticed that when using the Pay Now functionality from the contact dashboard it does NOT take in account partially paid contributions.
Instead, a payment screen for the full contribution is shown. This can lead to overcharging people and does not add to the fragile trust relationship we (and many non-profits) have with their donors & participants. Therefor I qualified it as a major issue.
I think the desired behavior is that the payment screen would show the build up of the total like now (it uses the price set where applicable) and under all that the required (remaining) payment should be shown (and used for the payment).
Online Pay Now functionality was introduced here:
https://issues.civicrm.org/jira/browse/CRM-19263
We use it by mailing the constructed link to our users with outstanding contributions, like:
https://mysite/civicrm/contribute/transact?reset=1&id=7&ccid=1234&cs=355345fdgda60b2d1a89f22fc643b&cid=4321
I added a screenshot of the contribution that was partially paid (20 paid out of a total of 50), and the corresponding Pay Now screen showing and charging 50, and a mockup of how it should be shown (or at least it should charge the remaining 30 and not the full 50)
Original JIRA ticket : https://issues.civicrm.org/jira/browse/CRM-21700jitendrajitendra