From 4323dc6ceb6b6e769e8baa6660f19a72164c0dbf Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Tue, 14 Jul 2015 12:57:59 +0530 Subject: [PATCH] --ICM-17, added condition to check if FT-ACL is turned off or on --- CRM/Contribute/Selector/Search.php | 34 +++++++++++++++-------------- CRM/Event/Form/Registration.php | 9 ++++++-- CRM/Financial/BAO/FinancialType.php | 5 ++++- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/CRM/Contribute/Selector/Search.php b/CRM/Contribute/Selector/Search.php index 21aae9b0ab..5ad8077b64 100644 --- a/CRM/Contribute/Selector/Search.php +++ b/CRM/Contribute/Selector/Search.php @@ -366,28 +366,30 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C $checkLineItem = FALSE; $row = array(); // Now check for lineItems - $lineItems = CRM_Price_BAO_LineItem::getLineItemsByContributionID($result->id); - foreach ($lineItems as $items) { - if (!CRM_Core_Permission::check('view contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) { - $checkLineItem = TRUE; - break; + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()) { + $lineItems = CRM_Price_BAO_LineItem::getLineItemsByContributionID($result->id); + foreach ($lineItems as $items) { + if (!CRM_Core_Permission::check('view contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) { + $checkLineItem = TRUE; + break; + } + if (!CRM_Core_Permission::check('edit contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) { + unset($links[CRM_Core_Action::UPDATE]); + } + if (!CRM_Core_Permission::check('delete contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) { + unset($links[CRM_Core_Action::DELETE]); + } } - if (!CRM_Core_Permission::check('edit contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) { + if ($checkLineItem) { + continue; + } + if (!CRM_Core_Permission::check('edit contributions of type ' . CRM_Contribute_PseudoConstant::financialType($result->financial_type_id))) { unset($links[CRM_Core_Action::UPDATE]); } - if (!CRM_Core_Permission::check('delete contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) { + if (!CRM_Core_Permission::check('delete contributions of type ' . CRM_Contribute_PseudoConstant::financialType($result->financial_type_id))) { unset($links[CRM_Core_Action::DELETE]); } } - if ($checkLineItem) { - continue; - } - if (!CRM_Core_Permission::check('edit contributions of type ' . CRM_Contribute_PseudoConstant::financialType($result->financial_type_id))) { - unset($links[CRM_Core_Action::UPDATE]); - } - if (!CRM_Core_Permission::check('delete contributions of type ' . CRM_Contribute_PseudoConstant::financialType($result->financial_type_id))) { - unset($links[CRM_Core_Action::DELETE]); - } // the columns we are interested in foreach (self::$_properties as $property) { if (property_exists($result, $property)) { diff --git a/CRM/Event/Form/Registration.php b/CRM/Event/Form/Registration.php index b94a49c857..7716fed2b1 100644 --- a/CRM/Event/Form/Registration.php +++ b/CRM/Event/Form/Registration.php @@ -243,7 +243,10 @@ class CRM_Event_Form_Registration extends CRM_Core_Form { // check for is_monetary status $isMonetary = CRM_Utils_Array::value('is_monetary', $this->_values['event']); // check for ability to add contributions of type - if ($isMonetary && !CRM_Core_Permission::check('add contributions of type ' . CRM_Contribute_PseudoConstant::financialType($this->_values['event']['financial_type_id']))) { + if ($isMonetary + && CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + && !CRM_Core_Permission::check('add contributions of type ' . CRM_Contribute_PseudoConstant::financialType($this->_values['event']['financial_type_id'])) + ) { CRM_Core_Error::fatal(ts('You do not have permission to access this page.')); } @@ -680,7 +683,9 @@ class CRM_Event_Form_Registration extends CRM_Core_Form { else { $isPaidEvent = CRM_Utils_Array::value('is_monetary', $form->_values['event']); } - if (!empty($form->_values['fee'])) { + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + && !empty($form->_values['fee']) + ) { foreach ($form->_values['fee'] as $k => $fees) { foreach ($fees['options'] as $options) { if (!CRM_Core_Permission::check('add contributions of type ' . CRM_Contribute_PseudoConstant::financialType($options['financial_type_id']))) { diff --git a/CRM/Financial/BAO/FinancialType.php b/CRM/Financial/BAO/FinancialType.php index efd442e2f1..943b0c31d5 100644 --- a/CRM/Financial/BAO/FinancialType.php +++ b/CRM/Financial/BAO/FinancialType.php @@ -181,7 +181,10 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { ); foreach ($financialType as $key => $financialTypeName) { - if (!in_array($key, $revenueFinancialType) || !CRM_Core_Permission::check('add contributions of type ' . $financialTypeName)) { + if (!in_array($key, $revenueFinancialType) + || (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + && !CRM_Core_Permission::check('add contributions of type ' . $financialTypeName)) + ) { unset($financialType[$key]); } -- 2.25.1