CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2019-02-22T00:33:16Zhttps://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/717Mailstore enforces 0700 permissions on created directories - should be config...2022-09-30T05:03:44ZRichMailstore enforces 0700 permissions on created directories - should be configurable.Title says it all, I think! I've been patching this file on my installs for ages and have finally got around to making a core patch (coming as soon as I figure out how to do it.)Title says it all, I think! I've been patching this file on my installs for ages and have finally got around to making a core patch (coming as soon as I figure out how to do it.)https://lab.civicrm.org/dev/core/-/issues/718Notice error on adding language2022-08-25T18:30:31ZJoeMurrayNotice error on adding languageOn dmaster 5.12.alpha1, enabled multiple language support, then navigated to https://dmaster.demo.civicrm.org/civicrm/admin/setting/localization?reset=1 enabled a second language and got three copies of:
Notice: Undefined property: CRM...On dmaster 5.12.alpha1, enabled multiple language support, then navigated to https://dmaster.demo.civicrm.org/civicrm/admin/setting/localization?reset=1 enabled a second language and got three copies of:
Notice: Undefined property: CRM_Core_DAO::$Create_Table in CRM_Core_DAO::checkConstraintExists() (line 944 of /srv/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Core/DAO.php).JoeMurrayJoeMurrayhttps://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/721Role Based ACL Not Working With Smart Groups2019-07-10T17:29:11ZcrusonwebRole Based ACL Not Working With Smart GroupsAfter a recent upgrade to CiviCRM 5.10.0 under Wordpress 5.0.3 I discovered that Role Based ACLs could no longer see contacts when their role gives them access to a Smart Group (static groups still work properly). This seems to be a rec...After a recent upgrade to CiviCRM 5.10.0 under Wordpress 5.0.3 I discovered that Role Based ACLs could no longer see contacts when their role gives them access to a Smart Group (static groups still work properly). This seems to be a recurrence of an issue that pops up from time to time, but previous patches I have found do not resolve the issue. These did work under 5.9.0 (I tested a clean install with sample data) and do not under 5.10.0 (again I tested on a clean install with sample data). So some change between 5.9.0 and 5.10.0 caused this. I have also confirmed that 5.10.1 has the same issue. I do not know if this affects other CMS platforms, I have only tested on Wordpress.
To recreate:
1) Set Up a View or Edit ACL for A group of contacts and select a Smart Group
2) Log in as a contact that is connected to the role connected to that ACL
3) Do a basic search with no criteria. If the contact is in the Smart Group you will see only them, if they aren't then you will get no results. Normally you should see the whole group.5.10.2https://lab.civicrm.org/dev/core/-/issues/722Display attachments in Activities tab2022-10-01T05:03:35ZDon WijesooriyaDisplay attachments in Activities tabAttachments in case activities are displayed as paper-clip icon links on the case view screen.
![case_view](/uploads/d9e655c25b0d7b2001380d714720f7fe/case_view.png)
It would be better if attachments are displayed in the activities tab ...Attachments in case activities are displayed as paper-clip icon links on the case view screen.
![case_view](/uploads/d9e655c25b0d7b2001380d714720f7fe/case_view.png)
It would be better if attachments are displayed in the activities tab for all other activities as well.https://lab.civicrm.org/dev/core/-/issues/724For many countries other than USA, state is displayed as a number instead of ...2023-11-17T05:03:23ZIan KellingFor many countries other than USA, state is displayed as a number instead of a stringRepro:
Go to https://civicrm.demo.civihosting.com which is running 5.10.0 when
I tested this. Create a new contact, add an address in japan, choose a
state from the drop down box and click save. Then view the contact. In the state field,...Repro:
Go to https://civicrm.demo.civihosting.com which is running 5.10.0 when
I tested this. Create a new contact, add an address in japan, choose a
state from the drop down box and click save. Then view the contact. In the state field,
you will see a number instead of a state name. This seems to happen with
many countries.
We printed mailing labels that had numbers instead of the state names
and we don't know how many were or were not delivered. Please consider
this a high priority bug.https://lab.civicrm.org/dev/core/-/issues/725Address API incorrectly sets state_province_id if multiple countries have sam...2019-04-03T18:25:00ZjackrabbithannaAddress API incorrectly sets state_province_id if multiple countries have same state name / abbreviationReplicable on dmaster.demo
The Address API is not taking into account the country_id when figuring the state_province_id when given the state name or state abbreviation, even if country_id is provided...
Example:
```
$result = civi...Replicable on dmaster.demo
The Address API is not taking into account the country_id when figuring the state_province_id when given the state name or state abbreviation, even if country_id is provided...
Example:
```
$result = civicrm_api3('Address', 'create', [
'contact_id' => 206,
'location_type_id' => "Main",
'city' => "Baltimore",
'state_province_id' => "Maryland",
'country_id' => 1228,
]);
```
Output:
```
{
"is_error": 0,
"version": 3,
"count": 1,
"id": 193,
"values": {
"193": {
"id": "193",
"contact_id": "206",
"location_type_id": "3",
"is_primary": "1",
"is_billing": "0",
"city": "Baltimore",
"state_province_id": "3497",
"country_id": "1228",
"manual_geo_code": "0"
}
}
}
```
Notice the state_province_id is 3497, which is Maryland, Liberia. It should be 1019.
This happens regardless of which countries are enabled in the Localization settings. It also does not respect the "default country" setting, if the country_id is not provided.5.13.0https://lab.civicrm.org/dev/core/-/issues/726Advanced Search: There is an Internal Server Error (500) when the user tries ...2019-06-15T15:19:40ZPradeep Nayakpradpnayak@gmail.comAdvanced Search: There is an Internal Server Error (500) when the user tries to search by the "Mailing List" group type* Click "View contact record"
* Click "Search" -> "Advanced Search"
* Click "search by group type"
* Choose the "Mailing List" option
* Click "Search"
Actual result: There is an Internal Server Error (500).
Expected result: There is a ...* Click "View contact record"
* Click "Search" -> "Advanced Search"
* Click "search by group type"
* Choose the "Mailing List" option
* Click "Search"
Actual result: There is an Internal Server Error (500).
Expected result: There is a warning message "No matches found for: Group Type(s) Mailing List"5.13.0https://lab.civicrm.org/dev/core/-/issues/728New Individual: HTML codes are displayed in edit mode instead of < and > char...2022-10-02T05:03:34ZPradeep Nayakpradpnayak@gmail.comNew Individual: HTML codes are displayed in edit mode instead of < and > characters* Navigate to Contacts→New Individual
* Fill in the Job title field with <>
* Click "Save"
* On the preview page, click Edit to edit the Job title field
* Take a look at the field
Result: HTML codes are displayed in edit mode instead o...* Navigate to Contacts→New Individual
* Fill in the Job title field with <>
* Click "Save"
* On the preview page, click Edit to edit the Job title field
* Take a look at the field
Result: HTML codes are displayed in edit mode instead of < and > characters. Please take a look at the attachment
Expected result: special characters should be displayed as enteredhttps://lab.civicrm.org/dev/core/-/issues/729Error when printing name badges with sort on participant name and -spacer- in...2022-12-07T05:03:30ZjosetorresError when printing name badges with sort on participant name and -spacer- in layoutIf you have a name badge layout with a spacer field and you sort the participants by name prior to generating name badges, the following error occurs.
`Column 'sort_name' in order clause is ambiguous 1052`
Tested on
* Drupal 7, with ...If you have a name badge layout with a spacer field and you sort the participants by name prior to generating name badges, the following error occurs.
`Column 'sort_name' in order clause is ambiguous 1052`
Tested on
* Drupal 7, with civi 5.7, 5.10 (civihosting demo)
* Wordpress Newest, civi 5.3, 5.7https://lab.civicrm.org/dev/core/-/issues/730Reports does not filter counties appropriately2022-10-02T05:03:34ZandyburnsReports does not filter counties appropriatelyWithin a report, if I select a state and then want to filter down to the county, I see all the counties in the US with the same name, e.g. Adams.![all_counties_showing](/uploads/317a70eec6edd6c5ddcc90601734b520/all_counties_showing.PNG)
...Within a report, if I select a state and then want to filter down to the county, I see all the counties in the US with the same name, e.g. Adams.![all_counties_showing](/uploads/317a70eec6edd6c5ddcc90601734b520/all_counties_showing.PNG)
In this case I used the *CRM_Report_Form_Contact_Summary* report template.
It should use the same method if used in a profile where if a certain state is selected it only allows those counties tied to that state.https://lab.civicrm.org/dev/core/-/issues/731Smart Group DB Errors post-upgrade, specifically 1292 Truncated incorrect DOU...2019-03-02T07:08:54ZjoeglSmart Group DB Errors post-upgrade, specifically 1292 Truncated incorrect DOUBLE valueCiviCRM 5.9.1 and Drupal 7. Recently upgraded from 4.7.17.
Lots of smart groups are failing now with DB errors (can't use them or edit them). This is a relevant StackExchange I found: https://civicrm.stackexchange.com/questions/28268/ca...CiviCRM 5.9.1 and Drupal 7. Recently upgraded from 4.7.17.
Lots of smart groups are failing now with DB errors (can't use them or edit them). This is a relevant StackExchange I found: https://civicrm.stackexchange.com/questions/28268/cant-update-smart-group-counts
Here are two specific MySQL queries which fail:
`CREATE TEMPORARY TABLE civicrm_temp_group_contact_cache449
(SELECT 9 as group_id, contact_a.id as id
FROM civicrm_contact contact_a
LEFT JOIN civicrm_email
ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1)
LEFT JOIN civicrm_contribution
ON civicrm_contribution.contact_id = contact_a.id
WHERE (
civicrm_email.on_hold IN ("")
AND (civicrm_contribution.receive_date >= '20110701000000' )
AND (civicrm_contribution.receive_date <= '20120630235959' )
AND civicrm_contribution.financial_type_id IN ("5", "1", "4", "12", "11", "6", "9", "2", "8", "10")
AND civicrm_contribution.financial_type_id = 1
)
AND (contact_a.is_deleted = 0)
AND contact_a.id
NOT IN (SELECT contact_id
FROM civicrm_group_contact
WHERE civicrm_group_contact.status = 'Removed'
AND civicrm_group_contact.group_id = 9 )
); [nativecode=1292 ** Truncated incorrect DOUBLE value: '']`
AND
`CREATE TEMPORARY TABLE civicrm_temp_group_contact_cache1477
(SELECT 208 as group_id, contact_a.id as id
FROM civicrm_contact contact_a
LEFT JOIN civicrm_email
ON (contact_a.id = civicrm_email.contact_id
AND civicrm_email.is_primary = 1)
LEFT JOIN civicrm_contribution
ON civicrm_contribution.contact_id = contact_a.id
LEFT JOIN civicrm_membership
ON civicrm_membership.contact_id = contact_a.id
LEFT JOIN civicrm_contribution_recur ccr
ON ( civicrm_membership.contribution_recur_id = ccr.id )
WHERE
(civicrm_email.on_hold IN ("")
AND contact_a.contact_type IN ("Individual", "Household")
AND civicrm_contribution.is_test = 0
AND civicrm_membership.is_test = 0
AND civicrm_membership.status_id IN ("1"))
AND (contact_a.is_deleted = 0)
AND contact_a.id NOT IN (
SELECT contact_id
FROM civicrm_group_contact
WHERE civicrm_group_contact.status = 'Removed'
AND civicrm_group_contact.group_id = 208 )
); [nativecode=1292 ** Truncated incorrect DOUBLE value: '']`
I am not very familiar with working with temporary tables. However, when I run the SELECT query inside the parentheses without the "CREATE TEMPORARY TABLE" portion, it returns successfully. However, PHPMyAdmin does not like it when I add the "CREATE TEMPORARY TABLE" bit. The MySQL has user proper permissions and it's an InnoDB MySQL database.
EDIT: I've tried to post the queries with indentations and line breaks but they don't stay so I apologize for the formatting.5.11https://lab.civicrm.org/dev/core/-/issues/732Parsing of addresses in the format of different countries2023-03-05T05:03:27ZjaapjansmaParsing of addresses in the format of different countriesCiviCRM has the ability to parse addresses into a street name, house number and street unit.
This parsing is based on I assume US address formats.
E.g. an address like _799 E DRAGRAM SUITE 5A_ is parsed into house number: 799, street n...CiviCRM has the ability to parse addresses into a street name, house number and street unit.
This parsing is based on I assume US address formats.
E.g. an address like _799 E DRAGRAM SUITE 5A_ is parsed into house number: 799, street name: E Dragram, and Street unit Suite 5a.
In the Netherlands and Belgium the adresses are formatted in a different way, first it is the street name, then the house number and then the street unit.
Some examples:
* _Grote straat 1a_, which should be parsed to Street name: Grote straat, house number 1, and street unit a
* _Grote straat 2-3_, which should be parsed to Street name: Grote straat, House number 2, and street unit 3
* _Plein 40-45 60-II_, which should be parsed to Street name: Plein 40-45, house number 60 and street unit II
**What I think CiviCRM should be capable of (either with an extension or in core):**
1. Parse addresses based on the country of the address
2. Format addresses based on the country of the address, meaning glue the individual address (Street name, house number, street unit) parts into one address
**How does it work currently?**
When I enable Address Parsing I can enther a full address into CiviCRM.
If I enter _Grote straat 1a_ it gets parsed into Address name: Grote straat 1a, House number: _empty_ and street unit _empty_
If I enter _Plein 40-45 60-II_ it gets parsed into Address name: Plein 40-45 60-II, House number: _empty_ and street unit _empty_
If I enter the individual parts, street name: Grote straat, house number: 1 and street unit a, it gets formatted to 1 Grote straat a
As you can see the formatting and parsing of Dutch and Belgium addresses does not work.
**Proposed solution**
I do think it will be good when the address parsing functionality could be made in such way that extensions could hook into it.
I am thinking of a hook which provides callback functions for address parsing based on the country ID of the address.
Example code
```php
$callbacks[1020] = array('CRM_Address_BAO_Address', 'parseBelgiumAddress');
$callbacks['default'] = array('CRM_Address_BAO_Address', 'parseAddress');
/**
* Alter the callbacks for address parsing
*
* @param array $callbacks
*/
hook_civicrm_alter_address_parser_callbacks(&$callbacks) {
// Add a custom address parser
// For example the dutch one:
$callbakcs[1152] = array('CRM_MyExtension_DutchAddressParser', 'parseDutchAddress');
}
```
This way CiviCRM core could provide a default address parser, and a set of address parser for certain countries and if one is missing an extension developer could write the missing parser.
What do you think of this? If everyone is happy I am happy to implement this.jaapjansmajaapjansmahttps://lab.civicrm.org/dev/core/-/issues/733Validation radio custom fields on civicrm_validateForm hook does not work2022-10-04T05:03:30ZscardiniusValidation radio custom fields on civicrm_validateForm hook does not workI have a custom field to contact in radio type format, not required field.
I'd like to set up custom error on this empty field by using validateForm but `$fields` array doesn't contain a key for this custom field. After setting `$error...I have a custom field to contact in radio type format, not required field.
I'd like to set up custom error on this empty field by using validateForm but `$fields` array doesn't contain a key for this custom field. After setting `$error['custom_xx']` the form is reloaded without displaying the error.
The question is why for Radio type of custom field there is no a key in $fields array?
PS. Related to creating new contact and editing existing contact.https://lab.civicrm.org/dev/core/-/issues/734Contribution Detail Report Multiple Contacts combined into one link, comma-de...2022-10-03T05:03:56ZjoeglContribution Detail Report Multiple Contacts combined into one link, comma-delimited contact id'sWhen listing multiple contacts as contributions on the Contribution Detail Report, in CiviCRM 5.9.1, the contacts are listed as one link, with comma de-limited contact id's, like so:
`/civicrm/contact/view?reset=1&cid=13819,10902,10901`...When listing multiple contacts as contributions on the Contribution Detail Report, in CiviCRM 5.9.1, the contacts are listed as one link, with comma de-limited contact id's, like so:
`/civicrm/contact/view?reset=1&cid=13819,10902,10901`
When I click the link, I get a "Contact not found" error and am sent to the main dashboard.
Should these links be separate for each contact instead of comma-delimited in one link?
Not sure if this issue is also related: https://lab.civicrm.org/dev/core/issues/655
I was looking into the Soft Credit problem on the same same report when I found this issue. They both appear to be combining things in a Contribution Report that should not be combined, insofar as I can tell.https://lab.civicrm.org/dev/core/-/issues/735Query performance - suppress 'product' and related fields where products are ...2019-04-26T06:50:00ZeileenQuery performance - suppress 'product' and related fields where products are not in the databaseMost people hate the fact we waste an output field on premium on the contribution tab. They all think it should be replaced - but all have different replacements.
I don't want to solve that - I think the right solution for that is to f...Most people hate the fact we waste an output field on premium on the contribution tab. They all think it should be replaced - but all have different replacements.
I don't want to solve that - I think the right solution for that is to find funding to leap the interface.
What I DO think we can solve is the fact we are doing unnecessary joins / queries / processing to generate & display premiums - regardless of whether the site uses them. I think we could short-circuit that pretty cleanly by just doing a quick
"select id FROM civicrm_product_premium LIMIT 1' (cached) before adding product fields to our default return properties (with a small tpl tweak too)5.13.0https://lab.civicrm.org/dev/core/-/issues/736let's talk about indexes baby - let's talk about all the good things they cou...2022-10-03T05:03:56Zeileenlet's talk about indexes baby - let's talk about all the good things they could beThis is intended as a discussion and not necessarily a core change - sites can add their own indexes so this is more of a 'what have you added, what works' discussion post
I have a search that returns about 177k results based on a combi...This is intended as a discussion and not necessarily a core change - sites can add their own indexes so this is more of a 'what have you added, what works' discussion post
I have a search that returns about 177k results based on a combination of payment type & receive date.
Recent changes & in progress changes have gotten the time to render the search results page down from about 4 minutes to about 30 seconds.
However, I can get it down to 10 seconds by adding an additional index - a combined index on
payment_instrument_id + receive_date - ie
ALTER TABLE civicrm_contribution ADD INDEX payment_instrument_receive_date(payment_instrument_id, receive_date);
(note I'm comparing page render with page render not query time as more than one query could be affected)
The more indexes you have the longer it takes to write but I don't have any metrics on how much longer. It also takes up more disk space - some of our indexes are multiple GB.
OTOH they can make it quicker to retrieve.
Current indexes
KEY `UI_contrib_payment_instrument_id` (`payment_instrument_id`),
KEY `index_total_amount_receive_date` (`total_amount`,`receive_date`),
KEY `index_source` (`source`),
KEY `index_contribution_status` (`contribution_status_id`),
KEY `received_date` (`receive_date`),
KEY `check_number` (`check_number`),
KEY `index_creditnote_id` (`creditnote_id`),
KEY `FK_civicrm_contribution_contact_id` (`contact_id`),
KEY `FK_civicrm_contribution_financial_type_id` (`financial_type_id`),
KEY `FK_civicrm_contribution_contribution_page_id` (`contribution_page_id`),
KEY `FK_civicrm_contribution_contribution_recur_id` (`contribution_recur_id`),
KEY `FK_civicrm_contribution_address_id` (`address_id`),
KEY `FK_civicrm_contribution_campaign_id` (`campaign_id`),
My current thinking is to
- add receive_date & possibly contribution status_id to payment_instrument id index
- add receive_date to contribution_status_id index
@seamuslee @pfigel @sluc23 @davej @mfb have you guys tinkered with your indexes at all?https://lab.civicrm.org/dev/core/-/issues/737SMS not sent if "Send Immediately" option is chosen on the last screen2019-02-19T21:33:27ZjitendraSMS not sent if "Send Immediately" option is chosen on the last screenTo replicate -
1. Create an SMS
2. Fill all the req fields and click on "Send Immediately" option.
3. The SMS is not listed under `Scheduled` list and is not sent after the job is executed.To replicate -
1. Create an SMS
2. Fill all the req fields and click on "Send Immediately" option.
3. The SMS is not listed under `Scheduled` list and is not sent after the job is executed.5.10.3jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/738Adding Sub-Options of Custom Data2019-02-19T10:11:39ZGhost UserAdding Sub-Options of Custom DataHello.
Maybe I didn't know, but I didn't know.
I need to add a sub-option to private recipients. I can explain this with an example.
Suppose you have an option. When I make a choice here, there must be sub-options that are optional in...Hello.
Maybe I didn't know, but I didn't know.
I need to add a sub-option to private recipients. I can explain this with an example.
Suppose you have an option. When I make a choice here, there must be sub-options that are optional in this option.
In the meantime, there is City / County option, but when I choose the province does not come from the county information. (For Turkey)
1. Receiving
a. White Apple
b. Green apple
c. Red Apple
2. Pear
a. White Pear
b. Green Pear
c. Red Pear
Joomla 3.9.3
CiviCRM 5.10.2!
![001275](/uploads/240b66db42d115a9fc5308fd1527bfed/001275.png)https://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/740Notes: It isn't possible to edit note if the user uploaded an image larger th...2019-03-23T21:19:49ZPradeep Nayakpradpnayak@gmail.comNotes: It isn't possible to edit note if the user uploaded an image larger than 3 MByte(s)Steps:
* Click "View contact record"
* Find contact from the precondition
* Open profile
* Open "Notes" tab
* Click "Add Note"
* Fill in all required fields
* Open the "Attachment(s)" tab
* Upload an image larger than 3 MByte(s)
* Clic...Steps:
* Click "View contact record"
* Find contact from the precondition
* Open profile
* Open "Notes" tab
* Click "Add Note"
* Fill in all required fields
* Open the "Attachment(s)" tab
* Upload an image larger than 3 MByte(s)
* Click "Save"
**Actual result:** It isn't possible to edit note if the user uploaded an image larger than 3 MByte(s).
**Expected result:** It should be possible to edit note if the user uploaded an image larger than 3 MByte(s)
![Before](/uploads/ec2da739b8eb4c6273033d8cea390742/Before.gif)5.13.0https://lab.civicrm.org/dev/core/-/issues/741Print/Merge: ODT output does not produce page-breaks2022-10-04T05:03:29ZtottenPrint/Merge: ODT output does not produce page-breaksSteps to reproduce
* Search for contacts
* Select 3 contacts
* Choose the task to print/merge a document
* Choose the output format -- PDF, DOCX, or ODT
In PDF and DOCX format, each contact's data is displayed on a separate page. If yo...Steps to reproduce
* Search for contacts
* Select 3 contacts
* Choose the task to print/merge a document
* Choose the output format -- PDF, DOCX, or ODT
In PDF and DOCX format, each contact's data is displayed on a separate page. If you generate ODT and view it in LibreOffice 5.x or 6.1, it produces some weird outlines -- but these do not translate into page-breaks. (The weird lines appear in normal WYSIWYG mode; they disappear in "Print Preview" mode. In neither case do they appear as page-breaks.)
![Screen_Shot_2019-02-19_at_5.44.01_PM](/uploads/047a756e086ec11e4510cde6d406dcfa/Screen_Shot_2019-02-19_at_5.44.01_PM.png)
This was observed when using either PHPWord 0.14 or 0.15 in Civi. Based on [this upstream issue/PR](https://github.com/PHPOffice/PHPWord/issues/824), ODT pagebreaks ought to be working with PHPWord 0.14+
```
me@localhost:~/src/PHPWord$ git tag --contains def9123575ed9e3c2e9e36aa4e0ba6f0d09fc6c1
0.14.0
0.15.0
0.16.0
```
(Note: This is not high priority for me. I just wanted to record because it came up incidentally in some other testing.)https://lab.civicrm.org/dev/core/-/issues/742Repeated warning: "simplexml_load_file(): I/O warning : failed to load extern...2023-02-04T05:03:30ZtottenRepeated warning: "simplexml_load_file(): I/O warning : failed to load external entity ".../xml/Menu/Activity.xml"__Environment__: Observed in Civi 5.10 and 5.7 with bknix-min (PHP 5.6 / MySQL 5.5). Haven't tested other environments yet.
__Steps to Reproduce__: Login as admin. Use `/civicrm/clearcache` (i.e. the browser-based clear)
__Outcome__:
...__Environment__: Observed in Civi 5.10 and 5.7 with bknix-min (PHP 5.6 / MySQL 5.5). Haven't tested other environments yet.
__Steps to Reproduce__: Login as admin. Use `/civicrm/clearcache` (i.e. the browser-based clear)
__Outcome__:
![Screen_Shot_2019-02-20_at_2.35.53_AM](/uploads/4d305c7b2d791d69a3b1707a12c3b940/Screen_Shot_2019-02-20_at_2.35.53_AM.png)
__Comments__:
* The warning message references many Menu XML files, but I think the first is the only the matters. It actually has an XML entity (`&`); removing that entity prevents the warnings (but would obviously break that menu item).
* It seems strange that `&` would be regarded as an external entity.https://lab.civicrm.org/dev/core/-/issues/743Case report showing 1 result2019-05-25T06:06:01ZDevAppCase report showing 1 resultAs of 5.10.2 the case summary report joins with relationships.
`
SELECT SQL_CALC_FOUND_ROWS c2_civireport.sort_name as civicrm_c2_client_name, c2_civireport.id as civicrm_c2_id, case_civireport.id as civicrm_case_id, case_civireport.subj...As of 5.10.2 the case summary report joins with relationships.
`
SELECT SQL_CALC_FOUND_ROWS c2_civireport.sort_name as civicrm_c2_client_name, c2_civireport.id as civicrm_c2_id, case_civireport.id as civicrm_case_id, case_civireport.subject as civicrm_case_subject, case_civireport.status_id as civicrm_case_status_id, case_civireport.case_type_id as civicrm_case_case_type_id, case_civireport.start_date as civicrm_case_start_date, case_civireport.end_date as civicrm_case_end_date
FROM civicrm_contact contact_civireport
inner join civicrm_relationship relationship_civireport on contact_civireport.id = relationship_civireport.contact_id_b
inner join civicrm_case case_civireport on case_civireport.id = relationship_civireport.case_id
inner join civicrm_relationship_type relationship_type_civireport on relationship_type_civireport.id=relationship_civireport.relationship_type_id
inner join civicrm_case_contact case_contact_civireport on case_contact_civireport.case_id = case_civireport.id
inner join civicrm_contact c2_civireport on c2_civireport.id=case_contact_civireport.contact_id
WHERE case_civireport.case_type_id REGEXP '[[:cntrl:]]*29[[:cntrl:]]*' AND ( case_civireport.is_deleted = 0 )
ORDER BY c2_civireport.sort_name ASC
LIMIT 0, 50
`
This only returns 1 result on a client's case summary report. Performing a Find Case returns 400+ results.
Reverting to an earlier version of the report fixes the issue:
`
SELECT SQL_CALC_FOUND_ROWS c2_civireport.sort_name as civicrm_c2_client_name, c2_civireport.id as civicrm_c2_id, case_civireport.id as civicrm_case_id, case_civireport.subject as civicrm_case_subject, case_civireport.status_id as civicrm_case_status_id, case_civireport.case_type_id as civicrm_case_case_type_id, case_civireport.start_date as civicrm_case_start_date, case_civireport.end_date as civicrm_case_end_date
FROM civicrm_case case_civireport
inner join civicrm_case_contact case_contact_civireport on case_contact_civireport.case_id = case_civireport.id
inner join civicrm_contact c2_civireport on c2_civireport.id=case_contact_civireport.contact_id
WHERE case_civireport.case_type_id REGEXP '[[:cntrl:]]*29[[:cntrl:]]*' AND ( case_civireport.status_id IN (1) )
LIMIT 0, 50
`
It appears the case summary report has changed to support relationships.
Checking the civicrm_relationship for a case ID that is valid, there isn't a case_id present for that case. Ideally this report should not be dependent (INNER JOIN) for a relationship existing and should begin withh the civicrm_case table.5.15.0https://lab.civicrm.org/dev/core/-/issues/745Smart groups broken when "Enable multiple bulk email address for a contact" s...2019-03-07T19:43:17ZscardiniusSmart groups broken when "Enable multiple bulk email address for a contact" setting is offWhen setting "Enable multiple bulk email address for a contact" is off then ALL smart groups have additional condition (Email On Hold) because of false-positive effect of code:
https://github.com/civicrm/civicrm-core/pull/12942/files
``...When setting "Enable multiple bulk email address for a contact" is off then ALL smart groups have additional condition (Email On Hold) because of false-positive effect of code:
https://github.com/civicrm/civicrm-core/pull/12942/files
```php
elseif ($id == 'email_on_hold') {
if ($onHoldValue = CRM_Utils_Array::value('email_on_hold', $formValues)) {
$onHoldValue = (array) $onHoldValue;
$params[] = array('on_hold', 'IN', $onHoldValue, 0, 0);
}
}
```
For such case `email_on_hold` has value:
```php
$formValues['email_on_hold'] = [
'on_hold' => NULL,
];
```
which is false-positive in condition5.11https://lab.civicrm.org/dev/core/-/issues/746Search Builder searches using > 1 smart group where operator is equals is bro...2019-02-23T08:30:32ZseamusleeSearch Builder searches using > 1 smart group where operator is equals is broken from 5.10.0To reproduce
1. Create 2 separate smart groups making sure that there is some contacts that overlap
2. go into the search builder and add 2 clauses both groups and use the = operator and select each of the smart groups created in 1
3. O...To reproduce
1. Create 2 separate smart groups making sure that there is some contacts that overlap
2. go into the search builder and add 2 clauses both groups and use the = operator and select each of the smart groups created in 1
3. Observe it returns 0 results when it should return the overlap between the 2 smart groups5.10.4https://lab.civicrm.org/dev/core/-/issues/747Contact images can no longer be viewed or re-uploaded2019-02-24T00:21:34ZKarinGContact images can no longer be viewed or re-uploadedAfter upgrading to 5.7.4
* I can not reproduce this on dmaster demo - all is working well there [10min ago].
**On a 5.7.4:**
Contact Summary Page:
Edit
Re-uploading image has no effect
![image](/uploads/beca23670453246b21e9bb4ce2082c...After upgrading to 5.7.4
* I can not reproduce this on dmaster demo - all is working well there [10min ago].
**On a 5.7.4:**
Contact Summary Page:
Edit
Re-uploading image has no effect
![image](/uploads/beca23670453246b21e9bb4ce2082c66/image.png)
On Contact Summary screen - tried to upload the exact same image as I was able to upload on dmaster demo:
![image](/uploads/a2431e6cdbffe3342dc9aeea3a22aeb1/image.png)
**On a 5.5.2 for this instance:**
I don't have a 5.7.3 copy for them - but I do have a functional 5.5.2 clone - and that works fine: I just confirmed by uploading this exact same image:
![image](/uploads/6e0a317e99698c27557e85508d95bf07/image.png)
Error when trying to view Contact Summary Page:
```
[info] $backTrace = #0 /var/www/civicrm/5-stable/CRM/Core/Error.php(381): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /var/www/civicrm/5-stable/CRM/Utils/Request.php(121): CRM_Core_Error::fatal("Could not find valid value for eid")
#2 /var/www/civicrm/5-stable/CRM/Core/Page/File.php(45): CRM_Utils_Request::retrieve("eid", "Positive", Object(CRM_Core_Page_File), TRUE)
#3 /var/www/civicrm/5-stable/CRM/Core/Invoke.php(309): CRM_Core_Page_File->run((Array:2), NULL)
#4 /var/www/civicrm/5-stable/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:13))
#5 /var/www/civicrm/5-stable/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:2))
#6 /var/www/civicrm/5-stable/drupal/civicrm.module(445): CRM_Core_Invoke::invoke((Array:2))
#7 /var/www/drupal/git-7/includes/menu.inc(527): civicrm_invoke("file")
#8 /var/www/drupal/git-7/index.php(21): menu_execute_active_handler()
#9 {main}
```
**ADDITIONAL INFO:**
I upgraded another project on my local to 5.7.4 to see how/if PCP images are affected - this is using @parvez ' PCP extension: images visible prior to 5.7.4 upgrade are no longer visible and can not be re-uploaded via the GUI:
![image](/uploads/c4f65b16d2b2cb5cbd2ddb7947e91c7c/image.png)
5.10.4https://lab.civicrm.org/dev/core/-/issues/748Deadlocks and performance issues when using smartgroups / ACLs extensively2021-03-28T20:28:08Zmattwiremjw@mjwconsult.co.ukDeadlocks and performance issues when using smartgroups / ACLs extensivelyThis is an issue to track work on resolving performance issues (deadlocks) with Smartgroups / ACLs.
Specific details of a site where this is a major issue:
* About 80 staff login each day and create/update cases/activities.
* Access to c...This is an issue to track work on resolving performance issues (deadlocks) with Smartgroups / ACLs.
Specific details of a site where this is a major issue:
* About 80 staff login each day and create/update cases/activities.
* Access to cases/activities controlled via ACLs and smartgroups.
* Approximately 12000 contacts, 12000 cases, 62000 activities. MySQL 5.5.61
Related:
* https://lab.civicrm.org/dev/core/issues/395
* https://github.com/civicrm/civicrm-packages/pull/197
* https://issues.civicrm.org/jira/browse/CRM-18120
* https://github.com/civicrm/civicrm-core/pull/13672 (closed)
* https://github.com/civicrm/civicrm-core/pull/13714 (closed/ replaced?)
* https://github.com/civicrm/civicrm-core/pull/13772 (merged)
* https://github.com/civicrm/civicrm-core/pull/13732 (merged)https://lab.civicrm.org/dev/core/-/issues/749MySQL utf8mb4 check causes fatal error on some systems2019-09-16T11:00:14Zmattwiremjw@mjwconsult.co.ukMySQL utf8mb4 check causes fatal error on some systemsRef: https://github.com/civicrm/civicrm-core/pull/13425
MySQL version: 5.5.62 (the hosting provider should be able to provide more detail on config if required).
This check seems to cause a fatal error on a client site during login. Ba...Ref: https://github.com/civicrm/civicrm-core/pull/13425
MySQL version: 5.5.62 (the hosting provider should be able to provide more detail on config if required).
This check seems to cause a fatal error on a client site during login. Backtrace below:
```
$backTrace = #0 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Core/Error.php(232): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/PEAR.php(921): CRM_Core_Error::handle(Object(DB_Error))
#2 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/DB.php(985): PEAR_Error->__construct("DB Error: unknown error", -1, 16, (Array:2), "CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...")
#3 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/PEAR.php(575): DB_Error->__construct(-1, 16, (Array:2), "CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...")
#4 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -1, 16, (Array:2), "CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...", "DB_Error", TRUE)
#5 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/DB/common.php(1907): PEAR->__call("raiseError", (Array:7))
#6 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-1, NULL, NULL, "CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...", "1071 ** Specified key was too long; max key length is 767 bytes")
#7 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError()
#8 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/DB/common.php(1216): DB_mysqli->simpleQuery("CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...")
#9 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/DB/DataObject.php(2415): DB_common->query("CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...")
#10 /home/exampleorg/drupal/sites/all/modules/civicrm/packages/DB/DataObject.php(1607): DB_DataObject->_query("CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...")
#11 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Core/DAO.php(438): DB_DataObject->query("CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...")
#12 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Core/DAO.php(1413): CRM_Core_DAO->query("CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...", TRUE)
#13 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Utils/Check/Component/Env.php(944): CRM_Core_DAO::executeQuery("CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(...") #14 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Utils/Check/Component.php(54): CRM_Utils_Check_Component_Env->checkMysqlUtf8mb4()
#15 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Utils/Check.php(209): CRM_Utils_Check_Component->checkAll()
#16 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Utils/Check.php(93): CRM_Utils_Check::checkAll()
#17 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Core/Page.php(218): CRM_Utils_Check->showPeriodicAlerts()
#18 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Contact/Page/DashBoard.php(69): CRM_Core_Page->run() #19 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Core/Invoke.php(309): CRM_Contact_Page_DashBoard->run((Array:1), NULL)
#20 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:13)) #21 /home/exampleorg/drupal/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:1))
#22 /home/exampleorg/drupal/sites/all/modules/civicrm/drupal/civicrm.module(445): CRM_Core_Invoke::invoke((Array:1))
#23 /home/exampleorg/drupal/includes/menu.inc(527): civicrm_invoke()
#24 /home/exampleorg/drupal/index.php(21): menu_execute_active_handler()
#25 {main}
```
```
$Fatal Error Details = Array (
[callback] => Array ( [0] => CRM_Core_Error [1] => handle ) [code] => -1 [message] => DB Error: unknown error [mode] => 16 [debug_info] => CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(255))) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC ENGINE=INNODB [nativecode=1071 ** Specified key was too long; max key length is 767 bytes]
[type] => DB_Error [user_info] => CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(255))) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC ENGINE=INNODB [nativecode=1071 ** Specified key was too long; max key length is 767 bytes] [to_string] => [db_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM_Core_Error::handle prefix="" info="CREATE TEMPORARY TABLE civicrm_utf8mb4_test (id VARCHAR(255), PRIMARY KEY(id(255))) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC ENGINE=INNODB [nativecode=1071 ** Specified key was too long; max key length is 767 bytes]"] )
```https://lab.civicrm.org/dev/core/-/issues/750The following PHP variables are not set: $_SERVER[HTTP_HOST]2023-04-11T05:03:21ZYepaThe following PHP variables are not set: $_SERVER[HTTP_HOST]### The error
```drush updb
[error] The following PHP variables are not set: $_SERVER[HTTP_HOST]
Requirements check reports errors. Do you wish to continue? (yes/no) [yes]:
```
### Steps to reproduce
* Launch the command ```drush u...### The error
```drush updb
[error] The following PHP variables are not set: $_SERVER[HTTP_HOST]
Requirements check reports errors. Do you wish to continue? (yes/no) [yes]:
```
### Steps to reproduce
* Launch the command ```drush updb```
### Versions
* Drupal : 8.6.10
* Drush : 9.5.2
* CiviCRM : 5.10.3
### Related to
* https://github.com/drush-ops/drush/issues/3562https://lab.civicrm.org/dev/core/-/issues/751Proposal - do not automatically add employer2019-02-24T22:07:22ZalainbProposal - do not automatically add employerCurrent behaviour:
* When you add an address of any location type to an individual,
* and you choose to use the address of another contact,
* and you choose the address of an organization,
* then that individual is automatically made...Current behaviour:
* When you add an address of any location type to an individual,
* and you choose to use the address of another contact,
* and you choose the address of an organization,
* then that individual is automatically made an employee of that organization
Here's how you can test it in the demo environment:
* search for the individual named Lincoln Bachman III (that person has no employer)
* click on "add address"
* select location type "Other", and check "Use another contact's address"
* select the organization Beech Poetry Solutions
As soon as you add the shared address, the current employer of Lincoln Bachman becomes Beech Poetry Solutions. This makes no sense!
I would like to change that behaviour. Either we only do it if the location type is "work", or we don't implicitly add an employer/employee relationship at all.
What do you think?https://lab.civicrm.org/dev/core/-/issues/753Reset button vanished in datepicker CiviCRM 5.10+2019-02-26T17:09:52ZDaniël van VuurenReset button vanished in datepicker CiviCRM 5.10+Replacing jcalendar instances with datepicker has caused the date / time reset button to vanish: [diff on Github](https://github.com/civicrm/civicrm-core/commit/d104311a1af5098aeb58a8fc2d367f877ab0580a#diff-6fc7e9552ffce6cf4cb7680854ef7b...Replacing jcalendar instances with datepicker has caused the date / time reset button to vanish: [diff on Github](https://github.com/civicrm/civicrm-core/commit/d104311a1af5098aeb58a8fc2d367f877ab0580a#diff-6fc7e9552ffce6cf4cb7680854ef7b70) / lab issue: https://lab.civicrm.org/dev/core/issues/561
Go to a contact on CiviCRM instance 5.9 or older (for example https://demosr.civicatalyst.org/); and click on Actions > Meeting (Sastanak in sr); there is a red cross.
![image](/uploads/eaf56f6c4334b4254ddf159829dd0fff/image.png)
Go to a CiviCRM instance 5.10 or newer (for example https://dmaster.demo.civicrm.org/); click on Actions > Meeting; there is NO red cross.
![image](/uploads/a59395deaec76f90ec3a0a29f2187013/image.png)https://lab.civicrm.org/dev/core/-/issues/754Fatal db error in search (with ONLY_FULL_GROUP_BY)2019-09-16T17:49:43ZbjoernFatal db error in search (with ONLY_FULL_GROUP_BY)CiviCRM-Version 5.10.3
MySQL-Version: 5.7.25
PHP-Version: 7.2
Steps to reproduce:
1. Select Search / Find Contacts
2. Leave Field "Name or Email" empty to get at least 2 Pages with results.
3. Click on the page-up button on the top rig...CiviCRM-Version 5.10.3
MySQL-Version: 5.7.25
PHP-Version: 7.2
Steps to reproduce:
1. Select Search / Find Contacts
2. Leave Field "Name or Email" empty to get at least 2 Pages with results.
3. Click on the page-up button on the top right corner.
Popup appears with message:
`Network Error
Unable to reach the server. Please refresh this page in your browser and try again.`
Error message of the response:
`DB Error: unknown error
Return to home page.`
CiviCRM Error-log:
```SQL
SELECT
contact_a.id as contact_id,
contact_a.contact_type as `contact_type`,
contact_a.contact_sub_type as `contact_sub_type`,
contact_a.sort_name as `sort_name`,
contact_a.display_name as `display_name`,
contact_a.do_not_email as `do_not_email`,
contact_a.do_not_phone as `do_not_phone`,
contact_a.do_not_mail as `do_not_mail`,
contact_a.do_not_sms as `do_not_sms`,
contact_a.do_not_trade as `do_not_trade`,
contact_a.is_opt_out as `is_opt_out`,
contact_a.legal_identifier as `legal_identifier`,
contact_a.external_identifier as `external_identifier`,
contact_a.nick_name as `nick_name`,
contact_a.legal_name as `legal_name`,
contact_a.image_URL as `image_URL`,
contact_a.preferred_communication_method as `preferred_communication_method`,
contact_a.preferred_language as `preferred_language`,
contact_a.preferred_mail_format as `preferred_mail_format`,
contact_a.first_name as `first_name`,
contact_a.middle_name as `middle_name`,
contact_a.last_name as `last_name`,
contact_a.prefix_id as `prefix_id`,
contact_a.suffix_id as `suffix_id`,
contact_a.formal_title as `formal_title`,
contact_a.communication_style_id as `communication_style_id`,
contact_a.job_title as `job_title`,
contact_a.gender_id as `gender_id`,
contact_a.birth_date as `birth_date`,
contact_a.is_deceased as `is_deceased`,
contact_a.deceased_date as `deceased_date`,
contact_a.household_name as `household_name`,
IF ( contact_a.contact_type = 'Individual', NULL, contact_a.organization_name ) as organization_name,
contact_a.sic_code as `sic_code`,
contact_a.is_deleted as `contact_is_deleted`,
IF ( contact_a.contact_type = 'Individual', contact_a.organization_name, NULL ) as current_employer,
civicrm_address.id as address_id,
civicrm_address.street_address as `street_address`,
civicrm_address.supplemental_address_1 as `supplemental_address_1`,
civicrm_address.supplemental_address_2 as `supplemental_address_2`,
civicrm_address.supplemental_address_3 as `supplemental_address_3`,
civicrm_address.city as `city`,
civicrm_address.postal_code_suffix as `postal_code_suffix`,
civicrm_address.postal_code as `postal_code`,
civicrm_address.geo_code_1 as `geo_code_1`,
civicrm_address.geo_code_2 as `geo_code_2`,
civicrm_address.state_province_id as state_province_id,
civicrm_address.country_id as country_id,
civicrm_phone.id as phone_id,
civicrm_phone.phone_type_id as phone_type_id,
civicrm_phone.phone as `phone`,
civicrm_email.id as email_id,
civicrm_email.email as `email`,
civicrm_email.on_hold as `on_hold`,
civicrm_im.id as im_id,
civicrm_im.provider_id as provider_id,
civicrm_im.name as `im`,
civicrm_worldregion.id as worldregion_id,
civicrm_worldregion.name as `world_region`,
(CASE
WHEN contact_a.id = 14799 THEN 0
WHEN contact_a.id = 17549 THEN 1
.
.
.
.
WHEN contact_a.id = 23911 THEN 47
WHEN contact_a.id = 23915 THEN 48
WHEN contact_a.id = 23048 THEN 49
END
) AS _wgt
FROM civicrm_contact contact_a
LEFT JOIN civicrm_address ON ( contact_a.id = civicrm_address.contact_id AND civicrm_address.is_primary = 1 )
LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1)
LEFT JOIN civicrm_phone ON (contact_a.id = civicrm_phone.contact_id AND civicrm_phone.is_primary = 1)
LEFT JOIN civicrm_im ON (contact_a.id = civicrm_im.contact_id AND civicrm_im.is_primary = 1)
LEFT JOIN civicrm_country ON civicrm_address.country_id = civicrm_country.id
LEFT JOIN civicrm_worldregion ON civicrm_country.region_id = civicrm_worldregion.id
WHERE (contact_a.is_deleted = 0)
AND contact_a.id IN (14799,17549, .... ,23915,23048)
GROUP BY contact_a.id ORDER BY _wgt
[nativecode=1055 ** Expression #37 of SELECT list is not in GROUP BY clause and contains nonaggregated column '*****.civicrm_address.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]
```5.15.0https://lab.civicrm.org/dev/core/-/issues/755custom field caching is not group-specific2022-10-16T05:04:37Zlcdwebcustom field caching is not group-specificCRM_Core_BAO_CustomField::getCustomFieldID() is used to retrieve custom field IDs based on the name/label of the field. But it caches these values based solely on the field name. That's problematic because field name uniqueness is only r...CRM_Core_BAO_CustomField::getCustomFieldID() is used to retrieve custom field IDs based on the name/label of the field. But it caches these values based solely on the field name. That's problematic because field name uniqueness is only required per custom group. Fields could exist in different groups with the same name and/or label, resulting in this method returning the wrong custom ID.https://lab.civicrm.org/dev/core/-/issues/756Error on Contributions tab with soft credits in multiple currencies2019-02-28T05:28:10ZdavisagliError on Contributions tab with soft credits in multiple currencieshttps://github.com/civicrm/civicrm-core/commit/5fb64d515190821c017c6ea8d3ffcf148bcb9f6f added an explicit check for valid currency codes in the crmMoney smarty plugin.
In CiviCRM 5.10.4 I'm getting this error "Invalid currency "CAD, USD...https://github.com/civicrm/civicrm-core/commit/5fb64d515190821c017c6ea8d3ffcf148bcb9f6f added an explicit check for valid currency codes in the crmMoney smarty plugin.
In CiviCRM 5.10.4 I'm getting this error "Invalid currency "CAD, USD" when trying to view the contributions for a contact with soft credits in multiple currencies. Viewing the source, it's actually a non-breaking space between the two currency codes. I think that's coming from here: https://github.com/civicrm/civicrm-core/blob/master/CRM/Contribute/BAO/ContributionSoft.php#L2835.11https://lab.civicrm.org/dev/core/-/issues/757Viewing Contact Note comments is broken in 5.10.42019-02-28T06:16:40ZkenViewing Contact Note comments is broken in 5.10.4When I look at the Notes tab on a Contact record I see a caret next to Notes that have Comments.
On earlier versions, clicking that icon opened or closed the comments. In version 5.10.4 it does nothing.
Commit https://github.com/civic...When I look at the Notes tab on a Contact record I see a caret next to Notes that have Comments.
On earlier versions, clicking that icon opened or closed the comments. In version 5.10.4 it does nothing.
Commit https://github.com/civicrm/civicrm-core/commit/57abcbbf5cf85b1266377e0ad9af4fb5865d5bc0 changed the file templates/CRM/Contact/Page/View/Note.tpl so the pattern for ID attributes of TR elements. The pattern was "cnote_{$note.id}" and is now "Note-{$note.id}". The javascript on that page is still expecting the old pattern.5.11https://lab.civicrm.org/dev/core/-/issues/758Contribution receipts and event confirmations are "From: 99999"2019-02-28T19:59:09ZkenContribution receipts and event confirmations are "From: 99999"In 5.10.4, when I edit a Contribution to resend a contribution receipt, the email's FROM header is wrong.
It should be "From: My Name <me@example.com>" but is "From: NNNNN" where NNNNN is the ID of the civicrm_email selected to send from.In 5.10.4, when I edit a Contribution to resend a contribution receipt, the email's FROM header is wrong.
It should be "From: My Name <me@example.com>" but is "From: NNNNN" where NNNNN is the ID of the civicrm_email selected to send from.https://lab.civicrm.org/dev/core/-/issues/759Mail log confusing - looks like emails are being sent with 2 "To" headers2022-10-05T05:03:35ZkenMail log confusing - looks like emails are being sent with 2 "To" headersIn 5.10.4, the mail log is confusing. It makes it look like the email has 2 "To" headers.
Here's a redacted example ...
**To: donor@example.com**
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="=_xxxxxxxxxxxxx"
Fr...In 5.10.4, the mail log is confusing. It makes it look like the email has 2 "To" headers.
Here's a redacted example ...
**To: donor@example.com**
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="=_xxxxxxxxxxxxx"
From: Us <us@example.com>
**To: Donor Name <donor@example.com>**
Subject: Receipt - Donating via credit card
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Return-Path: us@example.com
Date: Wed, 27 Feb 2019 09:07:39 +1100
Message-ID: <civicrm_xxxxx.xxxx@example.com>https://lab.civicrm.org/dev/core/-/issues/760"Access denied" when updating a recurring contribution2023-05-01T05:03:21Zken"Access denied" when updating a recurring contributionIn 5.10.4, when I make a recurring contribution, the receipt sent to me includes a link to update the recurring contribution.
As an anonymous user, when I click on that link, I get an access denied message ("Ensure you are still logged ...In 5.10.4, when I make a recurring contribution, the receipt sent to me includes a link to update the recurring contribution.
As an anonymous user, when I click on that link, I get an access denied message ("Ensure you are still logged in and have permission to access this feature"). Sometimes this prevents me updating the contribution (the form is read only) and other times I can edit it.
The URL in the email is https://example.com/civicrm/contribute/updaterecur?reset=1&coid=xxxxx&cs=xxxxxxxxxxxxx_xxxxxxx_inf
The URL which throws the 403 is https://example.com/civicrm/custom?type=ContributionRecur&entityID=xxx&qf=xxxxxx_xxxx&action=2&cgcount=1&snippet=jsonhttps://lab.civicrm.org/dev/core/-/issues/761Receipt date not updated when re-generating receipts2022-10-07T05:03:47ZandrewcormickdockeryReceipt date not updated when re-generating receiptsReproduced on Civi 5.10.3 - on demo sites as well.
1. Contributions/Find Contributions
2. Select at least one contribution
3. In the Actions dropdown, choose "Receipts - print or email"
4. Select either PDF or email mode, and ensure "Up...Reproduced on Civi 5.10.3 - on demo sites as well.
1. Contributions/Find Contributions
2. Select at least one contribution
3. In the Actions dropdown, choose "Receipts - print or email"
4. Select either PDF or email mode, and ensure "Update receipt dates for these contributions" is checked (which it is by default)
5. Click "Process Receipt(s)"
6. Go back to the original contribution, check receipt date, it won't have changed. Expect: changed to today's date.https://lab.civicrm.org/dev/core/-/issues/762Financial transaction does not respect Payment Method when marking a contribu...2022-10-12T05:04:02ZguanhuanFinancial transaction does not respect Payment Method when marking a contribution as Completed**How it currently works**
Tested in the latest CiviCRM.
When marking a contribution to "Completed", a financial transaction is created. The transaction picks the default financial account as its debit account rather than taking the as...**How it currently works**
Tested in the latest CiviCRM.
When marking a contribution to "Completed", a financial transaction is created. The transaction picks the default financial account as its debit account rather than taking the asset account assigned to the payment method specified in the contribution.
For example:
- payment method **Credit Card** has **1210 Credit Card Bank** assigned to it
- CiviCRM has **1200 Payment Processor Account** set as default account
- A pending contribution has payment method set to **Credit Card**
When editing the contribution and changing its status to **Completed**, a payment financial transaction is created and its debit account is **1200 Payment Processor Account**.
**How is should work**
When a contribution is marked as "Completed" in the back office forms without using a payment processor, the financial transaction should use the account assigned to the contribution payment method as its debit account.
For example:
- payment method **Credit Card** has **1210 Credit Card Bank** assigned to it
- CiviCRM has **1200 Payment Processor Account** set as default account
- A pending contribution has payment method set to **Credit Card**
When editing the contribution and changing its status to **Completed**, a payment financial transaction is created and its debit account should be **1210 Credit Card Bank**.Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/763Report Shows Wrong Count When Grouping Results2022-10-06T05:03:20ZmichaelReport Shows Wrong Count When Grouping ResultsSteps to reproduce:
- Create a new custom group for contacts
- Create a new custom field using "alphanumeric" and "select"
- Create a new set of options using some string labels and (default) int values
- Make it active and searchable, ...Steps to reproduce:
- Create a new custom group for contacts
- Create a new custom field using "alphanumeric" and "select"
- Create a new set of options using some string labels and (default) int values
- Make it active and searchable, then save
- Add some contacts with the different custom field options, or edit existing ones
- Go to Reports > Contact Reports
- Choose "Constituent Summary"
- Add your new custom field to the "Columns"
- In "Sorting" choose your new custom field, and select "Section Header / Group By"
- Click "Refresh Results"
- The count for each section does not appear, there is nothing in the parentheses where it usually displays
![image](/uploads/1c56f04a6b0140163f481d37c589f93b/image.png)https://lab.civicrm.org/dev/core/-/issues/764"This site can't be reached" error message2019-10-13T18:21:24Zteshale.wesene"This site can't be reached" error messageHi there,
I'm getting the above error message whenever I try to print mailing labels for clients. I've attached here a picture of the error message and I'd greatly appreciate it if you could please help me resolve this issue.
![Print_Ma...Hi there,
I'm getting the above error message whenever I try to print mailing labels for clients. I've attached here a picture of the error message and I'd greatly appreciate it if you could please help me resolve this issue.
![Print_Mailing_List_Error_Message](/uploads/eb69f6f7c98cb1395c906e4449e8831d/Print_Mailing_List_Error_Message.jpg)https://lab.civicrm.org/dev/core/-/issues/765KAM renders Menu unreadable in WP2019-02-28T03:05:58ZkcristianoKAM renders Menu unreadable in WPOn [wp master demo](https://wpmaster.demo.civicrm.org) the CiviCRM menu has bad color contrast. It's basically unreadable.
![image](/uploads/b87a0797454a829baa6e4ec7752b756a/image.png)
This is very different from either 5.11-rc or 5....On [wp master demo](https://wpmaster.demo.civicrm.org) the CiviCRM menu has bad color contrast. It's basically unreadable.
![image](/uploads/b87a0797454a829baa6e4ec7752b756a/image.png)
This is very different from either 5.11-rc or 5.10.x with the KAM extension
![image](/uploads/1b005370d68d466d880addcd8110415e/image.png)
@colemanw Can you take a look at this?https://lab.civicrm.org/dev/core/-/issues/766New Event using a template - clicking "Continue" doesn't save custom data2022-04-22T16:22:26ZkenNew Event using a template - clicking "Continue" doesn't save custom dataWhen creating a New Event from an Event Template, and entering custom data for the event, hitting "Continue" doesn't save the custom data. This happens for me on 5.10.4, on the CiviHosting demo which is running 5.10.0, and the CiviCRM Sa...When creating a New Event from an Event Template, and entering custom data for the event, hitting "Continue" doesn't save the custom data. This happens for me on 5.10.4, on the CiviHosting demo which is running 5.10.0, and the CiviCRM Sandbox running 5.12.alpha1.
**How to reproduce**
1. Add a custom field to Event entities
2. Click _Events > New event_
3. Choose an Event Template
4. Enter the mandatory fields _and_ the custom data
5. Click _Continue_
6. Reload the page to force CiviCRM to fetch the event from the database
7. Visit the _Info and Settings_ tab
8. The custom data is unset
**Hint**
In my debugger I had a breakpoint in my implementation of _hook_civicrm_pre()_ and this didn't trigger when _Continue_ was pressed, but did when _Save_ or _Save and Done_ were pressed. If _Continue_ bypasses _pre()_ then perhaps it skips the Custom Data too?5.39.0https://lab.civicrm.org/dev/core/-/issues/767Add 'Cancelled / Refunded Date' and 'Cancellation / Refund Reason' in the Det...2019-03-04T13:47:10ZGhost UserAdd 'Cancelled / Refunded Date' and 'Cancellation / Refund Reason' in the Detail Contributions ReportAdd the fields and filters 'Cancelled / Refunded Date' and 'Cancellation / Refund Reason' in the Detail Contributions Report.Add the fields and filters 'Cancelled / Refunded Date' and 'Cancellation / Refund Reason' in the Detail Contributions Report.yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/768Fatal error on group search2019-03-01T07:29:18ZjitendraFatal error on group searchTo replicate quickly
- Navigate to Search builder
- Search for Contact => Groups => IS NULL. On submit, you'll get the following error.
![image](/uploads/8c4db45f3cfc58c8ae419dc5dc23fcea/image.png)
We've also seen this error on conta...To replicate quickly
- Navigate to Search builder
- Search for Contact => Groups => IS NULL. On submit, you'll get the following error.
![image](/uploads/8c4db45f3cfc58c8ae419dc5dc23fcea/image.png)
We've also seen this error on contact summary page => Groups tab on one of the client site, but not sure what exact cases need to be true to see the error.
![image](/uploads/a477c9825e123ef4584851023a18cc93/image.png)
Seems related to changes made in https://github.com/civicrm/civicrm-core/commit/0cf0a3f39283cac6b7c45a059ffba09621e813e35.11https://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/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/771Smart group with uf_group_id does not load contacts with same search profile2019-03-18T02:47:02ZjitendraSmart group with uf_group_id does not load contacts with same search profileSteps to reproduce -
- Create a search profile adding some basic fields `first name`, last name and email.
- Open Advanced Search form, select this profile and add some filters.
- create a smart group of the resulted contacts.
- When yo...Steps to reproduce -
- Create a search profile adding some basic fields `first name`, last name and email.
- Open Advanced Search form, select this profile and add some filters.
- create a smart group of the resulted contacts.
- When you come back from the process after clicking the `Done` button on the last screen, the profile is not pre-selected by default.
- `uf_group_id` is not stored as a formvalue in `civicrm_saved_search` table.5.13.0jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/772Warnings on importing contacts - PHP 7.22019-12-25T22:06:45ZsbyrneWarnings on importing contacts - PHP 7.2While importing contacts from a CSV file, seeing the following on hitting "Continue" immediately following file upload:
```
Warning: count(): Parameter must be an array or an object that implements Countable in HTML_QuickForm_hierselect...While importing contacts from a CSV file, seeing the following on hitting "Continue" immediately following file upload:
```
Warning: count(): Parameter must be an array or an object that implements Countable in HTML_QuickForm_hierselect->setValue() (line 262 of ...civicrm/packages/HTML/QuickForm/hierselect.php).
Warning: count(): Parameter must be an array or an object that implements Countable in HTML_QuickForm_hierselect->setValue() (line 262 of ...civicrm/packages/HTML/QuickForm/hierselect.php).
Warning: count(): Parameter must be an array or an object that implements Countable in HTML_QuickForm_hierselect->setValue() (line 262 of ...civicrm/packages/HTML/QuickForm/hierselect.php).
Warning: count(): Parameter must be an array or an object that implements Countable in HTML_QuickForm_hierselect->setValue() (line 262 of ...civicrm/packages/HTML/QuickForm/hierselect.php).
```
Using the following settings if this helps replicate (everything else set at default:
* First Row Contains Column headers on
* Duplicate contacts set to fill
* Dedupe rule checking name and address
* Geocoding address on import5.18.0eileeneileenhttps://lab.civicrm.org/dev/core/-/issues/773Proposal: Don't allow deleting custom fields that are used in a smart group2022-11-07T05:03:58ZJonGoldProposal: Don't allow deleting custom fields that are used in a smart groupI'm inspired by [this SE question](https://civicrm.stackexchange.com/questions/28713/how-to-troubleshoot-expected-one-customfield-but-found-0-error/28731). I can't think of a reason why we'd allow someone to delete a custom field used i...I'm inspired by [this SE question](https://civicrm.stackexchange.com/questions/28713/how-to-troubleshoot-expected-one-customfield-but-found-0-error/28731). I can't think of a reason why we'd allow someone to delete a custom field used in a smart group. The downside is we'd need to use an unindexed search on `civicrm_saved search` (e.g. `LIKE %"custom_1"%`) but I'm guessing that most folks don't have thousands of smart groups, and this would happen fairly infrequently.https://lab.civicrm.org/dev/core/-/issues/774Changing the LABEL for a relationship type causes an error when creating a ne...2019-11-07T03:35:25ZDaveDChanging the LABEL for a relationship type causes an error when creating a new case that has that relationship/role set as CreatorTo reproduce, and I can reproduce this on dmaster.demo.civicrm.org:
1. Look in a case type definition to see which role is checked as "assign to creator".
2. Under admin - customize data - relationship types, change the label(s) for the ...To reproduce, and I can reproduce this on dmaster.demo.civicrm.org:
1. Look in a case type definition to see which role is checked as "assign to creator".
2. Under admin - customize data - relationship types, change the label(s) for the relationship type to something else.
3. Create a new case with the given case type.
4. Fatal error.
**It seems to ultimately come from here, where it looks up LABEL instead of NAME:
https://github.com/civicrm/civicrm-core/blob/master/CRM/Case/XMLProcessor.php#L114**
The allRelationshipTypes() function seems to only be used in two places, and both seem to be trying to match on label when it should be name, so the fix is probably just change 'label' to 'name'.
But then I'm wondering if any existing configs that depend on label will suddenly break, and taking a step back, this label vs name mismatch has come up a few times over the years in a few places so I'm wondering if fighting it is just postponing the problem. But maybe that should be a separate issue: i.e. if "name" was an integer or goofy string, or the field were named something like "key", a recurrence of the problem would be more obvious.5.20.0https://lab.civicrm.org/dev/core/-/issues/775Event registration being cancelled when IPN notification received2022-10-30T05:03:27Zvakeesan26Event registration being cancelled when IPN notification receivedWhen we use IPN [eg: Sage-pay] payment processor for event, If user click browser back button after reaching payment website and then confirm again CiviCRM creating new contribution for same participant record.
In this case after user co...When we use IPN [eg: Sage-pay] payment processor for event, If user click browser back button after reaching payment website and then confirm again CiviCRM creating new contribution for same participant record.
In this case after user completing the latest contribution successfully, few minutes later payment processor sending the cancelled notification for previous contribution [The Transaction timed-out.]
now the participant record also being cancelled because of that contribution is updated as cancelled.
![image](/uploads/eb57b13e0fdb5ddfdae39697bdd14895/image.png)
CiviCRM 5.10.4
CMS - Drupal - 7
Steps
1) Configure IPN Payment processor
![image](/uploads/3c103603e49d10001296dbfd2229fadc/image.png)
2) Register the event
![image](/uploads/2ac513a52dcba0dbdf5cd097f7f139c7/image.png)
3) Confirm the registration
![image](/uploads/4f25367935bf0c44972981c10bc0101c/image.png)
4) Click browser back button
![image](/uploads/e7bf60903a6ce91b73500ec4c371726e/image.png)
5) Click Go Back button
![image](/uploads/c42e4286e1078ed17a5ca7d2c315c275/image.png)
6) Again continue & confirm the registration
![image](/uploads/1fb4990faffce58bf0e3d8b79475bfb1/image.png)
7) Now we will have 2 contribution against one participant record [ one completed , one pending incomplete]
![image](/uploads/cb5f1873af5f5b84162ce30a74a556fe/image.png)
8) we will receive the "cancelled" notification from payment processor few minutes later [ The Transaction timed-out.]
To reproduce this step we can manually cancel the Pending incomplete transaction contribution
![image](/uploads/85c7bac67c5d4ee6c39d5d85ff8028a9/image.png)
9) Now event registration will be cancelled
![image](/uploads/7a3a52dfc4b400acf09e1be95b9f8bc1/image.png)https://lab.civicrm.org/dev/core/-/issues/776Can't print participant image in name badge2022-10-07T05:03:46ZeileenCan't print participant image in name badgehttps://civicrm.stackexchange.com/questions/28757/cant-print-participant-image-in-name-badgehttps://civicrm.stackexchange.com/questions/28757/cant-print-participant-image-in-name-badgehttps://lab.civicrm.org/dev/core/-/issues/777Contact ID column is not shown in the report Repeat results2023-02-06T07:53:29ZGhost UserContact ID column is not shown in the report Repeat resultsWhen you select the column 'Contact ID' it doesn't show in the report results.
![Contact_ID_doesn_t_show_on_Repeat](/uploads/457e815634fb568aaf005582ae7c932b/Contact_ID_doesn_t_show_on_Repeat.png)When you select the column 'Contact ID' it doesn't show in the report results.
![Contact_ID_doesn_t_show_on_Repeat](/uploads/457e815634fb568aaf005582ae7c932b/Contact_ID_doesn_t_show_on_Repeat.png)https://lab.civicrm.org/dev/core/-/issues/778Sales tax and Vat issue within memberships - membership fee increases incorre...2021-02-23T00:47:09ZgibsonoliverSales tax and Vat issue within memberships - membership fee increases incorrectly when the membership has an errorWhen sales tax is enabled (as per https://docs.civicrm.org/user/en/latest/contributions/sales-tax-and-vat/) there is an issue.
- Tax and invoicing is enabled
- A sales tax financial account type has been created
- This new financial acco...When sales tax is enabled (as per https://docs.civicrm.org/user/en/latest/contributions/sales-tax-and-vat/) there is an issue.
- Tax and invoicing is enabled
- A sales tax financial account type has been created
- This new financial account type has been assigned to the Member Dues financial type (so all memberships have the sales tax applied).
If you then add a new membership via the CRM member menu.
Then assign it to a contact, choose a membership type (which has a fee) and create an error deliberately (e.g. choose a membership end date before the start date).
The membership fee will then change upwards automatically to an incorrect amount.
And if you try to save the membership again with a deliberate error the membership price increases again. An again etc.
This has been recreated on the CiviCRM sandbox demo and I've attached a screenshot of a $100 membership price increasing.![Capture](/uploads/33f62e932c022d0efa680524e492332b/Capture.PNG)5.36.0https://lab.civicrm.org/dev/core/-/issues/779Support token for participant id in scheduled reminder2021-10-12T02:22:06ZyashodhaSupport token for participant id in scheduled reminderCurrently, the participant id token is not available for scheduled reminder.
This is especially useful if the user need to be sent Self-service Registration Update forms
https://yoursite/civicrm/event/selfsvcupdate?reset=1&pid=xCurrently, the participant id token is not available for scheduled reminder.
This is especially useful if the user need to be sent Self-service Registration Update forms
https://yoursite/civicrm/event/selfsvcupdate?reset=1&pid=x5.43.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/780Participant tokens are missing for pdf letters2021-10-12T02:43:07ZwdecraeneParticipant tokens are missing for pdf lettersThis was added before, but in the recent versions (don't know which version), it is not possible to select and use them. Patch attached should solve this.
[add-participant-tokens-to-pdf-letters.patch](/uploads/404f69f9224b70ba7be4bcd1b5...This was added before, but in the recent versions (don't know which version), it is not possible to select and use them. Patch attached should solve this.
[add-participant-tokens-to-pdf-letters.patch](/uploads/404f69f9224b70ba7be4bcd1b529e079/add-participant-tokens-to-pdf-letters.patch)5.43.0https://lab.civicrm.org/dev/core/-/issues/781Contact Display Name vs Email Greeting in Workflow templates2019-10-23T20:22:53ZMichael LabriolaContact Display Name vs Email Greeting in Workflow templatesI noticed that some of the workflow templates use contact.display_name in the greeting and some of them use contact.email_greeting. It would make sense to me that they all use contact.email_greeting. From what I can tell these template...I noticed that some of the workflow templates use contact.display_name in the greeting and some of them use contact.email_greeting. It would make sense to me that they all use contact.email_greeting. From what I can tell these templates are part of civicrm_generated.mysql file, which is quite large. I created a fork and updated the several places where display_name is still being used. Is submitting a merge request something a general user can do here?
Thanks!5.20.0https://lab.civicrm.org/dev/core/-/issues/782CiviMail not showing proper groups for multisite2022-03-03T16:30:51ZandyburnsCiviMail not showing proper groups for multisiteBecause groups are not tied to a domain, they are accessible to anyone. This means 1) they see groups that are irrelevant to them and 2) in CiviMail send mailings out to records who are not within their ACL control via this extension: ht...Because groups are not tied to a domain, they are accessible to anyone. This means 1) they see groups that are irrelevant to them and 2) in CiviMail send mailings out to records who are not within their ACL control via this extension: https://civicrm.org/extensions/multisite-permissioning.
This leads to the question, how do we get more entities to be domain specific? There are some listed on the old documentation as desirable here: https://wiki.civicrm.org/confluence/display/CRMDOC/Multisites%2C+Multidomain%2C+and+Multilevel+ACLs#Multisites,Multidomain,andMultilevelACLs-FunctionalSeparationinMultisite, groups is not.https://lab.civicrm.org/dev/core/-/issues/783CiviMail group segementation on multisite2022-03-03T16:22:04ZandyburnsCiviMail group segementation on multisiteOverall, the mailer doesn't take into account the current users ACL. As an example it should look at the group to be mailed to (e.g. Volunteers) and then have an AND clause of the users ACL to limit the contacts it can mail to in the gro...Overall, the mailer doesn't take into account the current users ACL. As an example it should look at the group to be mailed to (e.g. Volunteers) and then have an AND clause of the users ACL to limit the contacts it can mail to in the group. So if the group has 1000 records and my multisite domain group only has 100 records within it, I should be able to select the volunteers group and only be able to send to 100.
I also do not know if Civi can handle lots of regular groups: https://civicrm.stackexchange.com/questions/28790/email-segmentation-with-thousands-of-groups.
For chapter-based orgs, something along this is what is needed. You can see there would be tremendous redundancy if one had to re-create a group at each geographical level.
I wanted to get this down as an issue and start a conversation. I think this could be a candidate for an MIH if it was packaged as making multisite more complete.https://lab.civicrm.org/dev/core/-/issues/784Creating a new relationship type while editing case type definition adds a bl...2019-03-24T20:47:10ZDaveDCreating a new relationship type while editing case type definition adds a blank row in the roles sectionCame across this while working on dev/core#774. Making it a separate child issue (or trying to) since the cause is different and can reproduce separately on the public demo. The cause is that crmCaseType.js accesses data.relationshipType...Came across this while working on dev/core#774. Making it a separate child issue (or trying to) since the cause is different and can reproduce separately on the public demo. The cause is that crmCaseType.js accesses data.relationshipType.label_b_a as if it was an object member but it actually looks like data.relationshipType.19.label_b_a, where 19 is the newly created id.
By "new relationship type" I mean on the case type edit admin screen where you have the dropdown to add a role, if you start typing in the dropdown and it doesn't match an existing relationship type it gives you a "(new)" hint where you can click to create the new relationship type on the fly.5.13.0https://lab.civicrm.org/dev/core/-/issues/785Differentiate smart group from regular group using icon in select2 field2020-07-27T19:47:10ZMonish DebDifferentiate smart group from regular group using icon in select2 fieldCurrently there is no way to tell which group is smart or regular group from UI. It would be ideal to use icon against such smart group options to differentiate them from regular ones.Currently there is no way to tell which group is smart or regular group from UI. It would be ideal to use icon against such smart group options to differentiate them from regular ones.5.29.0Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/787Auto-complete search results not consistent with other searches2020-03-16T20:27:10ZyashodhaAuto-complete search results not consistent with other searchesAuto-complete (custom data on contacts) search results not consistent with other searches if the searched string has a space.
(check screenshot)![search](/uploads/8047fab578e9e63da65526701a88682d/search.png)
The quick search result is ri...Auto-complete (custom data on contacts) search results not consistent with other searches if the searched string has a space.
(check screenshot)![search](/uploads/8047fab578e9e63da65526701a88682d/search.png)
The quick search result is right and the auto-complete should also show 1 result only.5.25.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/788Warning: A non-numeric value encountered in ...2019-03-18T05:00:01ZwouterhWarning: A non-numeric value encountered in ...I've encountered warnings on contribution pages & event registrations
- Drupal8
- CiviCRM 5.10.4
- PHP 7.2.12
Warning: A non-numeric value encountered in CRM_Contribute_Form_Contribution_Main::formRule() (line 900 of /var/www/html/vendo...I've encountered warnings on contribution pages & event registrations
- Drupal8
- CiviCRM 5.10.4
- PHP 7.2.12
Warning: A non-numeric value encountered in CRM_Contribute_Form_Contribution_Main::formRule() (line 900 of /var/www/html/vendor/civicrm/civicrm-core/CRM/Contribute/Form/Contribution/Main.php).
Warning: A non-numeric value encountered in CRM_Event_Form_Registration_Register->postProcess() (line 1146 of /var/www/html/vendor/civicrm/civicrm-core/CRM/Event/Form/Registration/Register.php).
```
if ($self->_paymentProcessor &&
$self->_paymentProcessor['billing_mode'] & CRM_Core_Payment::BILLING_MODE_BUTTON
) {
```
```
elseif ($this->_paymentProcessor &&
$this->_paymentProcessor['billing_mode'] & CRM_Core_Payment::BILLING_MODE_NOTIFY
) {
```
![788](/uploads/6ce88a0bf5059e65b381841b42b1fdf2/788.png)5.13.0https://lab.civicrm.org/dev/core/-/issues/789Event reg error when skipping additional contacts2019-03-18T00:07:09ZMartinEvent reg error when skipping additional contactsWe recently encountered a bug under some fairly specific conditions:
* Doing an event registration
* Multiple participants enabled
* User select >1 participant
* On one of the subsequent participants, chooses the "skip" option
* Att...We recently encountered a bug under some fairly specific conditions:
* Doing an event registration
* Multiple participants enabled
* User select >1 participant
* On one of the subsequent participants, chooses the "skip" option
* Attempts to pay using a real credit card on a live payment gateway (in our case using the iATS extension)
This was on Civi 5.9.1 with Drupal 7.63.
In this situation, we found the following error:
> Warning: Invalid argument supplied for foreach() in CRM_Event_Form_Rgistration_Confirm->cleanMoneyFields() (line 1357 of [drupal root]/sites/all/modules/civicrm/CRM/Event/Form/Registration/Confirm.php).
Creating a pull request to fix in progress. I'm confused though, is the codebase here or on github??5.13.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/791Multiple form submits on contribution pages2022-10-08T05:03:33ZMartinMultiple form submits on contribution pagesThere have been 2 times (and possible more) where contribution pages have submitted more than once when a user filled them out. These have both been (on different pages) for a membership renewal using the "pay later" option. In one case ...There have been 2 times (and possible more) where contribution pages have submitted more than once when a user filled them out. These have both been (on different pages) for a membership renewal using the "pay later" option. In one case there were about 6 contributions created, and 12 in the other.
This is what is showing in the apache log (edited to remove site info / ips, and removing css, etc):
`
[06/Mar/2019:14:37:19 +0000] "GET /civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605 HTTP/1.1" 200 23469 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
[06/Mar/2019:14:37:40 +0000] "GET /civicrm/ajax/l10n-js/en_US?r=0n8f3 HTTP/1.1" 200 2689 "https://mywebsite.com/civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
[06/Mar/2019:14:39:15 +0000] "GET /civicrm/payment/form?formName=Main¤cy=CAD&&is_back_office=&id=7&processor_id=0&cid=605&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&payment_instrument_id=undefined&snippet=json HTTP/1.1" 200 2046 "https://mywebsite.com/civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
[06/Mar/2019:14:39:21 +0000] "POST /civicrm/contribute/transact HTTP/1.1" 302 619 "https://mywebsite.com/civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
[06/Mar/2019:14:39:21 +0000] "POST /civicrm/contribute/transact HTTP/1.1" 302 619 "https://mywebsite.com/civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
[06/Mar/2019:14:39:21 +0000] "POST /civicrm/contribute/transact HTTP/1.1" 302 619 "https://mywebsite.com/civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
[06/Mar/2019:14:39:21 +0000] "POST /civicrm/contribute/transact HTTP/1.1" 302 619 "https://mywebsite.com/civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
[06/Mar/2019:14:39:21 +0000] "POST /civicrm/contribute/transact HTTP/1.1" 302 619 "https://mywebsite.com/civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
[06/Mar/2019:14:39:21 +0000] "POST /civicrm/contribute/transact HTTP/1.1" 500 900 "https://mywebsite.com/civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
`
The following is in the apache error log:
`
[Wed Mar 06 14:40:25.937577 2019] [core:error] End of script output before headers: index.php, referer: https://mywebsite.com/civicrm/contribute/transact?reset=1&id=7&cs=114dc355fb504a48dddf1d51450c4a2d_1551882710_168&cid=605
`
The site has the Stripe and CiviDiscount extensions enabled.
Any help is much appreciated!https://lab.civicrm.org/dev/core/-/issues/792Contributions not recording if selected membership is "none" when using a mem...2019-09-11T09:27:07ZbrianhContributions not recording if selected membership is "none" when using a membership pricesetRelated issue on Jira: https://issues.civicrm.org/jira/browse/CRM-21703
**Description**
Contributions are not recording if a user chooses not to sign up for a membership but still makes a contribution. It appears like there is no record...Related issue on Jira: https://issues.civicrm.org/jira/browse/CRM-21703
**Description**
Contributions are not recording if a user chooses not to sign up for a membership but still makes a contribution. It appears like there is no record anywhere, not in the payment processor, nor civi, nor is the submitter charged on their credit card.
**Expected**
To be able to select "none" for membership and:
* submitter to receive an email confirming the contribution
* admins see a contribution recorded in CiviCRM
* admins see a contribution recorded in the payment processor's records
* submitter to be charged on their credit card
**What happens**
The submitter makes it all the way to the Thank You Page and sees a message like "Your contribution has been submitted to Test Processor for processing." but otherwise the Thank You Page looks the same as a normal successful contribution.
* No email is sent
* No contribution is recorded in civi or payment processor's records
* Submitter is not charged
**Reproducing**
This is reproducible on the demo site. I created a contribution page which can be found here:
https://dmaster.demo.civicrm.org/civicrm/contribute/transact?reset=1&action=preview&id=4
* Create a Membership Priceset with membership options as radios, set to *not* required.
* Add in some amount radios.
* Create a contribution page with no amount section and only the membership priceset.
* In Test or Live mode, make a contribution and select "none" for the membership.
* Check the contact's contribution record, nothing is there :(5.19.0https://lab.civicrm.org/dev/core/-/issues/793Improve administrative experience for managing/upgrading bundled extensions2023-12-11T05:03:27ZtottenImprove administrative experience for managing/upgrading bundled extensionsBackground
----------
The canonical release of CiviCRM now includes a couple extensions (e.g. `org.civicrm.api4` and `com.iatspayments.civicrm`). The business-need for distributing bundled extensions will continue to grow as we progress...Background
----------
The canonical release of CiviCRM now includes a couple extensions (e.g. `org.civicrm.api4` and `com.iatspayments.civicrm`). The business-need for distributing bundled extensions will continue to grow as we progress on "leap by extension".
Problem
-------
Suppose we have a process like this:
1. Administrator Alice downloads/installs CiviCRM 5.0 with a bundled copy of an extension, APIv4 (4.0.0).
2. Developer Bob publishes a new version of APIv4 (4.0.1).
3. Alice sees APIv4 (4.0.1) and upgrades it.
4. Bob publishes another version of APIv4 (4.1.0).
5. The next version of CiviCRM (5.1.0) is released. It bundles APIv4 (4.1.0).
6. Alice installs CiviCRM (5.1.0). It includes APIv4 (4.1.0), but Alice's system still uses APIv4 (4.0.1).
The situation should be resolvable by either removing or upgrading Alice's extra copy of APIv4 (4.0.1) stored in the site's customizable `extensionsDir` (e.g. `$WEBROOT/sites/default/files/civicrm/ext`).
However, the situation can be confusing (leading to support requests). This particularly true if there are any intertwined dependencies.
Analysis
--------
Why does this happen? Well, CiviCRM loads extensions from a list of *prioritized layers*:
* (E1) Extensions installed by the web-based administrator in the customizable extensionsDir (e.g. `$WEBROOT/sites/default/files/civicrm/ext`).
* (E2) Extensions installed with the CiviCRM bundle (e.g. `$WEBROOT/sites/all/modules/civicrm`).
* (E3) Extensions installed in site's master composer project (e.g. `$WEBROOT/vendor`).
When Alice (step 3) downloads any extension manually (whether upgrade or anew), it goes into the first layer E1. The version she specifically downloads will always take precedence over any versions in layer E2/E3.
Generally, this prioritization is a result of two opinions that:
* Web-administrators tend to be "closer to the ground" on the goal/situation for a particular site -- their upstream providers (e.g. civicrm.org and/or saas/partner) are more disconnected. Therefore, *if* the admin forms an opinion about what version to run, then it should take precedence.
* Only one of those layers (the first) tends to be writable at run-time. This may be a general security prophylactic, or it may specifically be a protection in multitenant deployments.
Those opinions are valid in many cases, but they are certainly not universal. For example:
* Many web-based administrators are only casually engaged (e.g. they're not tracking the nitty-gritty of each release every day), and many don't really *want* to think about the versions of each extension. They may not realize their upgrade today causes them to take greater ownership over future upgrades.
* Many WordPress and Joomla builds are usually web-writeable, which means that they are not confined to the customizable `extensionsDir` -- one can put upgraded code in any location desired/appropriate/necessary.
Possible Resolutions
--------------------
There are several possible ways to resolve this. The choice is an *ambiguous question* -- none is stand-out obvious winner; each option involves a trade-off which has some impact on the developer-experience/administrator-experience and which will likely be good and bad for different groups of people. However, to resolve the ambiguous question, it may help to list the possible resolutions:
* **REORDER**: Change the order of the layers -- put the custom folder (E1) below the others (E2/E3).
* **Strengths**: It is probably the simplest change (i.e. the explanation and implementation are both short).
* **Challenges**: It inhibits the ability of site-owners to act as testers and early-adopters on those extensions. Also, when it goes live, it may cause unexpected changes for sites who have tried to manage these extensions on their own.
* **BLOCK**: In step 3, block Alice from upgrading the extension. She may only upgrade an extension if it's stored in E1. If an extension is provided by another layer (E2/E3), then prohibit downloads/upgrades that would go into E1. Provide messaging to indicate why upgrades aren't allowed.
* **Strength**: This tightens the general shape of deployments across the ecosystem, which would be an overall simplification that makes it easier to reason about the system.
* **Challenges**: It inhibits the ability of site-owners to act as testers and early-adopters on those extensions. It also puts a greater responsibility on upstream bundler to issue a new bundle whenever one if its constituent parts has a critical fix.
* **ADVISE**: After step 3, the "Manage Extensions" screen (and possibly the status-check screen) should display a notice indicating that an extension is overridden. The administrator still has the prerogative here, but the app should try harder to educate/inform them about the consequences/responsibilities.
* **Strength**: This is the most backward-compatible resolution -- it doesn't change the real behavior, so no one can accuse of breaking anything.
* **Challenges**: The underlying situation (multiple copies of the same extension) can be confusing, and we're giving more of a blessing. That may lead to questions like "what order should I apply upgrades in?" for which there may not be a simple+generic answers.
* **UPGRADE-IN-PLACE**: In step 3, allow Alice to upgrade the extension. However, the upgrade should **not** go into the extension folder -- it should replace the existing code (wherever that may be). If the folder is not writeable, display a warning with advice on how to make it writeable/upgradeable.
* **Strength**: Most people reading the user-interface (but without any expertise in CMS+Civi file-structures) would probably expect this behavior.
* **Challenges**: The extensions can live in spaces which we don't "own" (like E3 - `$WEBROOT/vendor`). It's a bit scary to automatically delete a whole file-tree if we haven't traditionally "owned" that part of the filesystem. Also, if Alice in step 3 had upgraded really far ahead (APIv4 4.3.beta1), then the upgrade in step 6 would revert her system to 4.2.0.
* **DEFER => COMPOSER**: This issue reflects only one of several edge-cases in managing dependencies for a build. Don't spend any more time trying to solve this one scenario -- instead, focus energy on adopting a more powerful build system like `composer`, where their documentation/workflows/UIs address the various edge-cases.
* **Strength**: More comprehensive approach. More "industry standard".
* **Challenges**: Generally, longest process of any of this list. Most extensions aren't currently accessible via `composer` (although there's a [proof-of-concept bridge](https://github.com/totten/comex)). `composer` is primarily a CLI tool, and it's not currently widely deployed among Civi sites, so adoption will be an undertaking.
* **VERSION-PRECEDENCE**: Continue to allow extension code to be stored in all these locations. However, change prioritization -- it doesn't matter *where* the extension is stored. It only matters *what the version number* is. Highest local version wins.
* **Strength**: This also feels intuitive to me.
* **Challenges**: During the life of an extension, the absolute URL+path of its assets may fluctuate. For some use-cases (where hyperlinks and paths are integrated with another system or stored as content), this could cause problems.https://lab.civicrm.org/dev/core/-/issues/794Expose address name in the invoice templates2022-10-09T05:03:32ZyashodhaExpose address name in the invoice templatesAllow *domain_address_name* to be used as address name in invoice template.Allow *domain_address_name* to be used as address name in invoice template.yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/795PHP Warning "explode() expects parameter 2 to be string, array given" for mul...2019-03-20T14:59:22ZVirenmagePHP Warning "explode() expects parameter 2 to be string, array given" for multi-value country fieldsI am getting above error while trying to save multiple country for agent profile. And when I search about this error I found that unnecessary use of explode() function on line 127. You can see more about on https://lab.civicrm.org/dev/co...I am getting above error while trying to save multiple country for agent profile. And when I search about this error I found that unnecessary use of explode() function on line 127. You can see more about on https://lab.civicrm.org/dev/core/issues/216 and code file
https://lab.civicrm.org/dev/core/blob/master/CRM/Core/BAO/CustomValueTable.php#L127
So according to me you need to ask to civiCRM team to comment line 127
$mulValues = explode(',', $value);
![error](/uploads/c124cf6618247c06ef570df0639f869c/error.png)5.13.0https://lab.civicrm.org/dev/core/-/issues/796Updating priceset when selected option is full2022-10-09T05:03:32ZwdecraeneUpdating priceset when selected option is fullYou want to edit as an admin the priceset of an participant, the option the participant selected is full.
![Schermafbeelding_2019-03-12_om_21.21.42](/uploads/4e6f018316f4f102805ad121f83f46d7/Schermafbeelding_2019-03-12_om_21.21.42.png)
...You want to edit as an admin the priceset of an participant, the option the participant selected is full.
![Schermafbeelding_2019-03-12_om_21.21.42](/uploads/4e6f018316f4f102805ad121f83f46d7/Schermafbeelding_2019-03-12_om_21.21.42.png)
You change the value to another option and save it.
![Schermafbeelding_2019-03-12_om_21.24.34](/uploads/cab5f64141209839934a3f517be84095/Schermafbeelding_2019-03-12_om_21.24.34.png)
After saving, the option did not change.
But, when you change the radio after the selected one it does save it.
Reason: behind the option which is selected and full, there is a hidden option field which is selected. When you select the option before this radio and post the form, the browser only post the last one (a radio field can only have one selected value). That is also the reason why the value is changed when you select the radio after the original one.
Solution ? No hidden/disabled options for admins? Should admins be able to override the max possibilities per participant?https://lab.civicrm.org/dev/core/-/issues/797KAM appearing on front-end under WordPress2019-03-13T12:54:12ZhaystackKAM appearing on front-end under WordPress@colemanw The KAM menu is appearing on the front-end when it shouldn't. See this form on the base page when logged in:
https://wpmaster.demo.civicrm.org/contribution-page/
Probably just a question of checking `$config->userFrameworkFro...@colemanw The KAM menu is appearing on the front-end when it shouldn't. See this form on the base page when logged in:
https://wpmaster.demo.civicrm.org/contribution-page/
Probably just a question of checking `$config->userFrameworkFrontend`https://lab.civicrm.org/dev/core/-/issues/798Prefix/suffix select2 renders oddly on public-facing pages2019-03-14T21:07:10ZJonGoldPrefix/suffix select2 renders oddly on public-facing pagesPrefix and suffix fields in contribution/event profiles render incorrectly on public-facing pages. See screenshot:
![Selection_823](/uploads/5d05559371fa6c062b2dad8ecd8c2901/Selection_823.png)
There are a couple of ways to fix, I'll do...Prefix and suffix fields in contribution/event profiles render incorrectly on public-facing pages. See screenshot:
![Selection_823](/uploads/5d05559371fa6c062b2dad8ecd8c2901/Selection_823.png)
There are a couple of ways to fix, I'll do whatever folks like best.
One is to fix `civicrm.css` here:
```css
.crm-container.crm-public .select2-container .select2-choice {
padding: 5px 5px 5px 8px;
height: auto;
}
```
Changing `height: auto` to `height: 26px` matches the backend `select2.css`. Other select2 widgets are unaffected because they have placeholder text. I could also add placeholder text to the default rendering of this widget, but I think the CSS fix makes more sense.
I'll submit a PR to continue this discussion.5.13.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/799While upgrading from CiviCRM 4.6 to 5.10.x , old smartgroups stopped refreshi...2020-07-13T02:47:16ZVangelisPWhile upgrading from CiviCRM 4.6 to 5.10.x , old smartgroups stopped refreshing contactsSteps to reproduce:
1) Save a smartgroup that was using eg. a customfield value on a CiviCRM 4.6.x environment
2) Migrate to the latest CiviCRM
3) Change a contact so that the change can reflect to that smartgroup
4) Do a simple search ...Steps to reproduce:
1) Save a smartgroup that was using eg. a customfield value on a CiviCRM 4.6.x environment
2) Migrate to the latest CiviCRM
3) Change a contact so that the change can reflect to that smartgroup
4) Do a simple search using this smartgroup. Contact should not appear. `drush cvapi job.group_rebuild` doesn't fix the issue.
Resolution:
We traced this down to the fact that old form values and in general saved search settings were not being converted to new form values during the upgrade process.
There are 2 possible solutions on this:
1) Open the smartgroup criteria, do a search and `update smartgroup`. This is efficient if there are not many smartgroups in the installation.
2) Include a fix during the upgrade process that will call in essence those lines:
```php
// Read the existing form values
$formValues = CRM_Contact_BAO_SavedSearch::getFormValues($SavedSearchId);
// Update saved search record.
$savedSearch = new CRM_Contact_BAO_SavedSearch();
$savedSearch->id = $SavedSearchId;
$savedSearch->form_values = serialize(CRM_Contact_BAO_Query::convertFormValues($formValues));
$savedSearch->save();
```
In our case, we followed this path:
1) We've made a custom API call to do a search for all smartgroups and then apply the above fix on each one of these.
2) Then we issued a `TRUNCATE TABLE civicrm_group_contact_cache`.
3) Lastly, we issued a `drush cvapi job.group_rebuild` to force a smartgroup rebuild.
It seems that it's fixing our issue.
Do you believe that the upgrader needs a patch to resolve this situation?https://lab.civicrm.org/dev/core/-/issues/800Allow operator as a parameter for Advanced Filter in auto-complete Contact Re...2022-10-10T05:03:25ZyashodhaAllow operator as a parameter for Advanced Filter in auto-complete Contact Reference fieldCurrently you can specify Advanced filters for auto-complete Contact Reference fields
> EXAMPLE: To list Students in group 3: "action=get&group=3&contact_sub_type=Student"
But if I want to search all contacts with `contact_sub_type ...Currently you can specify Advanced filters for auto-complete Contact Reference fields
> EXAMPLE: To list Students in group 3: "action=get&group=3&contact_sub_type=Student"
But if I want to search all contacts with `contact_sub_type != 'Student'`
I propose that we pass operator something like` contact_sub_type_op = 'neq'`
which would do the same. This is consistent with what we are doing in reports as well.https://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/802Unsubscribe message doesn't display consistently2022-10-10T05:03:26ZRoseLaniganUnsubscribe message doesn't display consistentlyWhen an individual unsubscribes from a mailing group, they get a standard message confirmation message that says they have been unsubscribed (see image 001). However, the message specified in the Headers, Footers and Automated Messages l...When an individual unsubscribes from a mailing group, they get a standard message confirmation message that says they have been unsubscribed (see image 001). However, the message specified in the Headers, Footers and Automated Messages list includes a link to resubscribe (image 002) that doesn't appear.
![image001](/uploads/737d703e38b8ec9a63b0baa549715a30/image001.jpg)
![image002](/uploads/457215465165297186362e2938ab07f8/image002.jpg)https://lab.civicrm.org/dev/core/-/issues/803Upgrade and vendor HMTLPurifier2019-04-11T00:26:06ZmfbUpgrade and vendor HMTLPurifierHTMLPurifier version 4.3.0 can be found at https://github.com/civicrm/civicrm-packages/blob/master/IDS/vendors/htmlpurifier but current version, with PHP 7.2 compatibility, is 4.10.0
Ideally we could move it to composer.json for core.HTMLPurifier version 4.3.0 can be found at https://github.com/civicrm/civicrm-packages/blob/master/IDS/vendors/htmlpurifier but current version, with PHP 7.2 compatibility, is 4.10.0
Ideally we could move it to composer.json for core.https://lab.civicrm.org/dev/core/-/issues/804Address indiscrepancy in participant count in summary report - due to presenc...2023-04-26T05:03:22ZeileenAddress indiscrepancy in participant count in summary report - due to presence of currency in $0 participant recordsOpened this to track
https://github.com/civicrm/civicrm-core/pull/13037Opened this to track
https://github.com/civicrm/civicrm-core/pull/13037https://lab.civicrm.org/dev/core/-/issues/806DB Error:: Already exists during renewing membership automatically2019-04-03T16:58:22ZPradeep Nayakpradpnayak@gmail.comDB Error:: Already exists during renewing membership automaticallyI have a cron job that runs smart debit sync every day for recurring contribution and its failing with DB Error: already exists
After looking it carefully in details found that it fails when the original contribution of recurring has ta...I have a cron job that runs smart debit sync every day for recurring contribution and its failing with DB Error: already exists
After looking it carefully in details found that it fails when the original contribution of recurring has tax_amount set.
Mar 18 10:53:06 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => exceptionHandler
)
[code] => -5
[message] => DB Error: already exists
[mode] => 16
[debug_info] => INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , price_field_value_id , financial_type_id , tax_amount ) VALUES ('civicrm_contribution' , 20069 , 20069 , 1 , 'Contribution Amount' , 1 , 30.00 , 30.00 , 1 , 33 , 6 ) [nativecode=1062 ** Duplicate entry 'civicrm_contribution-20069-20069-1-1' for key 'UI_line_item_value']
[type] => DB_Error
[user_info] => INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , price_field_value_id , financial_type_id , tax_amount ) VALUES ('civicrm_contribution' , 20069 , 20069 , 1 , 'Contribution Amount' , 1 , 30.00 , 30.00 , 1 , 33 , 6 ) [nativecode=1062 ** Duplicate entry 'civicrm_contribution-20069-20069-1-1' for key 'UI_line_item_value']
[to_string] => [db_error: message="DB Error: already exists" code=-5 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info="INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , price_field_value_id , financial_type_id , tax_amount ) VALUES ('civicrm_contribution' , 20069 , 20069 , 1 , 'Contribution Amount' , 1 , 30.00 , 30.00 , 1 , 33 , 6 ) [nativecode=1062 ** Duplicate entry 'civicrm_contribution-20069-20069-1-1' for key 'UI_line_item_value']"]
)https://lab.civicrm.org/dev/core/-/issues/807Error in participant counts on events with waitlists2022-10-11T05:03:32ZCharlie DunlaveyError in participant counts on events with waitlistsThere seems to be a participant calculation error at a specific stage in the workflow for events using waitlists, which is making the waitlist feature unuseable.
When a place becomes available on an event with a waitlist, the reminder e...There seems to be a participant calculation error at a specific stage in the workflow for events using waitlists, which is making the waitlist feature unuseable.
When a place becomes available on an event with a waitlist, the reminder email is being sent correctly to the person at the top of the waitlist, but when this user clicks on the registration link in the email, they see the 'Oops, it looks like there are no spaces' message.
At the confirmation page stage, it looks like Civi is counting all participants as opposed to just those with counted set to true. Are you able to take a look?
Thank you,
Charliehttps://lab.civicrm.org/dev/core/-/issues/808support reCaptcha v32020-11-24T22:45:22ZJoeMurraysupport reCaptcha v3There's a new reCaptcha that does not show I am not a robot, but does require evaluation of a score returned. Would be good to support it before current v2 goes away (this is Google, days before Google+ is disappearing ;) ).
See https:/...There's a new reCaptcha that does not show I am not a robot, but does require evaluation of a score returned. Would be good to support it before current v2 goes away (this is Google, days before Google+ is disappearing ;) ).
See https://developers.google.com/recaptcha/docs/versionshttps://lab.civicrm.org/dev/core/-/issues/809Bug with CiviCRM 5.10.3 Remote Profiles HTML Form Snippet Form Action URL2022-10-24T05:03:34ZjohngehrigBug with CiviCRM 5.10.3 Remote Profiles HTML Form Snippet Form Action URLVersion: CiviCRM 5.10.3
Type: Bug
With the update to CiviCRM 5.10.3, I noticed the form action URL in the HTML Form Snippet generated for Remote Profile submissions has changed, breaking the form submission functionality for anonymous ...Version: CiviCRM 5.10.3
Type: Bug
With the update to CiviCRM 5.10.3, I noticed the form action URL in the HTML Form Snippet generated for Remote Profile submissions has changed, breaking the form submission functionality for anonymous users with all newly generated HTML Form Snippets.
This is the first time I have noticed this bug, which was definitely introduced sometime after version CiviCRM 5.7.2, the last time I generated an HTML Form Snippet that was used with a Remote Profile.
Previously, the HTML Form Snippet generated code with a form action URL that posted to the "create profile" URL, allowing form submissions from anonymous users:
`<form action="https://wpmaster.demo.civicrm.org/civicrm/?page=CiviCRM&q=civicrm%2Fprofile%2Fcreate" method="post" name="Edit" id="Edit" class="CRM_Profile_Form_Edit" >`
After the update, the code generated by the HTML Form Snippet includes a form action URL that posts to the default "admin group":
`<form action="https://wpmaster.demo.civicrm.org/civicrm/?page=CiviCRM&q=civicrm%2Fadmin%2Fuf%2Fgroup" method="post" name="Edit" id="Edit" class="CRM_Profile_Form_Edit" >`
With the above form action URL, anonymous users see the following error when the user clicks the "Submit" button:
> You do not have permission to access this content.
Manually changing the code in the HTML Form Snippet to use a form action URL with the previous "create profile" version restores the functionality.
This bug is specifically related to the generate HTML Form Snippet code as Profiles work properly for anonymous users when inserted using the "Add CiviCRM Public Pages" button within WordPress, which inserts the code that includes the correct "create profile" form action URL.
I tested both WordPress and Drupal 7 demo sites and was able to replicate the bug with ONLY the WordPress demo site:
https://wpmaster.demo.civicrm.org/
https://dmaster.demo.civicrm.org/
----
Steps to Reproduce Bug with WordPress CiviCRM 5.10.3+:
Login
CiviCRM > Administer > System Settings > Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)
For the "Accept profile submissions from external sites" option, select "Yes" and then click "Save"
Administer > Custom Data and Screens > Profiles
For any Profile, generate the code by clicking: more > HTML Form Snippet
The code generated by the updated version includes a "post" action URL to the "admin group"https://lab.civicrm.org/dev/core/-/issues/810Non-primary details exported in primary-only exports, when the setting 'Searc...2023-04-05T05:03:18ZAndrew WestNon-primary details exported in primary-only exports, when the setting 'Search Primary Details Only' is set to 'no'If you run an export with 'Export PRIMARY fields', but you have the setting 'Search Primary Details Only' set to 'No', the primary filter is not applied and you simply get the first available row in the table. This also happens when you ...If you run an export with 'Export PRIMARY fields', but you have the setting 'Search Primary Details Only' set to 'No', the primary filter is not applied and you simply get the first available row in the table. This also happens when you select the 'Primary' option when exporting individual fields.
This definitely applies to postal addresses. I haven't tested emails but I think it'll happen there too.
It happens because of this line in CRM_Contact_BAO_Query:
https://github.com/civicrm/civicrm-core/blob/a2540ad336faf7fb0218055a485c1a702200293f/CRM/Contact/BAO/Query.php#L446
which defaults to using the value from the setting. If this is set to no, the result SQL clause doesn't include 'is_primary = 1'.
CRM_Export_BAO_ExportProcessor creates the Query object here:
https://github.com/civicrm/civicrm-core/blob/a2540ad336faf7fb0218055a485c1a702200293f/CRM/Export/BAO/ExportProcessor.php#L509
but doesn't pass through a value for 'primaryLocationOnly' to override the default setting.
I can presumably adapt the above to pass through primaryLocationOnly when users have selected the 'Export PRIMARY fields' option - that *seems* simple enough. I haven't had a chance to dig into how it works when the export specifies individual fields, though - that seems like it'd be more complicated.
To replicate on demo site:
1. Create a new tmp group
2. Find a contact with an existing primary address
3. Add a new address for them, and set it to primary
4. Add this contact to the tmp group
4. Turn off the setting 'Search Primary Details Only'
5. Search for all members of the tmp group, and export them using 'Export PRIMARY fields only'
6. The contact's address in the CSV will be the original address, which is non-primaryhttps://lab.civicrm.org/dev/core/-/issues/811Autocomplete select list disabled options2019-03-19T23:27:09ZPradeep Nayakpradpnayak@gmail.comAutocomplete select list disabled optionsCustom field with type Autocomplete-select lists disabled options.
![Autocomplete-select](/uploads/4255d3183f1e8baf55aee8e4201b95cc/Autocomplete-select.gif)Custom field with type Autocomplete-select lists disabled options.
![Autocomplete-select](/uploads/4255d3183f1e8baf55aee8e4201b95cc/Autocomplete-select.gif)5.13.0https://lab.civicrm.org/dev/core/-/issues/812Contribution row displayed even if contact has 0 contributions.2019-03-22T12:47:10ZjitendraContribution row displayed even if contact has 0 contributions.For a contact who has no contribution, an empty row is displayed on the contact summary page.
Screenshot from dmaster -
![image](/uploads/dac551024d803fc3c59464f397aa79d0/image.png)
If any of the link is clicked on the row, it results...For a contact who has no contribution, an empty row is displayed on the contact summary page.
Screenshot from dmaster -
![image](/uploads/dac551024d803fc3c59464f397aa79d0/image.png)
If any of the link is clicked on the row, it results into an error -
![image](/uploads/54f210db421782c0c987ece4dea9d16f/image.png)
This was working in the latest rc version. Seems to have broken after https://github.com/civicrm/civicrm-core/pull/13720 .5.13.0jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/814[unreleased regression] Menubar light on Drupal, dark on WP2019-03-22T02:27:59ZAndie Hunt[unreleased regression] Menubar light on Drupal, dark on WPThe new KAM menubar has appeared light grey everywhere I've seen it before. However, it is showing up dark in the RC as of right now (last commit `96a2a2b`).
I think it's a problem that we're changing the color of the menu all of a sud...The new KAM menubar has appeared light grey everywhere I've seen it before. However, it is showing up dark in the RC as of right now (last commit `96a2a2b`).
I think it's a problem that we're changing the color of the menu all of a sudden (think of how many instructions say "go in the black menu to Administer"), so I like the darker one. However, it seems that the color specified in crm-menubar.css isn't taking effect in WP, so that's the "broken" one.
Also, more than one person has indicated that the color is the same as their browser, camouflaging the menu so that they thought it wasn't there.
So, this issue really has two parts:
1. We need to be sure the CSS takes effect
2. We should make the color something closer to the old black menu (which was `#1b1b1b`, to be specific)
## Screenshots
Wordpress:
![Screenshot_from_2019-03-20_12-22-06](/uploads/7029af2395f97de2aafd26508bbd1ecd/Screenshot_from_2019-03-20_12-22-06.png)
Drupal:
![Screenshot_from_2019-03-20_12-22-35](/uploads/6613d8b9ca1637582a204102b6dcea30/Screenshot_from_2019-03-20_12-22-35.png)https://lab.civicrm.org/dev/core/-/issues/815Define activity types which appear in the contact quick actions list via a se...2022-10-13T05:03:27ZJamie Novick - CompucoDefine activity types which appear in the contact quick actions list via a setting on the activity type screen**How it works currently:**
All activity types that have Component set as Contacts and Cases will appear in the Contact actions drop down.
**How it should work:**
Users should be able to be specify that an activity type will not be sh...**How it works currently:**
All activity types that have Component set as Contacts and Cases will appear in the Contact actions drop down.
**How it should work:**
Users should be able to be specify that an activity type will not be shown in the contact action drop down, even if they have set the Component to be Contacts and Cases.https://lab.civicrm.org/dev/core/-/issues/816Contribution Details Report double amount when Credit Card Type Column is sho...2022-10-13T05:03:26ZScottyPspulver@ibafriends.orgContribution Details Report double amount when Credit Card Type Column is shown and Contribution was changedWhen running a Contribution Details report it seems to double the amount of the contribution when you enable the Credit Card Type column and have changed the Contribution amount. See in the attached screenshot from Sandbox. But I can rep...When running a Contribution Details report it seems to double the amount of the contribution when you enable the Credit Card Type column and have changed the Contribution amount. See in the attached screenshot from Sandbox. But I can replicated in 5.11 and 5.10.3 with Drupal 7.65 on Apache with PHP 5.6.39 and 5.5.62 MySQL.
To replicate:
1) Enter Contribution with Total amount for $5 then save
2) Edit Contribution with Total amount to $10 then save
3) Run Contribution Details with Credit Card Type column (screenshot with ($20) and without $10)
Hopefully I'm not missing something and this is actually a bug. Thanks!
![WithCreditCardType](/uploads/0181982614aa26c60e5da0fa43b33fac/WithCreditCardType.png)
![WithoutCreditCardType](/uploads/bc2bd115149d90b9c10eb119b03fe59f/WithoutCreditCardType.png)
![Contribution](/uploads/020b93143fc4d5ff5360bd839990c1fa/Contribution.png)https://lab.civicrm.org/dev/core/-/issues/817META - improve code quality2024-02-29T20:06:14ZeileenMETA - improve code qualityI'm writing this as a place to group together various efforts to improve our code quality - this means we can link towards other issues that reflect where we are going code-wise.
In general from a product maintenance point of view the ...I'm writing this as a place to group together various efforts to improve our code quality - this means we can link towards other issues that reflect where we are going code-wise.
In general from a product maintenance point of view the goals we have are
1) ongoing improvement in code stability through
- adding test coverage,
- fixing things 'the right way' rather than hack-fixes
- addressing buggy coding
- improving code commenting
- addressing underlying logic problems
- cleaning up known bad patterns
- extracting smaller functions out of larger functions
- improving code readability
- not adding new functionality (fields, logic etc and even bug fixes) to dirty code (either cleaning it up first or leaving well enough alone).
Note that is IS harder to get changes accepted into parts of the code which are nasty - this is a feature not a bug. It's also harder to get changes reviewed & accepted into areas with poor test coverage. As I write this prs to alter sending out invoices and code impacting on imports are notably stagnating. This reflects an unwillingness to touch those code areas unless unit tests are being added as they have almost no coverage. (of course we also want tests on more tested code areas...)
2) ongoing improvement in performance through
- removing bad joins & bad queries
- php improvements
3) ensuring secure code practices are used
4) adapting the code to new versions of mysql & php as they become relevant
6) laying the ground work for LeXIM through
- moving logic out of the form layer and into the BAO, api xml or other metadata where appropriate
- improving api interaction with the code (making more stuff api-accessible & making it more logical & consistent)
- adding hooks, regions etc, although not into dirty code as that locks in suboptimal fixes.
- improving hook consistency
There are other goals for CiviCRM as a product - in the Leap By Extension / funded projects part of the LeXIM picture which are outside the scope of the concerns of product maintenance. It should be noted that the there is limited capacity to review PRs submitted to core so fit with these will affect how high a priority product mtce reviewers give to PRs. Of course other things play into the prioritisation like whether the submitter has been actively reviewing other PRs.
I'm going to start adding / linking issues that relate to cleaning up known bad patterns here
**Related issues**
~~Remove ->free calls https://lab.civicrm.org/dev/core/issues/562~~
~~Performance - done, remove use of mysql LOWER~~
Switch core forms to Entity Forms https://lab.civicrm.org/dev/core/issues/818 - also https://lab.civicrm.org/dev/core/issues/115
~~Get rid of jcalendar https://lab.civicrm.org/dev/core/issues/561~~
Use TempTable class for all temp tables - https://lab.civicrm.org/dev/core/issues/183
Consolidate settings & preference forms onto being metadata driven https://lab.civicrm.org/dev/core/issues/495
Consolidate recurring forms https://lab.civicrm.org/dev/core/issues/846
Use guzzle to get http requests https://lab.civicrm.org/dev/core/issues/849 (for testability)
Get rid of nullArray usage https://lab.civicrm.org/dev/core/issues/1047
Remove non-std contribution_invoice_settings https://lab.civicrm.org/dev/core/issues/1558https://lab.civicrm.org/dev/core/-/issues/818CQ: Switch core forms to be Entity Forms2022-10-31T05:03:14ZeileenCQ: Switch core forms to be Entity FormsWe have switched some forms already to use the EntityFormTrait as part of the following goals
1) move data about the fields on the forms into the schema xml - this will be important to help us migrate away from quick form
2) support cus...We have switched some forms already to use the EntityFormTrait as part of the following goals
1) move data about the fields on the forms into the schema xml - this will be important to help us migrate away from quick form
2) support custom data on a wide range of entities - several entities already support custom data as a result of having been switched to entity forms - relationship type form, membership status, financial type, price set etc
3) support parameters passed through the url in a non ad-hoc way - we have a history of security issues are url parameters so any new retrieval should be stdised & we need to work to remove existing ones
4) support extension intervention in the fields displayed - this is particularly supported by the tpl changes in the entity form structure
5) generalised reduction in unecessary code
6) improving translation consistency
What is involved in the Entity Form is best understood by looking at existing examples but basically it consists of
- using the EntityFormTrait
- ensuring the relevant things are declared on the class to support that
- declaring all the fields that can be added through metadata in the metadata array
- working towards simplifying the tpl to a single line {include file="CRM/Core/Form/EntityForm.tpl"}
Generally in any change we can take steps towards this rather than fully implement ithttps://lab.civicrm.org/dev/core/-/issues/819Search results: Actions: Export contacts: DB Error: Syntax error occurs when ...2019-03-27T20:08:45ZPradeep Nayakpradpnayak@gmail.comSearch results: Actions: Export contacts: DB Error: Syntax error occurs when not all necessary fields are selectedSTR:
* Navigate to "Search→Find Contacts"
* Leave the search fields empty and click "Search"
* Select any Individual
* Click the "Actions" dropdown
* Select "Export Contacts"
* Click the "Select fields for export" radio button
* Click ...STR:
* Navigate to "Search→Find Contacts"
* Leave the search fields empty and click "Search"
* Select any Individual
* Click the "Actions" dropdown
* Select "Export Contacts"
* Click the "Select fields for export" radio button
* Click "Continue"
* On the Select Fields to Export step, click the "Select record type" dropdown
* Select "Individual"
* Leave the "Select field" dropdown empty
* Click "Export"
**Result:** DB Error: syntax error occurs. Please take a look at the attachment
![ExportError-Before](/uploads/e97b8cb4b4dfb1ae5fed72dafcd4e459/ExportError-Before.gif)5.13.0https://lab.civicrm.org/dev/core/-/issues/820Send cancel request checkbox is tightly coupled to the ability to cancel recu...2022-10-14T05:03:25ZeileenSend cancel request checkbox is tightly coupled to the ability to cancel recurring contributions- but probably shouldn't beThe checkbox is shown because of
```
if ($this->_paymentProcessorObj->supports('cancelRecurring')) {
$params['send_cancel_request'] = 1;
}
```
However for many, perhaps most recurring subscriptions the checkbox is...The checkbox is shown because of
```
if ($this->_paymentProcessorObj->supports('cancelRecurring')) {
$params['send_cancel_request'] = 1;
}
```
However for many, perhaps most recurring subscriptions the checkbox is inappropriate as we are just changing the value in the contribution_recur table. We should be able to toggle those separately....
@mattwire add a new supportsNotifyGatewayOfRecurringChanges ?https://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/823Value in the "Contact Type" field disappears when the user tries to edit Cont...2019-05-09T21:44:17ZPradeep Nayakpradpnayak@gmail.comValue in the "Contact Type" field disappears when the user tries to edit Contact DetailsContact sub type is not pre-populated when trying to update contact using profile.Contact sub type is not pre-populated when trying to update contact using profile.https://lab.civicrm.org/dev/core/-/issues/824What to do with the merge screen2022-10-20T05:03:33ZeileenWhat to do with the merge screenI'm looking for ideas here. We have some requests to 'tweak' the merge screen. I'm mindful we could quickly hit the point where it would be easier to re-write it in angular so I don't want to slip into any significant re-write of the qui...I'm looking for ideas here. We have some requests to 'tweak' the merge screen. I'm mindful we could quickly hit the point where it would be easier to re-write it in angular so I don't want to slip into any significant re-write of the quickform code.
The issues basically boil down to
1) I'd like to be able to see the most salient details right at the top.
2) I'd like to be able to tweak the contacts from that screen more easily
Currently the details at the top of the screen are just name & modified date - the extra fields we would visible here are created_date and a custom field. Someone on chat said external_identifier would meet their requests. So we are not in the 'everyone agrees we should just stick this field there territory
![Screenshot_2019-03-27_15.52.19](/uploads/9d96565cb7fd753b30527ed9d6559081/Screenshot_2019-03-27_15.52.19.png)
Both needs would be somewhat met if we could replace the modified row (or add another row) with details coming out of a profile - in our case the summary-overlay profile would be just fine, and if that profile could be opened into edit more - as happens with the contact layout editor. However, I recall those blocks are not that re-usable & perhaps a modal edit launch is what we need.
In any case I'm leaning towards thinking that there is no sensible cleanup or core change I can do here, no pattern we are trying to roll out & perhaps just adding a mergeSummary region to the Merge.tpl & doing it by assigning a new region is the cleanest thing I can do? Alternatively instead of getting the details for the most-recent block through smarty calls we could assign from php - which feels cleaner at the smarty level (it also makes us less-committed to supporting it than a region does which I think it an OK compromise)
@colemanw @seamuslee @mattwire @jkingsnorth I'm interested in ideas here