From 1705e56bf057c29bf45ab7087a66116b785f7a3e Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Sat, 1 Feb 2014 23:46:27 +0530 Subject: [PATCH] -- CRM-13968, added upgrade code to handle errorneous data with incorrect values for to_financial_account_id and status_id ---------------------------------------- * CRM-13968: Contributions with "In Progress" status can't be edited and saved http://issues.civicrm.org/jira/browse/CRM-13968 --- CRM/Upgrade/Incremental/sql/4.4.4.mysql.tpl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CRM/Upgrade/Incremental/sql/4.4.4.mysql.tpl b/CRM/Upgrade/Incremental/sql/4.4.4.mysql.tpl index 33f1942314..0044bc1ecb 100644 --- a/CRM/Upgrade/Incremental/sql/4.4.4.mysql.tpl +++ b/CRM/Upgrade/Incremental/sql/4.4.4.mysql.tpl @@ -5,3 +5,21 @@ ALTER TABLE civicrm_report_instance MODIFY grouprole varchar(1024) COLLATE utf8_ {* CRM-14117 *} UPDATE civicrm_navigation SET url = 'http://civicrm.org/what/whatiscivicrm' WHERE name = 'About'; + +-- CRM-13968 +SELECT @inprogressstatus := value FROM civicrm_option_value cov +LEFT JOIN civicrm_option_group cg ON cov.option_group_id = cg.id +WHERE cg.name = 'contribution_status' AND cov.name = 'In Progress'; + +SELECT @financialstatus := value FROM civicrm_option_value cov +LEFT JOIN civicrm_option_group cg ON cov.option_group_id = cg.id +WHERE cg.name = 'financial_item_status' AND cov.name = 'Unpaid'; + +SELECT @accountrecievable := id FROM `civicrm_financial_account` WHERE `name` LIKE 'Accounts Receivable'; + +UPDATE civicrm_financial_trxn cft +LEFT JOIN civicrm_entity_financial_trxn ceft ON ceft.financial_trxn_id = cft.id +LEFT JOIN civicrm_entity_financial_trxn ceft_financial_item ON ceft_financial_item.financial_trxn_id = cft.id +LEFT JOIN civicrm_financial_item cfi ON cfi.id = ceft_financial_item.entity_id +SET to_financial_account_id = @accountrecievable, cfi.status_id = @financialstatus +WHERE ceft.entity_table = 'civicrm_contribution' AND ceft_financial_item.entity_table = 'civicrm_financial_item' AND cft.status_id = @inprogressstatus AND cfi.status_id IS NULL; \ No newline at end of file -- 2.25.1