Development issueshttps://lab.civicrm.org/groups/dev/-/issues2020-12-12T23:13:08Zhttps://lab.civicrm.org/dev/core/-/issues/2248Find Participants: Broken "Edit" button2020-12-12T23:13:08ZtottenFind Participants: Broken "Edit" buttonOverview
----------------------------------------
When viewing a "Participant" record, the "Edit" button is broken.
Reproduction steps
----------------------------------------
1. Navigate to "Events" => "Find Participants"
1. Enter some...Overview
----------------------------------------
When viewing a "Participant" record, the "Edit" button is broken.
Reproduction steps
----------------------------------------
1. Navigate to "Events" => "Find Participants"
1. Enter some search criteria (or blank criteria). Run the search.
1. On one of the "Participant" records, click "View"
1. The "View" screen has a button bar which includes an "Edit" button. Click it.
![Screen_Shot_2020-12-11_at_2.28.58_PM](/uploads/e8f42fa1f0221e28c20ee8515c37f3b8/Screen_Shot_2020-12-11_at_2.28.58_PM.png)
Current behaviour
----------------------------------------
The link appears malformed. In this example, note the snippet `&id=&cid=`
http://dmaster.127.0.0.1.nip.io:8001/civicrm/contact/view/participant?reset=1&id=&cid=&action=update&context=search&selectedChild=event&key=b931364305ae7cf0438a86ab9e03f59e71c3aab8fcdf09fc76b9208032c17bb4_1567
The request fails. The symptom depends on whether you use AJAX popups or not. If you're using separate pages (non-popups), then it fails with:
![Screen_Shot_2020-12-11_at_2.33.15_PM](/uploads/4c67fce41ca2e740356d47e5803a3be4/Screen_Shot_2020-12-11_at_2.33.15_PM.png)
Expected behaviour
----------------------------------------
Show the "Edit Participant" screen
Environment information
----------------------------------------
* __Browser:__ _Firefox
* __CiviCRM:__ _Master
* __PHP:__ 7.1
* __CMS:__ D7
* __Database:__ MySQL 5.7
* __Web Server:__ Apache5.32.2https://lab.civicrm.org/dev/financial/-/issues/163Fully remove contributionTypeID2020-12-23T11:07:08ZeileenFully remove contributionTypeIDThere are few remaining references in the code to very-old-legacy contributionTypeID
This seems to be passed out to payment processors and assigned to the templates in some cases
I feel like we could remove these in 5.34 and simply com...There are few remaining references in the code to very-old-legacy contributionTypeID
This seems to be passed out to payment processors and assigned to the templates in some cases
I feel like we could remove these in 5.34 and simply communicate the fact via the dev-digest and release notes.5.34.0https://lab.civicrm.org/dev/core/-/issues/2244No options displayed for the "Financial Type" field on the "Find Contribution...2020-12-11T05:57:10ZalicefruminNo options displayed for the "Financial Type" field on the "Find Contributions" form for non AdministratorsOverview
----------------------------------------
IF you are logged in to CiviCRM with a role that is not the "Administrator" role but has permissions to administer CiviCRM and access civicontribute ("CiviContribute: access CiviContribut...Overview
----------------------------------------
IF you are logged in to CiviCRM with a role that is not the "Administrator" role but has permissions to administer CiviCRM and access civicontribute ("CiviContribute: access CiviContribute")
AND you go to the "Find Contributions" search form (ex: https://dmaster.demo.civicrm.org/civicrm/contribute/search?reset=1)
THEN no options are displayed in the dropdown for the "Financial Type" field see screenshot below:
![noneFound](/uploads/523d192bc5bd403f6056570a0159badf/noneFound.png)
This issue can be recreated on https://dmaster.demo.civicrm.org I believe it is a regression, it worked as expected in 5.28.3.
Reproduction steps
----------------------------------------
1. log in to CiviCRM with a role that is not the "Administrator" role but has permissions to administer CiviCRM and access civicontribute ("CiviContribute: access CiviContribute"). (perhaps the demo user on https://dmaster.demo.civicrm.org)
1. Go to CiviCRM Admin Menu -> Search -> Find Contributions (https://dmaster.demo.civicrm.org/civicrm/contribute/search?reset=1)
1. Click on the "Financial Types" dropdown
Current behaviour
----------------------------------------
No options
Expected behaviour
----------------------------------------
should display available Financial Types.
Comments
----------------------------------------
Caching may have some effect on this.5.32.2https://lab.civicrm.org/dev/core/-/issues/2243Add created_date column to the civicrm_note table2021-03-28T16:44:34ZjasonmAdd created_date column to the civicrm_note tableOverview
----------------------------------------
After merging contacts, we noticed that when viewing the notes of the merged contact, the notes merged from the duplicated contact display the timestamp of when the merge happened. It wou...Overview
----------------------------------------
After merging contacts, we noticed that when viewing the notes of the merged contact, the notes merged from the duplicated contact display the timestamp of when the merge happened. It would be helpful for note records to store both the created date and the last modified date and to display both dates in the notes list view at /civicrm/contact/view?reset=1&cid=xxxxxx
Example use-case
----------------------------------------
The user wants to see the date that a note was created in addition to when a note was last modified.
Current behaviour
----------------------------------------
Currently the civicrm_note table has only a modified_date field so the date a note is created is lost upon any update.
Proposed behaviour
----------------------------------------
Add a created_date column to the civicrm_note table and display both created and modified dates at /civicrm/contact/view?reset=1&cid=xxxxxx
![screenshot-a](/uploads/99cabcdde44fa725841c2d5de5afd28a/screenshot-a.png)
![screenshot-b](/uploads/003327183320ec3af790840cbe835393/screenshot-b.png)
![screenshot-c](/uploads/d8ecdc89bb06f23037df82ea81e4974e/screenshot-c.png)5.37.0https://lab.civicrm.org/dev/core/-/issues/2242CiviCRM Export, Saved Export Field Mapping that contains custom fields which ...2021-02-01T22:03:53Zjustinfreeman (Agileware)CiviCRM Export, Saved Export Field Mapping that contains custom fields which have been disabled or deleted are still loaded as "clear" values and cause the export download to fail with "DB Error: no such field"CiviCRM Export, Saved Export Field Mapping that contains custom fields which have been disabled or deleted are still loaded as "clear" values and cause the export download to fail with "DB Error: no such field".
This is complicated furt...CiviCRM Export, Saved Export Field Mapping that contains custom fields which have been disabled or deleted are still loaded as "clear" values and cause the export download to fail with "DB Error: no such field".
This is complicated further because the **user cannot remove the "clear" fields from the field export list at all** and as a result, renders the Saved Export Field Mapping defunct.
The disabled or deleted fields are listed on the field export page as "clear", see screenshot below.
![Screenshot_20201210_165641](/uploads/099da3249d6eb3734fab60d6adaacf58/Screenshot_20201210_165641.png)
Agileware Ref: CIVICRM-16275.35.0https://lab.civicrm.org/dev/core/-/issues/2241Don't check for .git in the isDevelopment() function2021-01-11T22:35:28ZDaveDDon't check for .git in the isDevelopment() functionThe function isDevelopment() checks if there's a .git folder present. The function controls for example mysql strict mode and whether deprecations throw errors (more about deprecations in ticket dev/core#2240). But it's not crazy for a l...The function isDevelopment() checks if there's a .git folder present. The function controls for example mysql strict mode and whether deprecations throw errors (more about deprecations in ticket dev/core#2240). But it's not crazy for a live site to have a .git folder.
Previous discussion at https://github.com/civicrm/civicrm-core/pull/17276. Where it stalled was not really on whether using .git is wrong, it was on what it should do instead. Summary of alternates:
1. Use the Environment setting at System Settings - Debugging.
* There may be some differences between what that setting is actually for and what this function gets used for.
* Also switching to this setting has some side effects which aren't blockers but would need to be dealt with (test suite, buildkit defaults).
1. Instead of "is dev", have a way to tell "for testing" and "not for testing".
* CIVICRM_UF(?)
1. Use whatever the symfony environment is set to.
@mattwire @AlanDixon @MikeyMJCO @artfulrobot5.35.0https://lab.civicrm.org/dev/core/-/issues/2240Deprecation warnings are implemented backwards2021-01-06T20:47:07ZDaveDDeprecation warnings are implemented backwardsSpecifically, they piggyback on the logging system by calling logging first and then triggering errors, whereas they should simply call trigger_error, and leave it up to the site's error handling config or custom error_handlers whether t...Specifically, they piggyback on the logging system by calling logging first and then triggering errors, whereas they should simply call trigger_error, and leave it up to the site's error handling config or custom error_handlers whether that gets logged or not.
Also note that throwing an error from within CRM_Core_Error_Log technically makes that class a non-compliant PSR-3 implementation. Quoting from https://github.com/php-fig/fig-standards/blob/75d5769d235ceff12e5c850f54d7d43266e62769/accepted/PSR-3-logger-interface.md#13-context
> A given value in the context MUST NOT throw an exception nor raise any php error, warning or notice.
Example:
_Current_: `Civi::log()->warning('something', ['civi.tag' => 'deprecated']);`
_Proposed_: `trigger_error('something', E_USER_DEPRECATED);` (or call a wrapper function which does this - exact implementation doesn't matter, just don't call logging).5.34.0https://lab.civicrm.org/dev/financial/-/issues/160Allocation of "fee amount" is incorrect if fee is added after contribution is...2020-12-11T17:11:37ZJonGoldAllocation of "fee amount" is incorrect if fee is added after contribution is created#### Steps to replicate:
* Go to **Administer » CiviContribute » Payment Methods**. Note the default payment method.
* Also note a payment method that doesn't have the same financial account.
On a clean install, "Check" is the default ...#### Steps to replicate:
* Go to **Administer » CiviContribute » Payment Methods**. Note the default payment method.
* Also note a payment method that doesn't have the same financial account.
On a clean install, "Check" is the default method, and "Credit Card" has a different financial account. I'll use those in my example below.
* Create a contribution with payment method of credit card. Enter a fee amount, save, and note the contribution ID.
* Run the following SQL to view the financial account IDs of the transaction (my contribution ID is 96 below):
```sql
mysql> SELECT entity_id, amount, from_financial_account_id, to_financial_account_id, total_amount, fee_amount FROM civicrm_entity_financial_trxn ceft JOIN civicrm_financial_trxn cft ON ceft.financial_trxn_id = cft.id WHERE entity_table = 'civicrm_contribution' AND entity_id = 96;
+-----------+--------+---------------------------+-------------------------+--------------+------------+
| entity_id | amount | from_financial_account_id | to_financial_account_id | total_amount | fee_amount |
+-----------+--------+---------------------------+-------------------------+--------------+------------+
| 96 | 18.00 | NULL | 12 | 18.00 | 4.00 |
| 96 | 4.00 | 12 | 5 | 4.00 | 0.00 |
+-----------+--------+---------------------------+-------------------------+--------------+------------+
```
* The above is correct - the `from_financial_account_id` of the fee trxn matches the `to_financial_account_id` of the main trxn.
* Create a second contribution with payment method of credit card, but do *not* enter the fee.
* Save the contribution, then immediately edit it to add the fee.
* When you run the SQL above, it will look like this:
```sql
mysql> SELECT entity_id, amount, from_financial_account_id, to_financial_account_id, total_amount, fee_amount FROM civicrm_entity_financial_trxn ceft JOIN civicrm_financial_trxn cft ON ceft.financial_trxn_id = cft.id WHERE entity_table = 'civicrm_contribution' AND entity_id = 95;
+-----------+--------+---------------------------+-------------------------+--------------+------------+
| entity_id | amount | from_financial_account_id | to_financial_account_id | total_amount | fee_amount |
+-----------+--------+---------------------------+-------------------------+--------------+------------+
| 95 | 11.00 | NULL | 12 | 11.00 | 0.00 |
| 95 | 3.00 | 6 | 5 | 3.00 | 0.00 |
+-----------+--------+---------------------------+-------------------------+--------------+------------+
```
Note that the fee's `from_financial_account_id` no longer matches the account of the main transaction - it matches the financial account ID of the **default** payment method, not the payment method of this contribution.
**tl;dr:** The financial transaction for a fee amount is calculated incorrectly if you edit the fee after the contribution is saved.
I haven't written a patch/test yet, but I intend to in the next day or two.5.34.0JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/2235civicrm_api3_contribution_transact deprecation message has broken docs link2020-12-08T00:25:16Zmglamancivicrm_api3_contribution_transact deprecation message has broken docs linkOverview
----------------------------------------
While working on Webform CiviCRM, I encountered the deprecation notice for `civicrm_api3_contribution_transact`.
```
User deprecated function: Deprecated function ::civicrm_api3_contribu...Overview
----------------------------------------
While working on Webform CiviCRM, I encountered the deprecation notice for `civicrm_api3_contribution_transact`.
```
User deprecated function: Deprecated function ::civicrm_api3_contribution_transact, use The contibution.transact api is unsupported & known to have issues. Please see the section at the bottom of https://docs.civicrm.org/dev/en/latest/financial/OrderAPI/ for getting off it.
```
The stack trace
```
Civi\API\Provider\MagicFunctionProvider->invoke(Array) (Line: 150)
Civi\API\Kernel->runRequest(Array) (Line: 81)
Civi\API\Kernel->runSafe('contribution', 'transact', Array) (Line: 22)
civicrm_api('contribution', 'transact', Array) (Line: 539)
wf_civicrm_api('contribution', 'transact', Array) (Line: 1825)
```
Reproduction steps
----------------------------------------
1. Setup Drupal 8.9, Webform CiviCRM, CiviCRM 5.33RC
2. Create a webform with contributions
3. Submit
4. See the deprecation notice
Current behaviour
----------------------------------------
A link to `https://docs.civicrm.org/dev/en/latest/financial/OrderAPI/` is provided and returns a 404
Expected behaviour
----------------------------------------
The deprecation instructions should have docs for how to remove the deprecation.5.33.0https://lab.civicrm.org/dev/core/-/issues/2234Weird "null" after adding new tagset2020-12-05T22:47:08ZDaveDWeird "null" after adding new tagset1. On the tags admin page, click the plus sign to add a new tagset.
2. Do NOT fill in the description field.
3. After returning from the popup form, it shows the word "null".
I can see where it's coming from, just debating which side to...1. On the tags admin page, click the plus sign to add a new tagset.
2. Do NOT fill in the description field.
3. After returning from the popup form, it shows the word "null".
I can see where it's coming from, just debating which side to approach it.
![Untitled](/uploads/7f44aef7409cf867abfe5f09e4b948bd/Untitled.png)5.34.0https://lab.civicrm.org/dev/core/-/issues/2233Tabs at top of extension list are no longer tabs2021-04-04T13:11:53ZDaveDTabs at top of extension list are no longer tabsCan reproduce on dmaster.demo.civicrm.org
Marking as regression since it seems to have been working as recent as last friday (commit fdc298edb4)
![Untitled](/uploads/a91e0180c0a45fa22b238ff32eb788a1/Untitled.png)Can reproduce on dmaster.demo.civicrm.org
Marking as regression since it seems to have been working as recent as last friday (commit fdc298edb4)
![Untitled](/uploads/a91e0180c0a45fa22b238ff32eb788a1/Untitled.png)5.34.0https://lab.civicrm.org/dev/core/-/issues/2232upgrade can't find service2020-12-12T09:47:07Zeileenupgrade can't find service@totten @kcristiano @christianwach I just upgraded a wordpress site (from 5.31 to 5.32) and on trying to go to the home page hit this.
I feel like this might be the second report of issues like this on a wordpress site (@justinfreeman r...@totten @kcristiano @christianwach I just upgraded a wordpress site (from 5.31 to 5.32) and on trying to go to the home page hit this.
I feel like this might be the second report of issues like this on a wordpress site (@justinfreeman reported one tied with flexmailer #2191 ) where some loading order seems to get jumbled. In addition Justin has reported 2 other issues recently (presumably also on wordpress) which imply that he is seeing issues on wordpress where core and extension setting metadata is not present on some upgraded sites - I wonder if there is a hook order issue
![Screenshot_from_2020-12-05_11-45-07](/uploads/03786193703bc8540bdad33edfaf2f39/Screenshot_from_2020-12-05_11-45-07.png)5.32.2https://lab.civicrm.org/dev/core/-/issues/2231Next scheduled recurring date set to 0 - details emerging2020-12-28T21:32:42ZeileenNext scheduled recurring date set to 0 - details emergingReproduced on dmaster and on a client site running 5.29.x
Backend -> Submit Credit Card Contribution -> Live Payment Processor -> Recurring every 1 day:
Expected: Next Scheduled Date -> to be Dec 05, 2020 (tomorrow); but it shows: Jan ...Reproduced on dmaster and on a client site running 5.29.x
Backend -> Submit Credit Card Contribution -> Live Payment Processor -> Recurring every 1 day:
Expected: Next Scheduled Date -> to be Dec 05, 2020 (tomorrow); but it shows: Jan 02, 1970:
![image](/uploads/c74407c6539dda334b851b696eeba962/image.png)
Agileware Ref: CIVICRM-16215.32.1https://lab.civicrm.org/dev/core/-/issues/2230Can't export contacts2020-12-04T20:39:52ZJonGoldCan't export contactsOverview
----------------------------------------
Can't export contacts
Reproduction steps
----------------------------------------
1. Do a search, pick some contacts, select "Export Contacts" as the action.
1. Select the fields to expo...Overview
----------------------------------------
Can't export contacts
Reproduction steps
----------------------------------------
1. Do a search, pick some contacts, select "Export Contacts" as the action.
1. Select the fields to export. Exporting primary fields still works.
1. Press **Download File**.
Current behaviour
----------------------------------------
DB Error: Field not found error:
```
Dec 03 18:49:06 [error] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -19
[message] => DB Error: no such field
[mode] => 16
[debug_info] => SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contact_a.first_name as `first_name` FROM civicrm_contact contact_a LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1) INNER JOIN civicrm_contact ctTable ON ctTable.contact_id = contact_a.id WHERE ( ( ( ( contact_a.sort_name LIKE '%jon%' ) OR ( civicrm_email.email LIKE '%jon%' ) ) ) ) AND ( 1 ) AND (contact_a.is_deleted = 0) AND contact_a.is_deleted != 1 LIMIT 0, 100000 [nativecode=1054 ** Unknown column 'ctTable.contact_id' in 'on clause']
[type] => DB_Error
[user_info] => SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contact_a.first_name as `first_name` FROM civicrm_contact contact_a LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1) INNER JOIN civicrm_contact ctTable ON ctTable.contact_id = contact_a.id WHERE ( ( ( ( contact_a.sort_name LIKE '%jon%' ) OR ( civicrm_email.email LIKE '%jon%' ) ) ) ) AND ( 1 ) AND (contact_a.is_deleted = 0) AND contact_a.is_deleted != 1 LIMIT 0, 100000 [nativecode=1054 ** Unknown column 'ctTable.contact_id' in 'on clause']
[to_string] => [db_error: message="DB Error: no such field" code=-19 mode=callback callback=CRM_Core_Error::handle prefix="" info="SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contact_a.first_name as `first_name` FROM civicrm_contact contact_a LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1) INNER JOIN civicrm_contact ctTable ON ctTable.contact_id = contact_a.id WHERE ( ( ( ( contact_a.sort_name LIKE '%jon%' ) OR ( civicrm_email.email LIKE '%jon%' ) ) ) ) AND ( 1 ) AND (contact_a.is_deleted = 0) AND contact_a.is_deleted != 1 LIMIT 0, 100000 [nativecode=1054 ** Unknown column 'ctTable.contact_id' in 'on clause']"]
)
Dec 03 18:49:06 [debug] $backTrace = #0 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(205): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(921): CRM_Core_Error::handle(Object(DB_Error))
#2 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/DB.php(997): PEAR_Error->__construct("DB Error: no such field", -19, 16, (Array:2), "SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...")
#3 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(575): DB_Error->__construct(-19, 16, (Array:2), "SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...")
#4 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/PEAR.php(223): PEAR->_raiseError(Object(DB_mysqli), NULL, -19, 16, (Array:2), "SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...", "DB_Error", TRUE)
#5 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1925): PEAR->__call("raiseError", (Array:7))
#6 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/DB/mysqli.php(936): DB_common->raiseError(-19, NULL, NULL, "SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...", "1054 ** Unknown column 'ctTable.contact_id' in 'on clause'")
#7 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/DB/mysqli.php(406): DB_mysqli->mysqliRaiseError()
#8 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/DB/common.php(1231): DB_mysqli->simpleQuery("SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...")
#9 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(2696): DB_common->query("SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...")
#10 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(1829): DB_DataObject->_query("SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...")
#11 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php(457): DB_DataObject->query("SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...")
#12 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php(1564): CRM_Core_DAO->query("SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...", TRUE)
#13 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Export/BAO/Export.php(179): CRM_Core_DAO::executeQuery("SELECT contact_a.id as contact_id, contact_a.sort_name as `sort_name`, contac...")
#14 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Export/Form/Map.php(142): CRM_Export_BAO_Export::exportComponents(FALSE, (Array:3), (Array:5), "`sort_name` asc", (Array:1), NULL, 1, " contact_a.id IN ( 730,30,846 ) ", "civicrm_contact", 0, 0, (Array:11), "AND")
#15 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(514): CRM_Export_Form_Map->postProcess()
#16 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(144): CRM_Core_Form->mainProcess()
#17 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(43): CRM_Core_StateMachine->perform(Object(CRM_Contact_Export_Form_Map), "next", "Next")
#18 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Contact_Export_Form_Map), "next")
#19 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Export_Form_Map), "next")
#20 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(347): HTML_QuickForm_Page->handle("next")
#21 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(312): CRM_Core_Controller->run((Array:3), (Array:0))
#22 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(68): CRM_Core_Invoke::runItem((Array:13))
#23 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:3))
#24 /home/jon/local/example/htdocs/wp-content/plugins/civicrm/civicrm.php(1649): CRM_Core_Invoke::invoke((Array:3))
#25 /home/jon/local/example/htdocs/wp-includes/class-wp-hook.php(287): CiviCRM_For_WordPress->invoke("")
#26 /home/jon/local/example/htdocs/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters("", (Array:1))
#27 /home/jon/local/example/htdocs/wp-includes/plugin.php(478): WP_Hook->do_action((Array:1))
#28 /home/jon/local/example/htdocs/wp-admin/admin.php(259): do_action("toplevel_page_CiviCRM")
#29 {main}
```
Expected behaviour
----------------------------------------
Contacts should export.
Environment information
----------------------------------------
This is Civi 5.32.0 and master, it works in 5.31.1, it's reproducible on the demo site.
I'm digging into it myself - but that `ctTable.contact_id` instead of `ctTable.id` is the key to this, if it rings any bells.5.32.1https://lab.civicrm.org/dev/core/-/issues/2228CiviCRM 5.31.0, CiviCRM Mailing, changing the Location Type from "Automatic" ...2020-12-03T06:28:38Zjustinfreeman (Agileware)CiviCRM 5.31.0, CiviCRM Mailing, changing the Location Type from "Automatic" to any of the other Location Types results in Error 'number:4' is not a valid option for field location_type_idCiviCRM Mailing, changing the Location Type from "Automatic" to any of the other Location Types results in Error 'number:4' is not a valid option for field location_type_id.
Bug first identified in CiviCRM 5.31.0, repeatable in CiviCRM ...CiviCRM Mailing, changing the Location Type from "Automatic" to any of the other Location Types results in Error 'number:4' is not a valid option for field location_type_id.
Bug first identified in CiviCRM 5.31.0, repeatable in CiviCRM 5.31.1 and CiviCRM DMASTER, CiviCRM 5.33.alpha1
Steps to reproduce:
1. Create a Mailing
2. Select a Recipient Group
3. Click the "Edit Recipient Options" button
4. Select a different Location Type from the Location Types drop-down
5. Close the dialog
6. Wait for the Mailing to save, error message will then be shown
![screencapture-dmaster-demo-civicrm-org-civicrm-a-2020-12-02-16_05_36](/uploads/b5ff3aa5cd08ebb4beaa40f43ecf05a0/screencapture-dmaster-demo-civicrm-org-civicrm-a-2020-12-02-16_05_36.png)
Agileware Ref: CIVICRM-16195.32.0https://lab.civicrm.org/dev/core/-/issues/2227ACLed user that can access deleted contacts, get deleted contacts within thei...2020-12-03T18:56:33ZseamusleeACLed user that can access deleted contacts, get deleted contacts within their search result when generatePermissionClause is called with onlyDeleted is FALSEOverview
----------------------------------------
An ACLed user doing an advanced search but does have permission to view deleted (trashed) contacts will see those trash contacts appear in an advanced search without explicitly searching ...Overview
----------------------------------------
An ACLed user doing an advanced search but does have permission to view deleted (trashed) contacts will see those trash contacts appear in an advanced search without explicitly searching in the trash
Reproduction steps
----------------------------------------
1. Create a role without view all contacts / edit all contacts but with view deleted contacts permission and ensure that there is at least 1 deleted contact a user with that role could see
1. Perform an advanced search as a user with that role but don't search in the trash
1. Find that the trashed contact can still be found in the advanced search
Current behaviour
----------------------------------------
Contacts in the trash appear on advanced searches when not searching in the trash
Expected behaviour
----------------------------------------
Contacts in the trash should only be found if searching in the trash
Environment information
----------------------------------------
* __CiviCRM:__ _5.31.1_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
* __PHP:__ _7.2_
* __CMS:__ _Drupal 7_5.32.0https://lab.civicrm.org/dev/core/-/issues/2226Scheduled Reminder fails to send if From Name includes comma2021-03-22T04:47:07ZlarsssandergreenScheduled Reminder fails to send if From Name includes commaOverview
----------------------------------------
Including a comma in the From Name for a Scheduled Reminder prevents the reminder from being sent. If you run the cron job manually, you'll see an error message, and no emails will be sen...Overview
----------------------------------------
Including a comma in the From Name for a Scheduled Reminder prevents the reminder from being sent. If you run the cron job manually, you'll see an error message, and no emails will be sent. If you don't run cron manually, you won't know that the emails have not been sent. Enclosing the email From Name in double quotes prevents the issue.
Reproduction steps
----------------------------------------
1. Create new scheduled reminder with the From Name containing a ",".
2. Run cron job
Current behaviour
----------------------------------------
![Screen_Shot_2020-12-01_at_6.05.19_PM](/uploads/c515661f1182092f65cbcf172b562544/Screen_Shot_2020-12-01_at_6.05.19_PM.png)
Expected behaviour
----------------------------------------
Email should be sent.
Environment information
----------------------------------------
5.28 on Drupal 7.75
Comments
----------------------------------------
I believe the fix is simply to check the From Name for double quotes and add them if missing. A similar field for contribution page receipts appears to work fine with commas in the From Name, so I suspect this is in place there.5.37.0Monish DebMonish Debhttps://lab.civicrm.org/dev/financial/-/issues/159Line items are added from default price set on recurring contributions for fi...2022-12-14T00:35:14ZFrancis (Agileware)Line items are added from default price set on recurring contributions for financial types with tax accounts.# Steps to reproduce, verified on dmaster.demo.civicrm.org
1. Create a Membership type with required autorenewal
2. Enable Tax & Invoicing
3. Create a Sales Tax account, at any rate, and assign it to the "Member Dues" Financial type.
4....# Steps to reproduce, verified on dmaster.demo.civicrm.org
1. Create a Membership type with required autorenewal
2. Enable Tax & Invoicing
3. Create a Sales Tax account, at any rate, and assign it to the "Member Dues" Financial type.
4. Configure a Contribution Page to sign up for the membership, using the "Member Dues" Financial type.
5. Sign up for a membership using the Contribution page.
6. Using the created recurring contribution id, call the Contribution.repeattransaction API to simulate the membership autorenewal like a payment processor supporting recurring contributions
7. Inspect the resulting contribution records using the Order.get API
# Expected Results
Two orders that are identical apart from dates and IDs
# Actual Results
The second order has two line items. The second line item will be for the price field in the default price set (field 1 / set 1 unless you've somehow changed it), and will be for the same amount as the total of the contribution.
On additional attempts to repeat the transaction, the system crashes due to a DB constraint violation and *rolls back the database transaction, losing the records of any contributions processed so far.*
# Why does this happen?
When `CRM_Contribute_BAO_Contribution::add` calls `CRM_Contribute_BAO_Contribution::checkTaxAmount`, this method checks if the financial type has tax applied and calls `CRM_Price_BAO_LineItem::getLineItemArray` if so, regardless of whether there are any line items already.
# Proposed Solution
Move the calls to `CRM_Price_BAO_LineItem::getLineItemArray` out of `CRM_Contribute_BAO_Contribution::checkTaxAmount` and into `CRM_Contribute_BAO_Contribution::add`, and **only** call it if there's no line_item array present already. See discussion at https://chat.civicrm.org/civicrm/pl/9iuqyx9fp3dexnupuxfefsj4ke
Agileware Ref: CIVICRM-16175.34.0https://lab.civicrm.org/dev/financial/-/issues/158Wording change - change UI parts of contribution soft schema to soft credit2020-12-12T00:21:24ZeileenWording change - change UI parts of contribution soft schema to soft creditThrough out the ContributionSoft.xml fields are referred to as 'Contribution Soft x' but in the UI we normally use 'Soft Credit'
When exposing these fields through Search Kit/ Afform / Metadata based functions I believe 'Soft Credit' is...Through out the ContributionSoft.xml fields are referred to as 'Contribution Soft x' but in the UI we normally use 'Soft Credit'
When exposing these fields through Search Kit/ Afform / Metadata based functions I believe 'Soft Credit' is more meaningful5.34.0https://lab.civicrm.org/dev/core/-/issues/2217Prevent "add_action" from being called multiple times2020-12-06T22:03:10ZhaystackPrevent "add_action" from being called multiple timesIt came to my attention that `CRM_Utils_System_WordPress::addHTMLHead()` can potentially add multiple callbacks to `wp_head` and/or `admin_head` [because `$registered` is never set](https://lab.civicrm.org/dev/core/-/blob/master/CRM/Util...It came to my attention that `CRM_Utils_System_WordPress::addHTMLHead()` can potentially add multiple callbacks to `wp_head` and/or `admin_head` [because `$registered` is never set](https://lab.civicrm.org/dev/core/-/blob/master/CRM/Utils/System/WordPress.php#L268-274). PR to follow.5.34.0haystackhaystack