CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2020-03-05T20:45:12Zhttps://lab.civicrm.org/dev/core/-/issues/925Activity report: include case activities filter ignored2020-03-05T20:45:12ZMonish DebActivity report: include case activities filter ignoredYou can see in the where clause case-activity filter field is always set to NULL.You can see in the where clause case-activity filter field is always set to NULL.5.12.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/924Advanced search: activity tags should use select22019-06-05T15:24:08ZMonish DebAdvanced search: activity tags should use select2Steps to replicate:
1. add a tag and flag it as available to activities.
2. load advanced search and expand the activity panel.
Note that the activity field is the old format -- checkbox list. It should use select2. See the case panel ...Steps to replicate:
1. add a tag and flag it as available to activities.
2. load advanced search and expand the activity panel.
Note that the activity field is the old format -- checkbox list. It should use select2. See the case panel for comparison.5.12.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/855Dashboard shows inappropriate warnings about automatic HTTP security diagnostic2019-04-09T01:13:46ZtottenDashboard shows inappropriate warnings about automatic HTTP security diagnosticSteps to reproduce:
* Install dmaster with recent version (e.g. 5.13.alpha1). (Or, if you already have one, then make sure to log out of it.)
* Clear caches (e.g. `cv flush`)
* Login
* Observe the dashboard:
![Screen_Shot_2019-04-06_at...Steps to reproduce:
* Install dmaster with recent version (e.g. 5.13.alpha1). (Or, if you already have one, then make sure to log out of it.)
* Clear caches (e.g. `cv flush`)
* Login
* Observe the dashboard:
![Screen_Shot_2019-04-06_at_10.49.39_AM](/uploads/5e44a4bcdf08750cafdb6dfc3769c743/Screen_Shot_2019-04-06_at_10.49.39_AM.png)
I did a `git bisect` and traced this to 4094935aeace33eb8caf8fdcd7a76d992bdc6682, which changes the technique for detecting HTTP security issues (i.e. `get_headers()` replaced with similar Guzzle calls). Apparently, Guzzle is more noisy, which sounds generally good... except in this case, HTTP errors are expected and desired - and should not be reported.
Environment: [bknix-dfl](https://github.com/totten/bknix/blob/master/profiles/dfl/default.nix)5.12.0https://lab.civicrm.org/dev/core/-/issues/842Regression?? Inline editing of website field deletes it2019-04-03T18:25:39ZPradeep Nayakpradpnayak@gmail.comRegression?? Inline editing of website field deletes ithttps://civicrm.stackexchange.com/questions/29114/inline-editing-of-website-field-deletes-ithttps://civicrm.stackexchange.com/questions/29114/inline-editing-of-website-field-deletes-it5.12.0https://lab.civicrm.org/dev/core/-/issues/821Activity: Assigned to: It is not possible to search by the "refine search" dr...2019-03-27T02:24:04ZPradeep Nayakpradpnayak@gmail.comActivity: Assigned to: It is not possible to search by the "refine search" drop-downSteps:
* Find and open a profile of the contact from the precondition
* Click "Actions" → "Meeting"
* Open the "Assigned to" drop-down
* Choose e.g. the "Contact Type" option to the "refine search" list
* Try to choose some option to th...Steps:
* Find and open a profile of the contact from the precondition
* Click "Actions" → "Meeting"
* Open the "Assigned to" drop-down
* Choose e.g. the "Contact Type" option to the "refine search" list
* Try to choose some option to the "select" drop-down (e.g. Individual)
**Actual result:** It is not possible to search by the "refine search" drop-down.
**Expected result:** It is possible to search by the "refine search" drop-down
Possible regression : https://lab.civicrm.org/dev/core/issues/6775.12.0https://lab.civicrm.org/dev/core/-/issues/801Thank You letters have an invalid 'from' when sending from the contact's emai...2019-03-25T21:48:33ZbgmThank You letters have an invalid 'from' when sending from the contact's email addressTo reproduce:
* Record a contribution for a contact
* Find Contributions, select the contribution, Send Thank You Letters
* Select the option to send emails
* Use the default from of the contact, which should be the email on their conta...To reproduce:
* Record a contribution for a contact
* Find Contributions, select the contribution, Send Thank You Letters
* Select the option to send emails
* Use the default from of the contact, which should be the email on their contact record.
When sending the emails, CiviCRM will throw an error that there is no 'from' in the email, which sounds like this SE question: https://civicrm.stackexchange.com/questions/21780/civicontribute-thank-you-letter-not-emailed-using-cividesk-sparkpost/24948
Inspecting the form html reveal's this:
![Capture_d_écran_de_2019-03-14_12-45-04](/uploads/04998410f1c204cb52310c0dbb6da0fc/Capture_d_écran_de_2019-03-14_12-45-04.png)
It seems very familiar to issue #3575.12.0https://lab.civicrm.org/dev/core/-/issues/790[unreleased regression] CiviCRM Admin Bar visible on 'Front End' of WP2019-03-15T23:08:02Zkcristiano[unreleased regression] CiviCRM Admin Bar visible on 'Front End' of WPTesting 5.12 rc. This version has integrated KAM.
When on a WP page on the front end we see:
![image](/uploads/62cbbc834137fbe82ad6978c21005760/image.png)
![image](/uploads/81512fcc11441600f6f2924eca0d5345/image.png)
As expected.
...Testing 5.12 rc. This version has integrated KAM.
When on a WP page on the front end we see:
![image](/uploads/62cbbc834137fbe82ad6978c21005760/image.png)
![image](/uploads/81512fcc11441600f6f2924eca0d5345/image.png)
As expected.
Go to a CiviCRM page, eithe a WP Page with a CiviCRM shortcode or directly and you see the CiviCRM admin Menu
![image](/uploads/83873f8cf756b022994514ad4c3a63b2/image.png)
![image](/uploads/48da021a0de91f5b5c16e2ac7c671c8b/image.png)
There is no way back to the admin via the menu.
Randomly testing the menu items I had some work and send me to the back end, and some give 404s. [Example Manage Contribution Page Link](https://wpmaster.demo.civicrm.org/contribution-page/?page=CiviCRM&q=civicrm%2Fadmin%2Fcontribute&reset=1)
Also confirmed on demo.wpmaster.civicrm.org
cc @colemanw5.12.0https://lab.civicrm.org/dev/core/-/issues/770View Case Activity page displays disabled custom fields2019-03-03T20:07:09ZjitendraView Case Activity page displays disabled custom fieldsReplicate it by -
- Creating a custom group for case activity
- Add 2 fields to the set - active and disabled.
![image](/uploads/e7e5f00520f821ab4f7a96a85cac2026/image.png)
- Create a case activity and enter value in the active custom...Replicate it by -
- Creating a custom group for case activity
- Add 2 fields to the set - active and disabled.
![image](/uploads/e7e5f00520f821ab4f7a96a85cac2026/image.png)
- Create a case activity and enter value in the active custom field.
- Click `View` link in the activity row and notice the disabled field shown on the page.
![image](/uploads/80a7755dbd1c30a100304aa3a4d1197b/image.png)5.12.0jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/769ZIP Archive for multiple batch exports fail2019-03-01T00:27:09ZEdselopezZIP Archive for multiple batch exports failThere is an issue with the ZipArchive class' open() method. In previous versions of PHP when the only flag passed to the method was the ZipArchive::OVERWRITE, the method also created non-existing archives.
Since PHP 5.6 the OVERWRITE fl...There is an issue with the ZipArchive class' open() method. In previous versions of PHP when the only flag passed to the method was the ZipArchive::OVERWRITE, the method also created non-existing archives.
Since PHP 5.6 the OVERWRITE flag alone cannot create new archives which breaks compatibility.
Test script:
---------------
// Open new archive in cwd based on timestamp
$zip = new ZipArchive();
$open = $zip->open(time() . '.zip', ZipArchive::OVERWRITE);
echo $open;
Expected result:
----------------
Expected behavior: The new archive is opened as in the previous version.
Actual result:
--------------
In PHP 5.5 an empty archive is opened.
In PHP 5.6 ZipArchive::ER_OPEN error code is returned (cannot open zip file).5.12.0https://lab.civicrm.org/dev/core/-/issues/3232Soft Credit report fails when Only Full Group By is enabled2022-04-22T15:51:29ZJonGoldSoft Credit report fails when Only Full Group By is enabledThis is replicable by running the report with no changes to defaults on dmaster.
The cause is that the Soft Credit report overrides `CRM_Core_Form::postProcess()` and calls `CRM_Core_DAO::executeQuery()` directly instead of `CRM_Core_Fo...This is replicable by running the report with no changes to defaults on dmaster.
The cause is that the Soft Credit report overrides `CRM_Core_Form::postProcess()` and calls `CRM_Core_DAO::executeQuery()` directly instead of `CRM_Core_Form::buildRows()`, which the FGB safeguards exist. So even though the report is marked as not optimized for FGB, it makes no difference.5.12.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/3268Deprecate `getBasicContactFields` in favor of `getColumns('Contact')`2022-04-22T15:53:15ZJonGoldDeprecate `getBasicContactFields` in favor of `getColumns('Contact')`@eileen has ported some of the cleaner code for defining report specs from Extended Reports to core in the form of `getColumns()` and `getContactColumns()`. Since this appears to be the direction we're headed in, I think it makes sense ...@eileen has ported some of the cleaner code for defining report specs from Extended Reports to core in the form of `getColumns()` and `getContactColumns()`. Since this appears to be the direction we're headed in, I think it makes sense to deprecate `getBasicContactColumns()`, which does a similar job. However, `getBasicContactColumns()` adds a bunch of fields to core reports that `getContactColumns` doesn't.
My PR adds all the missing fields to `getContactColumns` (except for "Organization Name"; this seems unnecessary since it will virtually always match the display name). I also mark `getBasicContactFields()` as deprecated so future cleanup can target reports using it.5.12.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/739Field not found when sorting report by Case Type as a section header2019-02-25T20:47:12ZgrahamsmithField not found when sorting report by Case Type as a section headerAttempting to create a Case Detail report sorted by the field Case Type with the option "Section Header" checked does not work.
Error is:
> Unknown column 'case_civireport.case_type_name' in 'field list'
This is a probable regression,...Attempting to create a Case Detail report sorted by the field Case Type with the option "Section Header" checked does not work.
Error is:
> Unknown column 'case_civireport.case_type_name' in 'field list'
This is a probable regression, as addressed by: https://github.com/civicrm/civicrm-core/pull/114195.12.0https://lab.civicrm.org/dev/core/-/issues/720Performance change approved - remove mode & median slow queries2019-02-19T04:53:15ZeileenPerformance change approved - remove mode & median slow queriesUpdate - simply removing per decision by @colemanw below....
---------------------------------------------------------------
Original
----------------------------------------------------------------
The calculations done for the summary...Update - simply removing per decision by @colemanw below....
---------------------------------------------------------------
Original
----------------------------------------------------------------
The calculations done for the summary statistics on the contribution search is currently the biggest point of slowness we are facing. The following stats are generated:
'count' (number completed)
'amount' (total amount of completed)
'avg' (average amount of completed)
'mode' (most common value of completed)
'median' (median value of complete)
'cancel_amount' (total of cancelled)
'cancel_count' (number cancelled)
'cancel_avg' (average amount of cancelled)
These are then grouped by currency.
Of these the count and total amount are highly useful whereas the usefulness of mode & median are more niche.
On the other hand it is possible to fix up MOST of these queries to perform well. Mode and median are pretty much impossible to make performant on a large result set, and are actually the main reason our users have to do carefully constrained queries that don't return more than around 50k of results.
Let's assume we do a query that returns 50,000 results and the criteria is the payment_instrument_id then ideally that field will be used as the index on the query and we get the main query returned pretty quickly.
However, in order to do a median query it is necessary to order the results by total_amount. We can't use both indexes, and we can't add combined indexes for every combination of total_amount & possible criteria so we are one way or another going to be either
- using the total_amount index to sort & doing an unindexed filter - on our whole DB....
- using the index to filter & doing an unindexed sort on 50k rows
- using a merged index (these take time to compile)
Some queries are possible to rewrite - I recently got the annual query down from 6 seconds to .02 seconds but the median query just isn't every going to scale well.
Which leaves us with 'how can we help sites that with users are not happy twiddling their thumbs while the median is calculated'.
There are a few options IMHO
1) just remove median & mean - no-one (by which I mean me) cares about them anyway
2) add a setting that allows a site to specify which contribution stats they want calculated
3) only calculate median & mean if the total number of rows is < 1000
4) add a hook to permit the queries that run to be altered
Of these both 1 & 3 are imposing change on people who might not want change.
Adding a setting seems like a hack. In general adding settings to tweak core behaviour for a different use case/ preferences is almost always a hack - although the use case 'I have a big database' is perhaps a bit more generic than the 'I'd like this page/search bar / widget to behave differently & the least hassle on me is to add a setting'
I do think, however, that 4 is probably the least hacky / most sensible and it will 'gracefully retire itself' when we finally get a better search screen that doesn't use the query object.
I think it would look like
```
hookAlterQuerySummary($entity, $context, &$callbacks);
```
(only Contribution is relevant at the moment but passing entity seems to make sense)
We would have to break out the existing queries to their own fns & then we'd get
$callbacks = [
'CRM_Contact_BAO_Query::getBasicStats',
'CRM_Contact_BAO_Query::getMedian',
'CRM_Contact_BAO_Query::getMean',
'CRM_Contact_BAO_Query::getCancelStats'
]
There would then be a call like
CRM_Contact_BAO_Query::getBasicStats($rowStats, $whereClause, $fromClause)
And $rowStats would be altered by the function adding values & labels so the tpl could iterate through them
Longer term - I would argue the slow stats should probably be ADDED rather than REMOVED by extension as I think shipping something that makes hard-to-justify performance trade-offs is a big call5.12.0https://lab.civicrm.org/dev/core/-/issues/716Add decimals in Contribution Amount on Repeat Contributions Report2019-02-22T00:33:16ZGhost UserAdd decimals in Contribution Amount on Repeat Contributions ReportThe Repeat Contributions Report automatically truncate the contribution amount
Here you can see the contribution with an amount with decimals
![Repeat_Contribution_Report_Error_1](/uploads/96c2fcd5deab7a10aeda90db133cc25f/Repeat_Contrib...The Repeat Contributions Report automatically truncate the contribution amount
Here you can see the contribution with an amount with decimals
![Repeat_Contribution_Report_Error_1](/uploads/96c2fcd5deab7a10aeda90db133cc25f/Repeat_Contribution_Report_Error_1.png)
While in the Report is truncated and doesn't show the decimals.
![Repeat_Contribution_Report_Error_2](/uploads/e3d4cdc65040cd54f34e0372dbb05376/Repeat_Contribution_Report_Error_2.png)5.12.0https://lab.civicrm.org/dev/core/-/issues/714Manage groups: Error: "API permission check failed for Group/create call; ins...2019-02-13T19:30:24ZPradeep Nayakpradpnayak@gmail.comManage groups: Error: "API permission check failed for Group/create call; insufficient permission" when the user tries to edit some group's detailsSteps:
* Click "View contact record"
* Click "Contacts" -> "Manage Groups"
* Try to edit Name of the group from the precondition.
**Actual result:** There is an error: "API permission check failed for Group/create call; insufficient pe...Steps:
* Click "View contact record"
* Click "Contacts" -> "Manage Groups"
* Try to edit Name of the group from the precondition.
**Actual result:** There is an error: "API permission check failed for Group/create call; insufficient permission: require access CiviCRM and edit groups"
**Expected result:** User shouldn't be allowed to use inline edit for group update when they don't have permission.5.12.0https://lab.civicrm.org/dev/core/-/issues/3264Transaction Date filter in Bookkeeping Transactions report2022-04-22T15:53:09ZMWestergaardTransaction Date filter in Bookkeeping Transactions reportIn the Bookkeeping Transactions report, the filter for Transaction Date does not include time values and leads to missing data. For example, if today is February 10 and I filter Transaction Date on "Yesterday", the WHERE clause looks li...In the Bookkeeping Transactions report, the filter for Transaction Date does not include time values and leads to missing data. For example, if today is February 10 and I filter Transaction Date on "Yesterday", the WHERE clause looks like:
> ( financial_trxn.trxn_date >= '20190209') AND ( financial_trxn.trxn_date <= '20190209' )
Only transactions that occurred exactly at midnight are included. Contrast that with the filter for Date Received:
> ( contribution.receive_date >= '20190209000000') AND ( contribution.receive_date <= '20190209235959' )
I verified on dmaster and wpmaster.5.12.0https://lab.civicrm.org/dev/core/-/issues/708Advanced Search: The "Modified By" option was set instead of "Added by"2019-03-01T20:42:46ZPradeep Nayakpradpnayak@gmail.comAdvanced Search: The "Modified By" option was set instead of "Added by"Steps:
* Click "View contact record"
* Click "Search" -> "Advanced Search"
* Open the "Change Log" tab
* Choose the "Added" radio button
* Type e.g. "test" to the search field
* Click "Search"
**Actual result:** The "Modified By" optio...Steps:
* Click "View contact record"
* Click "Search" -> "Advanced Search"
* Open the "Change Log" tab
* Choose the "Added" radio button
* Type e.g. "test" to the search field
* Click "Search"
**Actual result:** The "Modified By" option was set instead of "Added by". Please, see screenshot
![2019-02-04_11h32_55](/uploads/f32fe780e73fdaa1a91f62964cb1568f/2019-02-04_11h32_55.png)
**Expected result:** The "Modified By" option was not set instead of "Added by".5.12.0https://lab.civicrm.org/dev/core/-/issues/705Disabling Alphabetical Pager is not respected for events and contribution pages.2019-05-07T20:27:12ZyashodhaDisabling Alphabetical Pager is not respected for events and contribution pages.Steps to replicate :
-------------------
* Go to *Admin > Search Preferences* and turn off *Include Alphabetical Pager*
* A to Z Pager is off for *Find Contacts*, *Find Contributions*, etc
* However it is still shown on *Manage Events *a...Steps to replicate :
-------------------
* Go to *Admin > Search Preferences* and turn off *Include Alphabetical Pager*
* A to Z Pager is off for *Find Contacts*, *Find Contributions*, etc
* However it is still shown on *Manage Events *and *Manage Contribution Pages*.5.12.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/696Changes to copied event phone and email reflects in original event phone and ...2019-02-19T07:07:11ZyashodhaChanges to copied event phone and email reflects in original event phone and emailSteps to replicate:
1. Create an event X with location A, including email A and phone A
2. Create copy of event X say Y and go to location tab for event Y (which will now show location A).
3. Click *Create new location* radio and then c...Steps to replicate:
1. Create an event X with location A, including email A and phone A
2. Create copy of event X say Y and go to location tab for event Y (which will now show location A).
3. Click *Create new location* radio and then click new location B, including email B and phone B.
4. Check event X - email B and phone B will be listed5.12.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/691It is no longer possible to have the default country not set2019-02-13T18:06:46ZhowardshandIt is no longer possible to have the default country not setReported this previously at https://issues.civicrm.org/jira/browse/CRM-18100, and it was fixed, though I can't find the ticket for the fix.
Did a new install of 5.7.3 and default country is required. All sandboxes show the same requirem...Reported this previously at https://issues.civicrm.org/jira/browse/CRM-18100, and it was fixed, though I can't find the ticket for the fix.
Did a new install of 5.7.3 and default country is required. All sandboxes show the same requirement.5.12.0