From 192310639b0fc68f5af3ca296261e52ec12ef763 Mon Sep 17 00:00:00 2001 From: Edsel Date: Mon, 8 Feb 2016 18:31:29 +0530 Subject: [PATCH] CRM-16526 CIVI-3 Added permission for lineitem API ---------------------------------------- * CRM-16526: ACLs for Financial Types https://issues.civicrm.org/jira/browse/CRM-16526 --- api/v3/LineItem.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/api/v3/LineItem.php b/api/v3/LineItem.php index 11f3017ea1..a31a5524ba 100644 --- a/api/v3/LineItem.php +++ b/api/v3/LineItem.php @@ -44,6 +44,24 @@ * api result array */ function civicrm_api3_line_item_create($params) { + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()) { + if (empty($params['id'])) { + $op = CRM_Core_Action::ADD; + } + else { + if (empty($params['financial_type_id'])) { + $params['financial_type_id'] = civicrm_api3('LineItem', 'getvalue', array( + 'id' => $params['id'], + 'return' => 'financial_type_id', + )); + } + $op = CRM_Core_Action::UPDATE; + } + CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($types, $op); + if (!in_array($params['financial_type_id'], array_keys($types))) { + return civicrm_api3_create_error('You do not have permission to create this line item'); + } + } $params = CRM_Contribute_BAO_Contribution::checkTaxAmount($params, TRUE); return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params); } -- 2.25.1