diff --git a/CRM/Report/Form/Contribute/Detail.php b/CRM/Report/Form/Contribute/Detail.php
index 46411ad87067..466e47f20116 100644
--- a/CRM/Report/Form/Contribute/Detail.php
+++ b/CRM/Report/Form/Contribute/Detail.php
@@ -253,6 +253,7 @@ public function __construct() {
'contribution_id' => array(
'name' => 'id',
'required' => TRUE,
+ 'default' => TRUE,
'title' => ts('Contribution'),
),
),
@@ -262,6 +263,7 @@ public function __construct() {
'dao' => 'CRM_Contribute_DAO_ContributionSoft',
'fields' => array(
'soft_credit_type_id' => array('title' => ts('Soft Credit Type')),
+ 'soft_credit_amount' => ['title' => ts('Soft Credit amount'), 'name' => 'amount', 'type' => CRM_Utils_Type::T_MONEY],
),
'filters' => array(
'soft_credit_type_id' => array(
@@ -272,6 +274,12 @@ public function __construct() {
'type' => CRM_Utils_Type::T_STRING,
),
),
+ 'group_bys' => array(
+ 'soft_credit_id' => array(
+ 'name' => 'id',
+ 'title' => ts('Soft Credit'),
+ ),
+ ),
),
'civicrm_financial_trxn' => array(
'dao' => 'CRM_Financial_DAO_FinancialTrxn',
@@ -376,18 +384,7 @@ public function from() {
ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_contribution']}.contact_id
AND {$this->_aliases['civicrm_contribution']}.is_test = 0";
- if (CRM_Utils_Array::value('contribution_or_soft_value', $this->_params) ==
- 'both'
- ) {
- $this->_from .= "\n LEFT JOIN civicrm_contribution_soft contribution_soft_civireport
- ON contribution_soft_civireport.contribution_id = {$this->_aliases['civicrm_contribution']}.id";
- }
- elseif (CRM_Utils_Array::value('contribution_or_soft_value', $this->_params) ==
- 'soft_credits_only'
- ) {
- $this->_from .= "\n INNER JOIN civicrm_contribution_soft contribution_soft_civireport
- ON contribution_soft_civireport.contribution_id = {$this->_aliases['civicrm_contribution']}.id";
- }
+ $this->joinContributionToSoftCredit();
$this->appendAdditionalFromJoins();
}
@@ -533,9 +530,7 @@ public function beginPostProcessCommon() {
}
// 1. use main contribution query to build temp table 1
$sql = $this->buildQuery();
- $tempQuery = "CREATE TEMPORARY TABLE civireport_contribution_detail_temp1 {$this->_databaseAttributes} AS {$sql}";
- $this->temporaryTables['civireport_contribution_detail_temp1'] = ['name' => 'civireport_contribution_detail_temp1', 'temporary' => TRUE];
- $this->executeReportQuery($tempQuery);
+ $this->createTemporaryTable('civireport_contribution_detail_temp1', $sql);
$this->setPager();
// 2. customize main contribution query for soft credit, and build temp table 2 with soft credit contributions only
@@ -551,13 +546,10 @@ public function beginPostProcessCommon() {
$select = str_ireplace('contribution_civireport.total_amount', 'contribution_soft_civireport.amount', $this->_select);
$select = str_ireplace("'Contribution' as", "'Soft Credit' as", $select);
- // We really don't want to join soft credit in if not required.
- if (!empty($this->_groupBy) && !$this->noDisplayContributionOrSoftColumn) {
- $this->_groupBy .= ', contribution_soft_civireport.amount';
- }
+
// we inner join with temp1 to restrict soft contributions to those in temp1 table.
// no group by here as we want to display as many soft credit rows as actually exist.
- $sql = "{$select} {$this->_from} {$this->_where}";
+ $sql = "{$select} {$this->_from} {$this->_where} $this->_groupBy";
$tempQuery = "CREATE TEMPORARY TABLE civireport_contribution_detail_temp2 {$this->_databaseAttributes} AS {$sql}";
$this->executeReportQuery($tempQuery);
$this->temporaryTables['civireport_contribution_detail_temp2'] = ['name' => 'civireport_contribution_detail_temp2', 'temporary' => TRUE];
@@ -583,7 +575,7 @@ public function beginPostProcessCommon() {
if ($this->isContributionBaseMode
) {
$this->executeReportQuery(
- "CREATE TEMPORARY TABLE civireport_contribution_detail_temp3 {$this->_databaseAttributes} AS (SELECT * FROM civireport_contribution_detail_temp1)"
+ "CREATE TEMPORARY TABLE civireport_contribution_detail_temp3 {$this->_databaseAttributes} AS (SELECT * FROM {$this->temporaryTables['civireport_contribution_detail_temp1']['name']})"
);
}
elseif (CRM_Utils_Array::value('contribution_or_soft_value', $this->_params) ==
@@ -595,7 +587,7 @@ public function beginPostProcessCommon() {
}
else {
$this->executeReportQuery("CREATE TEMPORARY TABLE civireport_contribution_detail_temp3 {$this->_databaseAttributes}
-(SELECT * FROM civireport_contribution_detail_temp1)
+(SELECT * FROM {$this->temporaryTables['civireport_contribution_detail_temp1']['name']})
UNION ALL
(SELECT * FROM civireport_contribution_detail_temp2)");
}
@@ -606,12 +598,11 @@ public function beginPostProcessCommon() {
/**
* Store group bys into array - so we can check elsewhere what is grouped.
*
- * If we are generating a table of soft credits we do not want to be using
- * group by.
+ * If we are generating a table of soft credits we need to group by them.
*/
protected function storeGroupByArray() {
if ($this->queryMode === 'SoftCredit') {
- $this->_groupByArray = [];
+ $this->_groupByArray = [$this->_aliases['civicrm_contribution_soft'] . '.id'];
}
else {
parent::storeGroupByArray();
@@ -744,7 +735,7 @@ public function alterDisplay(&$rows) {
array_key_exists('civicrm_contribution_contribution_id', $row)
) {
$query = "
-SELECT civicrm_contact_id, civicrm_contact_sort_name, civicrm_contribution_total_amount, civicrm_contribution_currency
+SELECT civicrm_contact_id, civicrm_contact_sort_name, civicrm_contribution_total_amount_sum, civicrm_contribution_currency
FROM civireport_contribution_detail_temp2
WHERE civicrm_contribution_contribution_id={$row['civicrm_contribution_contribution_id']}";
$dao = CRM_Core_DAO::executeQuery($query);
@@ -755,7 +746,7 @@ public function alterDisplay(&$rows) {
$dao->civicrm_contact_id);
$string = $string . ($string ? $separator : '') .
"{$dao->civicrm_contact_sort_name} " .
- CRM_Utils_Money::format($dao->civicrm_contribution_total_amount, $dao->civicrm_contribution_currency);
+ CRM_Utils_Money::format($dao->civicrm_contribution_total_amount_sum, $dao->civicrm_contribution_currency);
}
$rows[$rowNum]['civicrm_contribution_soft_credits'] = $string;
}
@@ -767,7 +758,7 @@ public function alterDisplay(&$rows) {
) {
$query = "
SELECT civicrm_contact_id, civicrm_contact_sort_name
-FROM civireport_contribution_detail_temp1
+FROM {$this->temporaryTables['civireport_contribution_detail_temp1']['name']}
WHERE civicrm_contribution_contribution_id={$row['civicrm_contribution_contribution_id']}";
$dao = CRM_Core_DAO::executeQuery($query);
$string = '';
@@ -920,7 +911,7 @@ public function sectionTotals() {
public function softCreditFrom() {
$this->_from = "
- FROM civireport_contribution_detail_temp1 temp1_civireport
+ FROM {$this->temporaryTables['civireport_contribution_detail_temp1']['name']} temp1_civireport
INNER JOIN civicrm_contribution {$this->_aliases['civicrm_contribution']}
ON temp1_civireport.civicrm_contribution_contribution_id = {$this->_aliases['civicrm_contribution']}.id
INNER JOIN civicrm_contribution_soft contribution_soft_civireport
@@ -975,4 +966,21 @@ public function appendAdditionalFromJoins() {
$this->addFinancialTrxnFromClause();
}
+ /**
+ * Add join to the soft credit table.
+ */
+ protected function joinContributionToSoftCredit() {
+ if (!CRM_Utils_Array::value('contribution_or_soft_value', $this->_params) && !$this->isTableSelected('civicrm_contribution_soft')) {
+ return;
+ }
+ $joinType = ' LEFT ';
+ if (CRM_Utils_Array::value('contribution_or_soft_value', $this->_params) == 'soft_credits_only') {
+ $joinType = ' INNER ';
+ }
+ $this->_from .= "
+ $joinType JOIN civicrm_contribution_soft {$this->_aliases['civicrm_contribution_soft']}
+ ON {$this->_aliases['civicrm_contribution_soft']}.contribution_id = {$this->_aliases['civicrm_contribution']}.id
+ ";
+ }
+
}
diff --git a/release-notes.md b/release-notes.md
index e09dfee0fade..e7ad1de86ccb 100644
--- a/release-notes.md
+++ b/release-notes.md
@@ -14,6 +14,17 @@ Other resources for identifying changes are:
* https://github.com/civicrm/civicrm-joomla
* https://github.com/civicrm/civicrm-wordpress
+# CiviCRM 5.6.0
+
+Released October 3, 2018
+
+- **[Synopsis](release-notes/5.6.0.md#synopsis)**
+- **[Features](release-notes/5.6.0.md#features)**
+- **[Bugs resolved](release-notes/5.6.0.md#bugs)**
+- **[Miscellany](release-notes/5.6.0.md#misc)**
+- **[Credits](release-notes/5.6.0.md#credits)**
+- **[Feedback](release-notes/5.6.0.md#feedback)**
+
## CiviCRM 5.5.0
Released September 5, 2018
diff --git a/release-notes/5.6.0.md b/release-notes/5.6.0.md
new file mode 100644
index 000000000000..b90d2861b4bc
--- /dev/null
+++ b/release-notes/5.6.0.md
@@ -0,0 +1,591 @@
+# CiviCRM 5.6.0
+
+Released October 3, 2018
+
+- **[Synopsis](#synopsis)**
+- **[Features](#features)**
+- **[Bugs resolved](#bugs)**
+- **[Miscellany](#misc)**
+- **[Credits](#credits)**
+- **[Feedback](#feedback)**
+
+## Synopsis
+
+| *Does this version...?* | |
+|:--------------------------------------------------------------- |:-------:|
+| Fix security vulnerabilities? | no |
+| Change the database schema? | no |
+| Alter the API? | **yes** |
+| Require attention to configuration options? | no |
+| Fix problems installing or upgrading to a previous version? | no |
+| Introduce features? | **yes** |
+| Fix bugs? | **yes** |
+
+## Features
+
+### Core CiviCRM
+
+- **Activity display, switch to more performance getActivities function (from
+ deprecatedGetActivities)
+ ([12559](https://github.com/civicrm/civicrm-core/pull/12559))**
+
+ This change improves performance and alignment on the activity tab.
+
+- **Upgrade symfony in lockfile to be 2.8 which is supported version of 2…
+ ([12633](https://github.com/civicrm/civicrm-core/pull/12633))**
+
+ This change upgrades symfony from 2.6 to 2.8.44.
+
+- **Improve styling of address block on summary screen
+ ([12723](https://github.com/civicrm/civicrm-core/pull/12723))**
+
+ This changes the display of the address block to be more consistent with the
+ way that email and website are displayed on a contact.
+
+- **Foreign key for civicrm_custom_field.option_group_id
+ ([12706](https://github.com/civicrm/civicrm-core/pull/12706))**
+
+ This change adds a foreign key for option group id to the custom field table.
+
+- **Added Pseudoconstant for phone and website type
+ ([12727](https://github.com/civicrm/civicrm-core/pull/12727))**
+
+ This Adds a Pseudoconstant for phone and website type.
+
+- **Contact summary - adjust block width when editing
+ ([12708](https://github.com/civicrm/civicrm-core/pull/12708))**
+
+ This makes it so that on the inline Contact edit form, when a user clicks to
+ edit a section that section grows to allow the edit fields to be full sized.
+
+- **Added Pseudoconstant tag for visibility
+ ([12705](https://github.com/civicrm/civicrm-core/pull/12705))**
+
+ This change improves the API Explorer by adding a Pseudoconstant tag for
+ visibility. This makes it so that civicrm_option_value.visibility_id is now a
+ dropdown field with the visibility option group options.
+
+- **Use static cache for UFMatch lookups to improve performance
+ ([12628](https://github.com/civicrm/civicrm-core/pull/12628))**
+
+ This is a performance improvement, specifically it cuts down on load time for
+ the contact summary page.
+
+- **Replicate fix on PR #12643 for pledge report
+ ([12685](https://github.com/civicrm/civicrm-core/pull/12685))**
+
+ This change makes it so on the "Pledged not Paid" report one can filter by
+ smart groups.
+
+- **[dev/core#217](https://lab.civicrm.org/dev/core/issues/217) Allow
+ replacement of PrevNextCache implementation (for search screens)
+ ([12664](https://github.com/civicrm/civicrm-core/pull/12664) and
+ [12663](https://github.com/civicrm/civicrm-core/pull/12663)) (Preliminary Work)**
+
+ This change makes it so for the purposes of search-caching CiviCRM no longer
+ fills or reads the columns 'entity_table' and 'entity_id2' in the
+ civicrm_prevnext_cache table and makes the cacheKey column simpler and more
+ consistent.
+
+- **[dev/core#302](https://lab.civicrm.org/dev/core/issues/302) End of life
+ plans for 5.x php versions & planning for 7.0 EOL
+ ([12625](https://github.com/civicrm/civicrm-core/pull/12625)) (preliminary
+ work)**
+
+ This change Bumps the recommended php version to 7.1 and min recommended to
+ 7.0
+
+- **Add SQL modes to developer tab
+ ([12656](https://github.com/civicrm/civicrm-core/pull/12656))**
+
+ This change adds SQL Mode info to the developer tab on reports.
+
+- **don't add query to developer tab if we are downloading the data
+ ([12666](https://github.com/civicrm/civicrm-core/pull/12666))**
+
+ This is a performance improvement for downloading reports for users who have
+ permission to view the developer tab on reports.
+
+- **filter current employer report by all groups
+ ([12643](https://github.com/civicrm/civicrm-core/pull/12643))**
+
+ This change makes it so one can filter the Current Employer report by all
+ groups. Prior to this change one could onlt filter this report by static
+ groups.
+
+### CiviCase
+
+- **Make contact name into a link on Manage Case for single client
+ ([12619](https://github.com/civicrm/civicrm-core/pull/12619))**
+
+ On the Manage Case page for a single client, this change makes the contact
+ name linked to that contact's summary page.
+
+### CiviContribute
+
+- **Remove net_amount from the Back office contribution form.
+ ([12662](https://github.com/civicrm/civicrm-core/pull/12662))**
+
+ This change removes the net amount field from the back office contribution
+ form. The net amount is calculated in the BAO.
+
+- **API : Set current domain as a sensible default for payment processor
+ ([12595](https://github.com/civicrm/civicrm-core/pull/12595))**
+
+ This change improves the PaymentProcessor.create api action by making
+ domain_id optional and setting it to use the current domain as the default if
+ a domain_id is not sent.
+
+### CiviMember
+
+- **Enable custom data display on MembershipType form
+ ([12738](https://github.com/civicrm/civicrm-core/pull/12738))**
+
+ This makes it so if Membership Type custom fields are configured they are
+ displayed on the Membership Type form.
+
+### Drupal Integration
+
+- **[dev/core#237](https://lab.civicrm.org/dev/core/issues/237) Hide Drupal8
+ Administer Menu bar on CiviCRM pages
+ ([12463](https://github.com/civicrm/civicrm-core/pull/12463))**
+
+ This change hides the Drupal8 menu bar when a user is on a civi backend page.
+
+- **Drupal Views CiviCRM: Allow Participant record to be used from Event.
+ ([539](https://github.com/civicrm/civicrm-drupal/pull/539))**
+
+ This change makes it so in Drupal Views one can configure a relationship
+ between CiviCRM Events and CiviCRM Participants.
+
+## Bugs resolved
+
+### Core CiviCRM
+
+- **Handle smart groups created in previous Civis which include
+ relation_permission
+ ([12804](https://github.com/civicrm/civicrm-core/pull/12804))**
+
+ This change fixes a bug where smart groups created in CiviCRM 5.4 based on a
+ search using a relationship break in CiviCRM 5.5 so that they work as
+ expected.
+
+- **[dev/core#346](https://lab.civicrm.org/dev/core/issues/346) Online Pay Now
+ error when used from dashboard checksum link
+ ([12745](https://github.com/civicrm/civicrm-core/pull/12745))**
+
+ This change fixes a bug where when a user accessed the CiviCRM user dashboard
+ using a checksum and then clicked the paynow link, the paynow link would
+ break, so that the pay now link takes you to pay now as expected.
+
+- **Show ext version status even when directory not writeable
+ ([12757](https://github.com/civicrm/civicrm-core/pull/12757))**
+
+ This change fixes a bug where extension updates were not showing if the
+ extension directory was not writable so that information about extension
+ updates are shown on the extensions tab regardless of whether the extension
+ directory is writabale.
+
+- **Remove mcrypt warning except for affected sites.
+ ([12733](https://github.com/civicrm/civicrm-core/pull/12733))**
+
+ This change makes it so that the System Check that warns people that mcrypt is
+ not available only shows on sites that store smtp passwords in their database
+ (the only users for whom this warning is applicable).
+
+- **[dev/core#367](https://lab.civicrm.org/dev/core/issues/367) Fatal error /
+ SQL timeout in A-Z pager for advanced search by relationship with target group
+ for reciprocal relationship types
+ ([12740](https://github.com/civicrm/civicrm-core/pull/12740))**
+
+ This change fixes a bug where advanced searches on reciprocal relationships
+ (ex: "spouse") and using the criteria "target contact is in group" on sites
+ with large numbers of relationships of that type would take a long time,
+ occasionally timing out entirely.
+
+- **[dev/core#343](https://lab.civicrm.org/dev/core/issues/343) Long lines in
+ contact name or address overflow mailing labels
+ ([12691](https://github.com/civicrm/civicrm-core/pull/12691))**
+
+ This change fixes a bug where PDF Mailing Labels generated by civi were not
+ wrapping appropriately so that they wrap and do run off the label.
+
+- **[dev/core#351](https://lab.civicrm.org/dev/core/issues/351) ERROR: LoadForm
+ Pop-up w/out Params in URL
+ ([12735](https://github.com/civicrm/civicrm-core/pull/12735))**
+
+ This change fixes a bug where the load form function used to open a form in a
+ pop up window was throwing an error if no parameters were included in the URL
+ so no error is thrown if no parameters are sent (and no parameters are
+ necessary).
+
+- **[dev/core#349](https://lab.civicrm.org/dev/core/issues/349) Scheduled
+ reminders list default sort does not work
+ ([12701](https://github.com/civicrm/civicrm-core/pull/12701))**
+
+ This change fixes the default sort of the Scheduled reminders list so that it
+ sorts by title.
+
+- **[dev/translation#14](https://lab.civicrm.org/dev/translation/issues/14)
+ InnoDB Advanced Logging cannot be enabled on multi-lingual
+ ([12667](https://github.com/civicrm/civicrm-core/pull/12667))**
+
+ This change makes it so that InnoDB Advanced Logging can be enabled on
+ multi-lingual sites using:
+ https://github.com/eileenmcnaughton/nz.co.fuzion.innodbtriggers
+
+- **Fix recent item deduping & call hooks
+ ([12704](https://github.com/civicrm/civicrm-core/pull/12704))**
+
+ This change fixes a bug where sometimes the same item would be added twice to
+ the "recent items" list.
+
+- **Wrap long labels onto multiple lines to prevent text being cut off
+ ([12716](https://github.com/civicrm/civicrm-core/pull/12716))**
+
+ This change makes it so that on front facing forms, long labels wrap on to
+ multiple lines.
+
+- **Navigation - Don't reprocess fully-formed urls
+ ([12702](https://github.com/civicrm/civicrm-core/pull/12702))**
+
+ This change fixes an edge case where fully-formed urls in the menubar were
+ getting garbled so that relative urls, absolute urls and local urls are all
+ processed correctly.
+
+- **Fix CRM_ACL_API::whereClause to respect $contactId param
+ ([12576](https://github.com/civicrm/civicrm-core/pull/12576))**
+
+ This adds support to the CMS based permission checking and ensures that
+ CRM_ACL_API::whereClause checks the permissions for the contact Id it is sent
+ (before this change it checked the permissions of the logged in user).
+
+- **[dev/accessibility#10](https://lab.civicrm.org/dev/accessibility/issues/10)
+ Make datepicker
+ accessible ([12631](https://github.com/civicrm/civicrm-core/pull/12631)) (Preliminary Work)**
+
+ This change moves CiviCRM towards making the date picker accessible (one could
+ select a date from the calendar using control keys without using a mouse) by
+ moving the datepicker functionality to its own file.
+
+- **[dev/core#295](https://lab.civicrm.org/dev/core/issues/295) Default 'from'
+ mail address is not the default one showing in 'send email'
+ ([12603](https://github.com/civicrm/civicrm-core/pull/12603))**
+
+ This change makes it so that when sending an email using the "send email"
+ action if "Allow Mail to be sent from logged in contact's email address" is
+ disabled in settings the default from address is loaded into the from address
+ field.
+
+- **Further removal of instance of using LOWER() rather than relying on mysql
+ non-case-sensitivity.
+ ([12612](https://github.com/civicrm/civicrm-core/pull/12612))**
+
+ This change improves performance when searching on email_greeting,
+ postal_greeting, address.
+
+- **Fix ReportInstance BAO to call post hook after save (instead of calling pre
+ twice). ([12722](https://github.com/civicrm/civicrm-core/pull/12722))**
+
+ This change improves the hook functionality in the ReportInstance BAO so that
+ one can call post hook after save and so that the pre hook is only called
+ once.
+
+### CiviCase
+
+- **[dev/core#297](https://lab.civicrm.org/dev/core/issues/297) permission
+ "access my cases and activities" is broken by CRM-21461
+ ([12613](https://github.com/civicrm/civicrm-core/pull/12613))**
+
+ This change fixes the permission "access my cases and activites".
+
+- **[dev/core#361](https://lab.civicrm.org/dev/core/issues/361) Mistake in Case
+ api spec description
+ ([12726](https://github.com/civicrm/civicrm-core/pull/12726))**
+
+ This changes the text in the API Explorer for the entity Case for the
+ parameter Tags to read "Find cases with specified tags." before this change it
+ read "Find activities with specified tags.".
+
+- **[dev/core#245](https://lab.civicrm.org/dev/core/issues/245) Duplicate
+ activities shown on case tab
+ ([12444](https://github.com/civicrm/civicrm-core/pull/12444))**
+
+ This change fixes a bug where If there were multiple assignee/target contacts on
+ an activity, the activities were being duplicated on the case activities tab.
+ Additionally this change fixes a bug where if the activity is only allowed a
+ single instance and the user tried to add another, the link had an invalid
+ activity Id.
+
+- **Don't duplicate activity when filing on case
+ ([12620](https://github.com/civicrm/civicrm-core/pull/12620))**
+
+ This change fixes a bug where filing an activity on a case using the "File On
+ Case" link on the actvitytab/activity detail view would result in two
+ activities one related to the case and one not.
+
+### CiviContribute
+
+- **[dev/core#299](https://lab.civicrm.org/dev/core/issues/299) Decimal point
+ error. ([12684](https://github.com/civicrm/civicrm-core/pull/12684))
+ (Continuation of work)**
+
+ This change localizes the display of the amount on the update payment details
+ form.
+
+- **[dev/core#334](https://lab.civicrm.org/dev/core/issues/334) Public
+ contribution form and Checksums: billing information not loaded if using
+ multiple processors
+ ([12679](https://github.com/civicrm/civicrm-core/pull/12679))**
+
+ This fixes a bug where when a user goes to a contribution page that is
+ configured to use multiple payment processors via a checksum link the billing
+ address section was not pre-populating so that the billing section does
+ pre-populate.
+
+- **[dev/core#119](https://lab.civicrm.org/dev/core/issues/119) Notice error
+ ([12626](https://github.com/civicrm/civicrm-core/pull/12626))**
+
+ When recording a payment on a site that is configured not to use decimal
+ thousand separators, that configuration was not being respected for the
+ default amount. This change fixes the default amount to be localized
+ appropriately.
+
+- **[dev/core#322](https://lab.civicrm.org/dev/core/issues/322) Contribution
+ page, completing this form on behalf of someone else: JavaScript error for
+ checkbox field ([12652](https://github.com/civicrm/civicrm-core/pull/12652))**
+
+ This fixes a bug on contribution pages configured to accept donations onbehalf
+ of someone else and to include a profile with a checkbox where checking the
+ checkbox in the profile would result in a javascript error, additionally it
+ ensures that the form is populated with the onbehalf of contact's data.
+
+- **Use cached version of payment processor.
+ ([12627](https://github.com/civicrm/civicrm-core/pull/12627))**
+
+ This change fixes a bug where some payment processors when combined with Redis
+ were failing to complete transactions because Redis was caching the call to
+ completetransaction.
+
+- **[dev/core#325](https://lab.civicrm.org/dev/core/issues/325) Fatal error 'DB Error: no
+ such field' on Contribution detail report
+ ([12660](https://github.com/civicrm/civicrm-core/pull/12660))**
+
+ This change fixes a bug where on the Contribution Detail report, selecting the
+ "Age" column would result in a fatal error so that the report includes Age as
+ expected.
+
+- **[dev/core#386](https://lab.civicrm.org/dev/core/issues/386)
+ Contribution Detail Report shows no amount if set to Soft Credit Only
+ ([12860](https://github.com/civicrm/civicrm-core/pull/12860))**
+
+- **[dev/core#341](https://lab.civicrm.org/dev/core/issues/341) "Contributions
+ made in Year X and not Year Y" custom search ignores date field
+ ([12686](https://github.com/civicrm/civicrm-core/pull/12686))**
+
+ This fixes a bug where custom searches using the "Contributions made in Year X
+ and not Year Y" were not respecting the date parameters, so that date
+ parameters are respected.
+
+- **[dev/core#327](https://lab.civicrm.org/dev/core/issues/327) PHP Fatal error:
+ Call to undefined method - Contribution Details report
+ ([12661](https://github.com/civicrm/civicrm-core/pull/12661))**
+
+ This fixes a bug where checking the Gender column field on the Contribution
+ Details report resulted in a fatal error so that one can include a gender
+ column in this report.
+
+### CiviEvent
+
+- **Fix Undefined index: params in CRM_Event_BAO_Event::buildCustomProfile()
+ ([12678](https://github.com/civicrm/civicrm-core/pull/12678))**
+
+ This change suppresses an undefined index notice that was showing when one
+ comes to an Event from an online payment provider.
+
+- **[dev/core#344](https://lab.civicrm.org/dev/core/issues/344) Tell a Friend
+ mail does not include event title
+ ([12699](https://github.com/civicrm/civicrm-core/pull/12699))**
+
+ This fixes a bug where when using the Tell-A-Friend option to send an email
+ the title of the event was appearing in the subject of the email, so that the
+ title of the event does appear in the subject of the email.
+
+- **Ensure users with the perm "CiviEvent: access CiviEvent " can edit events
+ they have created.
+ ([12424](https://github.com/civicrm/civicrm-core/pull/12424))**
+
+ This change fixes a bug where users with the permission "CiviEvent: access
+ CiviEvent" could create but not edit their events so that they can create and
+ edit their events.
+
+- **GL-44 Admin price field options on event info page
+ ([11923](https://github.com/civicrm/civicrm-core/pull/11923))**
+
+ This change ensures that on event info pages price set field options with the
+ visibility "admin" are only shown to admins.
+
+### CiviMail
+
+- **[dev/mail#20](https://lab.civicrm.org/dev/mail/issues/20) Preview screen
+ don't open until recipients list is built on mail compose screen
+ ([12509](https://github.com/civicrm/civicrm-core/pull/12509))**
+
+ This change fixes a bug where when drafting a mailing one could not open the
+ preview mailing screen until the recipient count query had completed.
+
+- **[dev/core#352](https://lab.civicrm.org/dev/core/issues/352) Ensure that when
+ adding recipients of previous mailings that contacts who are being excluded
+ are removed ([12712](https://github.com/civicrm/civicrm-core/pull/12712))**
+
+ This change makes sure when using recipients from a previous mailing as the
+ recipients of a mailing That any exclusions are respected.
+
+- **[dev/mail#21](https://lab.civicrm.org/dev/mail/issues/21) "Send test email"
+ may create duplicate contacts
+ ([12599](https://github.com/civicrm/civicrm-core/pull/12599))**
+
+ This change fixes a bug where sending a test email to two contacts seperated
+ by a space and a comma would sometimes result in a duplicate contact being
+ created.
+
+- **pass mailingJobId to hook_tokenValues
+ ([12026](https://github.com/civicrm/civicrm-core/pull/12026))**
+
+ This change ensures the mailingJobId is sent to hook_tokenValues.
+
+### CiviMember
+
+- **BASW-240: 'Network Error' when creating membership type from contact
+ membership tab ([12700](https://github.com/civicrm/civicrm-core/pull/12700))**
+
+ This Change fixes a Network Error that was appearing when creating a membership
+ type from a contacts membership tab.
+
+### Drupal Integration
+
+- **[dev/core#311](https://lab.civicrm.org/dev/core/issues/311) Upgrading
+ multilingual site causes DB Error
+ ([12636](https://github.com/civicrm/civicrm-core/pull/12636))**
+
+ This change fixes a bug where upgrading a multilingual drupal site from
+ CiviCRM 4.4.7 to 5.4.0 causes a DB error so that one can upgrade a
+ multilingual drupal site without a DB error.
+
+### Joomla Integration
+
+- **[dev/joomla#2](https://lab.civicrm.org/dev/joomla/issues/2) Joomla
+ cron.php/cli.php fail on Windows server
+ ([12692](https://github.com/civicrm/civicrm-core/pull/12692))**
+
+ This fixes a bug where on Joomla sites on Windows cron was failing so that
+ cron works for Joomla stes on Windows.
+
+- **Make sure Joomla timezone is set for cron jobs
+ ([12609](https://github.com/civicrm/civicrm-core/pull/12609))**
+
+ This change ensures that the CRON job is executed using the same timezone as
+ Joomla (and the same timezone that is configured for Joomla/CiviCRM/database
+ when running via web). Prior to this change the CRON job was being executed
+ with timezone set to UTC.
+
+## Miscellany
+
+- **Stop passing imProviders & phoneTypes - use CRM_Core_PseudoConstant:getLabel
+ ([12608](https://github.com/civicrm/civicrm-core/pull/12608))**
+
+- **Remove unused variables from process_participants job
+ ([12621](https://github.com/civicrm/civicrm-core/pull/12621))**
+
+- **Follow up on #12611 - adding in three data-integrity assertions.
+ ([12629](https://github.com/civicrm/civicrm-core/pull/12629))**
+
+- **Minor refactor, use sales tax trait to simplify sales tax functions
+ ([12594](https://github.com/civicrm/civicrm-core/pull/12594))**
+
+- **Drop custom CSS for Joomla CiviCRM menu so it works with shoreditch theme
+ ([12632](https://github.com/civicrm/civicrm-core/pull/12632))**
+
+- **Export minor refactor Move household relationship types to the processor
+ ([12579](https://github.com/civicrm/civicrm-core/pull/12579))**
+
+- **Code cleanup on Membership form when freezing fields in a recurring exists
+ situation ([12642](https://github.com/civicrm/civicrm-core/pull/12642))**
+
+- **Add test for new rounded money format functions
+ ([12689](https://github.com/civicrm/civicrm-core/pull/12689))**
+
+- **Minor comment and typo cleanup
+ ([12715](https://github.com/civicrm/civicrm-core/pull/12715))**
+
+- **Towards rationalising settings form & preferences form (partial of 12731)
+ ([12732](https://github.com/civicrm/civicrm-core/pull/12732))**
+
+- **Fix compatibility problem with CRM_Extendedreport_Form_Report_ExtendedReport
+ ([12749](https://github.com/civicrm/civicrm-core/pull/12749))**
+
+- **Fix teeny typo
+ ([12618](https://github.com/civicrm/civicrm-core/pull/12618))**
+
+- **[PHPUnit test only] Adding in assertions re: Line Item and Contribution
+ data-integrity.
+ ([12611](https://github.com/civicrm/civicrm-core/pull/12611))**
+
+- **[NFC] comment fixes relating to doc blocks, spelling
+ ([12630](https://github.com/civicrm/civicrm-core/pull/12630))**
+
+- **[phpunit test only] - Add one additional data integrity check to ensure that
+ after Edit Fin…
+ ([12645](https://github.com/civicrm/civicrm-core/pull/12645))**
+
+- **NFC Add/update two comments
+ ([12680](https://github.com/civicrm/civicrm-core/pull/12680))**
+
+- **[NFC] Minor function extraction in report class.
+ ([12658](https://github.com/civicrm/civicrm-core/pull/12658))**
+
+- **(NFC) Fix incorrect reference of doTransferCheckout() in comments
+ ([12720](https://github.com/civicrm/civicrm-core/pull/12720))**
+
+- **NFC cleanup to Membership/Renewal form classes.
+ ([12696](https://github.com/civicrm/civicrm-core/pull/12696))**
+
+- **[CRM-21677](https://issues.civicrm.org/jira/browse/CRM-21677) Report
+ improvements ([12703](https://github.com/civicrm/civicrm-core/pull/12703) and
+ [12698](https://github.com/civicrm/civicrm-core/pull/12698))**
+
+- **Deduplicate setting of mailSent message
+ ([12694](https://github.com/civicrm/civicrm-core/pull/12694))**
+
+- **Setting form - function extraction
+ ([12744](https://github.com/civicrm/civicrm-core/pull/12744))**
+
+## Credits
+
+This release was developed by the following code authors:
+
+AGH Strategies - Alice Frumin, Andrew Hunt; Andrew Thompson; Australian Greens -
+Seamus Lee; Calbasi - Joan Cervan Andreu; Calibrate - Wouter Hechtermans; Chris
+Burgess; Circle Interactive - Dave Jenkins; CiviCoop - Klaas Eikelboom; CiviCRM -
+Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CiviFirst - John Kirk;
+CompuCorp - Vinu Varshith Sekar; Coop SymbioTIC - Mathieu Lutfy; Fuzion -
+Jitendra Purohit; JMA Consulting - Monish Deb; John Kingsnorth; Joinery - Allen
+Shaw; Lemniscus - Noah Miller; Lighthouse Design and Consulting - Brian
+Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; MillerTech - Chamil
+Wijesooriya; MJW Consulting - Matthew Wire; PHD Computer Consultants - Chris
+Cant; Pradeep Nayak; Progressive Technology Project - Jamie McClelland; Richard
+van Oosterhout; Selwyn Tang; Semper IT - Karin Gerritsen; Third Sector Design -
+Michael McAndrew; Wikimedia Foundation - Eileen McNaughton
+
+Most authors also reviewed code for this release; in addition, the following
+reviewers contributed their comments:
+
+Agileware - Justin Freeman; Fuzion - Peter Davis; JMA Consulting - Joe Murray;
+MillerTech - Chamil Wijesooriya; Oxfam Germany - Thomas Schüttler; sleewok;
+Squiffle Consulting - Aidan Saunders
+
+## Feedback
+
+These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
+to provide feedback on them, please log in to https://chat.civicrm.org/civicrm
+and contact `@agh1`.
diff --git a/tests/phpunit/api/v3/ReportTemplateTest.php b/tests/phpunit/api/v3/ReportTemplateTest.php
index 87ba2a7e0cee..630645dfb0a4 100644
--- a/tests/phpunit/api/v3/ReportTemplateTest.php
+++ b/tests/phpunit/api/v3/ReportTemplateTest.php
@@ -526,6 +526,31 @@ public function testContributionDetailSoftCredits() {
);
}
+ /**
+ * Test the amount column is populated on soft credit details.
+ */
+ public function testContributionDetailSoftCreditsOnly() {
+ $contactID = $this->individualCreate();
+ $contactID2 = $this->individualCreate();
+ $this->contributionCreate(['contact_id' => $contactID, 'api.ContributionSoft.create' => ['amount' => 5, 'contact_id' => $contactID2]]);
+ $template = 'contribute/detail';
+ $rows = $this->callAPISuccess('report_template', 'getrows', array(
+ 'report_id' => $template,
+ 'contribution_or_soft_value' => 'soft_credits_only',
+ 'fields' => [
+ 'sort_name' => '1',
+ 'email' => '1',
+ 'financial_type_id' => '1',
+ 'receive_date' => '1',
+ 'total_amount' => '1',
+ ],
+ 'options' => array('metadata' => ['sql', 'labels']),
+ ));
+ foreach (array_keys($rows['metadata']['labels']) as $header) {
+ $this->assertTrue(!empty($rows['values'][0][$header]));
+ }
+ }
+
/**
* Test the group filter works on the various reports.
*