From a78868535522ac4687ed73670b6488ef908abebe Mon Sep 17 00:00:00 2001 From: Edsel Date: Thu, 6 Feb 2014 15:32:59 +0530 Subject: [PATCH] MISC-32 Added support for contribution_id to lineitem table --- CRM/Price/BAO/LineItem.php | 8 ++++++++ CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl | 7 +++++++ xml/schema/Price/LineItem.xml | 12 ++++++++++++ 3 files changed, 27 insertions(+) diff --git a/CRM/Price/BAO/LineItem.php b/CRM/Price/BAO/LineItem.php index 20ff8f740e..46fc0fb5f6 100644 --- a/CRM/Price/BAO/LineItem.php +++ b/CRM/Price/BAO/LineItem.php @@ -119,6 +119,7 @@ AND li.entity_id = {$entityId} $selectClause = " SELECT li.id, li.label, + li.contribution_id, li.qty, li.unit_price, li.line_total, @@ -177,6 +178,7 @@ AND li.entity_id = {$entityId} 'html_type' => $dao->html_type, 'description' => $dao->description, 'entity_id' => $entityId, + 'contribution_id' => $dao->contribution_id, 'financial_type_id' => $dao->financial_type_id, 'membership_type_id' => $dao->membership_type_id, 'membership_num_terms' => $dao->membership_num_terms, @@ -309,6 +311,12 @@ AND li.entity_id = {$entityId} foreach ($values as $line) { $line['entity_table'] = $entityTable; $line['entity_id'] = $entityId; + if ($entityTable == 'civicrm_contribution') { + $line['contribution_id'] = $entityId; + } + else { + $line['contribution_id'] = $contributionDetails->id; + } // if financial type is not set and if price field value is NOT NULL // get financial type id of price field value if (!empty($line['price_field_value_id']) && empty($line['financial_type_id'])) { diff --git a/CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl b/CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl index c824797427..dcc3ecf201 100644 --- a/CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl +++ b/CRM/Upgrade/Incremental/sql/4.5.alpha1.mysql.tpl @@ -519,3 +519,10 @@ WHERE co.id IS NULL; WHERE v.name = 'Awaiting Information'; {/if} +-- CRM-14197 Add contribution_id to civicrm_line_item + +ALTER TABLE civicrm_line_item ADD contribution_id INT(10) NULL AFTER entity_id; + +ALTER TABLE civicrm_line_item +ADD CONSTRAINT `FK_civicrm_contribution_id` FOREIGN KEY (`contribution_id`) REFERENCES civicrm_contribution (`id`) ON DELETE SET NULL; + diff --git a/xml/schema/Price/LineItem.xml b/xml/schema/Price/LineItem.xml index 329ce44093..ae36a761fd 100644 --- a/xml/schema/Price/LineItem.xml +++ b/xml/schema/Price/LineItem.xml @@ -37,6 +37,18 @@ entity_table 1.7 + + contribution_id + int unsigned + FK to civicrm_contribution + 4.5 + + + contribution_id + civicrm_contribution
+ id + SET NULL +
price_field_id int unsigned -- 2.25.1