From 40c655aa76312acb46aa01a0cbe0b11141135b89 Mon Sep 17 00:00:00 2001 From: Edsel Date: Tue, 14 Jul 2015 17:43:55 +0530 Subject: [PATCH] ICM-18 Fixed issues that were reported by Jenkins test --- CRM/Contact/BAO/Query.php | 2 +- CRM/Contribute/BAO/Contribution.php | 18 ++++++++--------- CRM/Contribute/BAO/Premium.php | 2 +- CRM/Contribute/BAO/Query.php | 2 +- CRM/Contribute/Form/Contribution.php | 6 +++--- CRM/Contribute/Form/ContributionBase.php | 2 +- CRM/Contribute/Form/Task/Delete.php | 2 +- CRM/Contribute/Selector/Search.php | 2 +- CRM/Event/Form/EventFees.php | 1 - CRM/Event/Form/ManageEvent/Fee.php | 5 +++-- CRM/Financial/BAO/FinancialType.php | 20 +++++++++---------- CRM/Member/BAO/Membership.php | 8 ++++---- CRM/Member/Form/Membership.php | 2 +- CRM/Member/Form/MembershipType.php | 2 +- CRM/Member/Form/MembershipView.php | 2 -- CRM/Member/Page/MembershipType.php | 4 ++-- CRM/Member/Page/Tab.php | 4 ++-- CRM/Member/Selector/Search.php | 4 ++-- CRM/Price/BAO/PriceFieldValue.php | 2 +- CRM/Price/BAO/PriceSet.php | 2 +- CRM/Price/Form/Field.php | 2 +- CRM/Price/Form/Set.php | 2 +- CRM/Price/Page/Field.php | 2 +- CRM/Report/Form.php | 7 +++---- CRM/Report/Form/Contribute/Detail.php | 5 +---- .../Form/Contribute/HouseholdSummary.php | 3 +-- CRM/Report/Form/Contribute/Sybunt.php | 2 -- api/v3/Contribution.php | 7 +++---- .../Mailing/AddMessageTemplateTest.php | 1 - 29 files changed, 56 insertions(+), 67 deletions(-) diff --git a/CRM/Contact/BAO/Query.php b/CRM/Contact/BAO/Query.php index 4f39cdc132..2e8a5ee219 100644 --- a/CRM/Contact/BAO/Query.php +++ b/CRM/Contact/BAO/Query.php @@ -4749,7 +4749,7 @@ SELECT COUNT( conts.total_amount ) as total_count, } CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes); if (!empty($financialTypes)) { - $where .= " AND civicrm_contribution.financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ") AND li.id IS NULL"; + $where .= " AND civicrm_contribution.financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ") AND li.id IS NULL"; } else { $where .= " AND civicrm_contribution.financial_type_id IN (0) AND li.financial_type_id IN (0)"; diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index 7f323407ed..804b97f498 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -792,11 +792,11 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution { if ($endDate) { $where[] = "receive_date <= '" . CRM_Utils_Type::escape($endDate, 'Timestamp') . "'"; } - CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes); + CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes); if ($financialTypes) { - $where[] = "c.financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ")"; - $where[] = "i.financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ")"; - } + $where[] = "c.financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ")"; + $where[] = "i.financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ")"; + } else { $where[] = "c.financial_type_id IN (0)"; } @@ -1194,11 +1194,11 @@ WHERE civicrm_contribution.contact_id = civicrm_contact.id $startDate = "$year$monthDay"; $endDate = "$nextYear$monthDay"; CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes); - $additionalWhere = " AND b.financial_type_id IN (0)"; + $additionalWhere = " AND b.financial_type_id IN (0)"; $liWhere = " AND i.financial_type_id IN (0)"; if (!empty($financialTypes)) { - $additionalWhere = " AND b.financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ") AND i.id IS NULL"; - $liWhere = " AND i.financial_type_id NOT IN (" . implode(',' , array_keys($financialTypes)) . ")"; + $additionalWhere = " AND b.financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ") AND i.id IS NULL"; + $liWhere = " AND i.financial_type_id NOT IN (" . implode(',', array_keys($financialTypes)) . ")"; } $query = " SELECT count(*) as count, @@ -1907,8 +1907,8 @@ LEFT JOIN civicrm_contribution contribution ON ( componentPayment.contribution_ $additionalWhere = " AND contribution.financial_type_id IN (0)"; $liWhere = " AND i.financial_type_id IN (0)"; if (!empty($financialTypes)) { - $additionalWhere = " AND contribution.financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ")"; - $liWhere = " AND i.financial_type_id NOT IN (" . implode(',' , array_keys($financialTypes)) . ")"; + $additionalWhere = " AND contribution.financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ")"; + $liWhere = " AND i.financial_type_id NOT IN (" . implode(',', array_keys($financialTypes)) . ")"; } $contactContributionsSQL = " SELECT contribution.id AS id diff --git a/CRM/Contribute/BAO/Premium.php b/CRM/Contribute/BAO/Premium.php index e0bd78673b..bff02f22d9 100644 --- a/CRM/Contribute/BAO/Premium.php +++ b/CRM/Contribute/BAO/Premium.php @@ -115,7 +115,7 @@ class CRM_Contribute_BAO_Premium extends CRM_Contribute_DAO_Premium { CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes, 'add'); $addWhere = "financial_type_id IN (0)"; if (!empty($financialTypes)) { - $addWhere = "financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ")"; + $addWhere = "financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ")"; } if ($dao->find(TRUE)) { diff --git a/CRM/Contribute/BAO/Query.php b/CRM/Contribute/BAO/Query.php index 04d0cf9d3b..45e59f4150 100644 --- a/CRM/Contribute/BAO/Query.php +++ b/CRM/Contribute/BAO/Query.php @@ -337,7 +337,7 @@ class CRM_Contribute_BAO_Query { $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("civicrm_contribution.receipt_date", $op); $query->_tables['civicrm_contribution'] = $query->_whereTables['civicrm_contribution'] = 1; return; - + case 'financial_type': case 'contribution_page': case 'payment_instrument': diff --git a/CRM/Contribute/Form/Contribution.php b/CRM/Contribute/Form/Contribution.php index f116791538..12506a1c89 100644 --- a/CRM/Contribute/Form/Contribution.php +++ b/CRM/Contribute/Form/Contribution.php @@ -459,8 +459,8 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP */ public function buildQuickForm() { // FIXME: This probably needs to be done in preprocess - if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() - && $this->_action & CRM_Core_Action::UPDATE + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + && $this->_action & CRM_Core_Action::UPDATE && CRM_Utils_Array::value('financial_type_id', $this->_values) ) { $financialTypeID = CRM_Contribute_PseudoConstant::financialType($this->_values['financial_type_id']); @@ -618,7 +618,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP } $attributes = CRM_Core_DAO::getAttribute('CRM_Contribute_DAO_Contribution'); - + // Check permissions for financial type first CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes, 'add'); diff --git a/CRM/Contribute/Form/ContributionBase.php b/CRM/Contribute/Form/ContributionBase.php index 94d74ee782..1361b1067f 100644 --- a/CRM/Contribute/Form/ContributionBase.php +++ b/CRM/Contribute/Form/ContributionBase.php @@ -274,7 +274,7 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form { $this->_fields = array(); CRM_Contribute_BAO_ContributionPage::setValues($this->_id, $this->_values); - if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && !CRM_Core_Permission::check('add contributions of type ' . CRM_Contribute_PseudoConstant::financialType($this->_values['financial_type_id'])) ) { CRM_Core_Error::fatal(ts('You do not have permission to access this page.')); diff --git a/CRM/Contribute/Form/Task/Delete.php b/CRM/Contribute/Form/Task/Delete.php index d68ca73a6a..5a78a0835d 100644 --- a/CRM/Contribute/Form/Task/Delete.php +++ b/CRM/Contribute/Form/Task/Delete.php @@ -71,7 +71,7 @@ class CRM_Contribute_Form_Task_Delete extends CRM_Contribute_Form_Task { } // Now check for lineItems if ($lineItems = CRM_Price_BAO_LineItem::getLineItemsByContributionID($id)) { - foreach ($lineItems as $items) { + foreach ($lineItems as $items) { if (!CRM_Core_Permission::check('delete contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) { unset($this->_contributionIds[$key]); $count++; diff --git a/CRM/Contribute/Selector/Search.php b/CRM/Contribute/Selector/Search.php index 5ad8077b64..ee9f1fa49e 100644 --- a/CRM/Contribute/Selector/Search.php +++ b/CRM/Contribute/Selector/Search.php @@ -368,7 +368,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C // Now check for lineItems if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()) { $lineItems = CRM_Price_BAO_LineItem::getLineItemsByContributionID($result->id); - foreach ($lineItems as $items) { + foreach ($lineItems as $items) { if (!CRM_Core_Permission::check('view contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) { $checkLineItem = TRUE; break; diff --git a/CRM/Event/Form/EventFees.php b/CRM/Event/Form/EventFees.php index 36999e29d4..09a50f059a 100644 --- a/CRM/Event/Form/EventFees.php +++ b/CRM/Event/Form/EventFees.php @@ -417,7 +417,6 @@ SELECT id, html_type $form->addElement('checkbox', 'record_contribution', ts('Record Payment?'), NULL, array('onclick' => "return showHideByValue('record_contribution','','payment_information','table-row','radio',false);") ); - // Check permissions for financial type first if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()) { CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes, 'add'); diff --git a/CRM/Event/Form/ManageEvent/Fee.php b/CRM/Event/Form/ManageEvent/Fee.php index 4b7370b633..b3689498d7 100644 --- a/CRM/Event/Form/ManageEvent/Fee.php +++ b/CRM/Event/Form/ManageEvent/Fee.php @@ -273,10 +273,11 @@ class CRM_Event_Form_ManageEvent_Fee extends CRM_Event_Form_ManageEvent { )); // financial type - if (CRM_Core_Permission::check('administer CiviCRM Financial Types')) { + if (!CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() || + (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && CRM_Core_Permission::check('administer CiviCRM Financial Types'))) { $this->addSelect('financial_type_id'); } - else { + else { CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes, 'add'); $this->addSelect('financial_type_id', array('context' => 'search', 'options' => $financialTypes)); } diff --git a/CRM/Financial/BAO/FinancialType.php b/CRM/Financial/BAO/FinancialType.php index 943b0c31d5..34a367f720 100644 --- a/CRM/Financial/BAO/FinancialType.php +++ b/CRM/Financial/BAO/FinancialType.php @@ -181,13 +181,12 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { ); foreach ($financialType as $key => $financialTypeName) { - if (!in_array($key, $revenueFinancialType) + if (!in_array($key, $revenueFinancialType) || (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && !CRM_Core_Permission::check('add contributions of type ' . $financialTypeName)) ) { unset($financialType[$key]); } - } return $financialType; } @@ -196,7 +195,7 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { * adding permissions for financial types * * - * @param array $permissions + * @param array $permissions * an array of permissions */ public static function permissionedFinancialTypes(&$permissions) { @@ -228,7 +227,7 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { } return $financialTypes; } - + public static function getAvailableMembershipTypes(&$membershipTypes = NULL, $action = 'view') { if (empty($membershipTypes)) { $membershipTypes = CRM_Member_PseudoConstant::membershipType(); @@ -253,10 +252,10 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { if (is_array($whereClauses)) { self::getAvailableFinancialTypes($types); if (empty($types)) { - $whereClauses[] = ' '.$alias.'.financial_type_id IN (0)'; + $whereClauses[] = ' ' . $alias . '.financial_type_id IN (0)'; } else { - $whereClauses[] = ' '.$alias.'.financial_type_id IN (' . implode(',' , array_keys($types)) .')'; + $whereClauses[] = ' ' . $alias . '.financial_type_id IN (' . implode(',', array_keys($types)) . ')'; } } else { @@ -272,14 +271,14 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { $whereClauses .= " AND civicrm_{$component}.{$column} IN (0)"; return; } - $whereClauses .= " AND civicrm_{$component}.{$column} IN (". implode(',' , array_keys($types)) .")"; + $whereClauses .= " AND civicrm_{$component}.{$column} IN (" . implode(',', array_keys($types)) . ")"; } } public static function checkPermissionedLineItems($id, $op, $force = TRUE) { $lineItems = CRM_Price_BAO_LineItem::getLineItemsByContributionID($id); $flag = FALSE; - foreach ($lineItems as $items) { + foreach ($lineItems as $items) { if (!CRM_Core_Permission::check($op . ' contributions of type ' . CRM_Contribute_PseudoConstant::financialType($items['financial_type_id']))) { if ($force) { CRM_Core_Error::fatal(ts('You do not have permission to access this page.')); @@ -294,11 +293,11 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { } return $flag; } - + /** * Check if FT-ACL is turned on or off * - * @return boolean + * @return bool */ public static function isACLFinancialTypeStatus() { $contributeSettings = CRM_Core_BAO_Setting::getItem( @@ -309,4 +308,5 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType { } return FALSE; } + } diff --git a/CRM/Member/BAO/Membership.php b/CRM/Member/BAO/Membership.php index 1a9e1cbc2f..bb56bc4107 100644 --- a/CRM/Member/BAO/Membership.php +++ b/CRM/Member/BAO/Membership.php @@ -1533,11 +1533,11 @@ WHERE civicrm_membership.contact_id = civicrm_contact.id $allIDs = implode(',', $membershipTypeIDS); $whereClause .= " AND id IN ( $allIDs )"; } - CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes, 'add'); + CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes, 'add'); if ($financialTypes) { - $whereClause .= " AND financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ")"; - } + $whereClause .= " AND financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ")"; + } else { $whereClause .= " AND financial_type_id IN (0)"; } @@ -1598,7 +1598,7 @@ FROM civicrm_membership_type CRM_Financial_BAO_FinancialType::getAvailableMembershipTypes($membershipTypes); $addWhere = " AND membership_type_id IN (0)"; if (!empty($membershipTypes)) { - $addWhere = " AND membership_type_id IN (" . implode(',' , array_keys($membershipTypes)) . ")"; + $addWhere = " AND membership_type_id IN (" . implode(',', array_keys($membershipTypes)) . ")"; } $select = "SELECT count(*) FROM civicrm_membership "; $where = "WHERE civicrm_membership.contact_id = {$contactID} AND civicrm_membership.is_test = 0 "; diff --git a/CRM/Member/Form/Membership.php b/CRM/Member/Form/Membership.php index ea6446ebdf..dc7f6011b8 100644 --- a/CRM/Member/Form/Membership.php +++ b/CRM/Member/Form/Membership.php @@ -660,7 +660,7 @@ class CRM_Member_Form_Membership extends CRM_Member_Form { if (CRM_Core_Action::ADD & $this->_action) { $op = 'add'; } - else if (CRM_Core_Action::UPDATE & $this->_action) { + elseif (CRM_Core_Action::UPDATE & $this->_action) { $op = 'edit'; } $this->add('select', 'financial_type_id', diff --git a/CRM/Member/Form/MembershipType.php b/CRM/Member/Form/MembershipType.php index 722df00d7d..324334bbb2 100644 --- a/CRM/Member/Form/MembershipType.php +++ b/CRM/Member/Form/MembershipType.php @@ -170,7 +170,7 @@ class CRM_Member_Form_MembershipType extends CRM_Member_Form_MembershipConfig { if (CRM_Core_Action::ADD & $this->_action) { $op = 'add'; } - else if (CRM_Core_Action::UPDATE & $this->_action) { + elseif (CRM_Core_Action::UPDATE & $this->_action) { $op = 'edit'; } $this->add('select', 'financial_type_id', ts('Financial Type'), diff --git a/CRM/Member/Form/MembershipView.php b/CRM/Member/Form/MembershipView.php index 21582c28ae..b72fff1a92 100644 --- a/CRM/Member/Form/MembershipView.php +++ b/CRM/Member/Form/MembershipView.php @@ -158,12 +158,10 @@ class CRM_Member_Form_MembershipView extends CRM_Core_Form { if ($id) { $params = array('id' => $id); - CRM_Member_BAO_Membership::retrieve($params, $values); if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()) { $finTypeId = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $values['membership_type_id'], 'financial_type_id'); $finType = CRM_Contribute_PseudoConstant::financialType($finTypeId); - if (!CRM_Core_Permission::check('view contributions of type ' . $finType)) { CRM_Core_Error::fatal(ts('You do not have permissionn to access this page.')); } diff --git a/CRM/Member/Page/MembershipType.php b/CRM/Member/Page/MembershipType.php index e6e642d6c5..61417d04f9 100644 --- a/CRM/Member/Page/MembershipType.php +++ b/CRM/Member/Page/MembershipType.php @@ -114,14 +114,14 @@ class CRM_Member_Page_MembershipType extends CRM_Core_Page { $dao->find(); while ($dao->fetch()) { - if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && !CRM_Core_Permission::check('view contributions of type ' . CRM_Contribute_PseudoConstant::financialType($dao->financial_type_id)) ) { continue; } $links = self::links(); $membershipType[$dao->id] = array(); - CRM_Core_DAO::storeValues($dao, $membershipType[$dao->id]); + CRM_Core_DAO::storeValues($dao, $membershipType[$dao->id]); $membershipType[$dao->id]['period_type'] = CRM_Utils_Array::value($dao->period_type, CRM_Core_SelectValues::periodType(), ''); $membershipType[$dao->id]['visibility'] = CRM_Utils_Array::value($dao->visibility, CRM_Core_SelectValues::memberVisibility(), ''); diff --git a/CRM/Member/Page/Tab.php b/CRM/Member/Page/Tab.php index 52c0823e2c..f889a3e520 100644 --- a/CRM/Member/Page/Tab.php +++ b/CRM/Member/Page/Tab.php @@ -53,7 +53,7 @@ class CRM_Member_Page_Tab extends CRM_Core_Page { CRM_Financial_BAO_FinancialType::getAvailableMembershipTypes($membershipTypes); $addWhere = "membership_type_id IN (0)"; if (!empty($membershipTypes)) { - $addWhere = "membership_type_id IN (" . implode(',' , array_keys($membershipTypes)) . ")"; + $addWhere = "membership_type_id IN (" . implode(',', array_keys($membershipTypes)) . ")"; } $membership = array(); @@ -620,7 +620,7 @@ class CRM_Member_Page_Tab extends CRM_Core_Page { return 'CRM_Member_BAO_Membership'; } - static function getPermissionedLinks($memTypeID, &$links) { + public static function getPermissionedLinks($memTypeID, &$links) { if (!self::isACLFinancialTypeStatus()) { return FALSE; } diff --git a/CRM/Member/Selector/Search.php b/CRM/Member/Selector/Search.php index e518a99e37..54ef43f0f9 100644 --- a/CRM/Member/Selector/Search.php +++ b/CRM/Member/Selector/Search.php @@ -407,12 +407,12 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C // check permissions $finTypeId = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $result->membership_type_id, 'financial_type_id'); $finType = CRM_Contribute_PseudoConstant::financialType($finTypeId); - if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && !CRM_Core_Permission::check('edit contributions of type ' . $finType) ) { unset($links[CRM_Core_Action::UPDATE]); } - if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && !CRM_Core_Permission::check('delete contributions of type ' . $finType) ) { unset($links[CRM_Core_Action::DELETE]); diff --git a/CRM/Price/BAO/PriceFieldValue.php b/CRM/Price/BAO/PriceFieldValue.php index 7588efb218..7d73b90c73 100644 --- a/CRM/Price/BAO/PriceFieldValue.php +++ b/CRM/Price/BAO/PriceFieldValue.php @@ -158,7 +158,7 @@ class CRM_Price_BAO_PriceFieldValue extends CRM_Price_DAO_PriceFieldValue { CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes); $addWhere = "financial_type_id IN (0)"; if (!empty($financialTypes)) { - $addWhere = "financial_type_id IN (" . implode(',' , array_keys($financialTypes)) . ")"; + $addWhere = "financial_type_id IN (" . implode(',', array_keys($financialTypes)) . ")"; } $fieldValueDAO = new CRM_Price_DAO_PriceFieldValue(); $fieldValueDAO->price_field_id = $fieldId; diff --git a/CRM/Price/BAO/PriceSet.php b/CRM/Price/BAO/PriceSet.php index 2f9d71b6e7..8db8da9983 100644 --- a/CRM/Price/BAO/PriceSet.php +++ b/CRM/Price/BAO/PriceSet.php @@ -472,7 +472,7 @@ WHERE ct.id = cp.financial_type_id AND // Check permissioned financial types CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialType, 'add'); if ($financialType) { - $types = implode(',' , array_keys($financialType)); + $types = implode(',', array_keys($financialType)); $query .= ' AND s.financial_type_id IN (' . $types . ') AND v.financial_type_id IN (' . $types . ') '; } else { diff --git a/CRM/Price/Form/Field.php b/CRM/Price/Form/Field.php index 0914a27657..7d22dc503c 100644 --- a/CRM/Price/Form/Field.php +++ b/CRM/Price/Form/Field.php @@ -183,7 +183,7 @@ class CRM_Price_Form_Field extends CRM_Core_Form { // Financial Type $financialType = CRM_Financial_BAO_FinancialType::getIncomeFinancialType(); foreach ($financialType as $finTypeId => $type) { - if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && !CRM_Core_Permission::check('add contributions of type ' . $type) ) { unset($financialType[$finTypeId]); diff --git a/CRM/Price/Form/Set.php b/CRM/Price/Form/Set.php index 85f598ff38..81dcba4653 100644 --- a/CRM/Price/Form/Set.php +++ b/CRM/Price/Form/Set.php @@ -192,7 +192,7 @@ class CRM_Price_Form_Set extends CRM_Core_Form { $financialType = CRM_Financial_BAO_FinancialType::getIncomeFinancialType(); foreach ($financialType as $finTypeId => $type) { - if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && !CRM_Core_Permission::check('add contributions of type ' . $type) ) { unset($financialType[$finTypeId]); diff --git a/CRM/Price/Page/Field.php b/CRM/Price/Page/Field.php index 6db0b76ddc..85b3a27fb4 100644 --- a/CRM/Price/Page/Field.php +++ b/CRM/Price/Page/Field.php @@ -144,7 +144,7 @@ class CRM_Price_Page_Field extends CRM_Core_Page { $params = array('price_field_id' => $priceFieldBAO->id); CRM_Price_BAO_PriceFieldValue::retrieve($params, $optionValues); - $financialTypeId = $optionValues['financial_type_id']; + $financialTypeId = $optionValues['financial_type_id']; if (!array_key_exists($financialTypeId, $financialTypes)) { unset($priceField[$priceFieldBAO->id]); continue; diff --git a/CRM/Report/Form.php b/CRM/Report/Form.php index aaf8b13319..dcf0c343b8 100644 --- a/CRM/Report/Form.php +++ b/CRM/Report/Form.php @@ -4501,10 +4501,10 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($financialTypes); if (empty($financialTypes)) { $contFTs = "0"; - $liFTs = implode(',' , array_keys(CRM_Contribute_Pseudoconstant::financialType())); + $liFTs = implode(',', array_keys(CRM_Contribute_Pseudoconstant::financialType())); } else { - $contFTs = $liFTs = implode(',' , array_keys($financialTypes)); + $contFTs = $liFTs = implode(',', array_keys($financialTypes)); } if ($alias) { $temp = $query->_aliases['civicrm_line_item']; @@ -4514,14 +4514,13 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a $query->_where = "WHERE {$query->_aliases['civicrm_contribution']}.id IS NOT NULL "; } CRM_Core_DAO::executeQuery("DROP TEMPORARY TABLE IF EXISTS civicrm_contribution_temp"); - $sql = "CREATE TEMPORARY TABLE civicrm_contribution_temp AS SELECT {$query->_aliases['civicrm_contribution']}.id {$query->_from} LEFT JOIN civicrm_line_item {$query->_aliases['civicrm_line_item']} ON {$query->_aliases['civicrm_contribution']}.id = {$query->_aliases['civicrm_line_item']}.contribution_id AND {$query->_aliases['civicrm_line_item']}.entity_table = 'civicrm_contribution' AND {$query->_aliases['civicrm_line_item']}.financial_type_id NOT IN (" . $liFTs . ") {$query->_where} - AND {$query->_aliases['civicrm_contribution']}.financial_type_id IN (" . $contFTs . ") + AND {$query->_aliases['civicrm_contribution']}.financial_type_id IN (" . $contFTs . ") AND {$query->_aliases['civicrm_line_item']}.id IS NULL GROUP BY {$query->_aliases['civicrm_contribution']}.id"; CRM_Core_DAO::executeQuery($sql); diff --git a/CRM/Report/Form/Contribute/Detail.php b/CRM/Report/Form/Contribute/Detail.php index 4999faeb7e..a1e4c4ab8e 100644 --- a/CRM/Report/Form/Contribute/Detail.php +++ b/CRM/Report/Form/Contribute/Detail.php @@ -419,7 +419,7 @@ class CRM_Report_Form_Contribute_Detail extends CRM_Report_Form { INNER JOIN civicrm_contribution {$this->_aliases['civicrm_contribution']} ON {$this->_aliases['civicrm_contact']}.id = {$this->_aliases['civicrm_contribution']}.contact_id AND {$this->_aliases['civicrm_contribution']}.is_test = 0"; $this->getPermissionedFTQuery($this); - + if (CRM_Utils_Array::value('contribution_or_soft_value', $this->_params) == 'both' ) { @@ -492,8 +492,6 @@ class CRM_Report_Form_Contribute_Detail extends CRM_Report_Form { LEFT JOIN civicrm_batch {$this->_aliases['civicrm_batch']} ON {$this->_aliases['civicrm_batch']}.id = {$this->_aliases['civicrm_entity_batch']}.batch_id"; } - - } public function groupBy() { @@ -631,7 +629,6 @@ GROUP BY {$this->_aliases['civicrm_contribution']}.currency"; // simple reset of ->_from $this->from(); - // also include custom group from if included // since this might be included in select $this->customDataFrom(); diff --git a/CRM/Report/Form/Contribute/HouseholdSummary.php b/CRM/Report/Form/Contribute/HouseholdSummary.php index 563ced26aa..0056ada586 100644 --- a/CRM/Report/Form/Contribute/HouseholdSummary.php +++ b/CRM/Report/Form/Contribute/HouseholdSummary.php @@ -267,7 +267,7 @@ class CRM_Report_Form_Contribute_HouseholdSummary extends CRM_Report_Form { } $this->getPermissionedFTQuery($this); } - + public function where() { $clauses = array(); foreach ($this->_columns as $tableName => $table) { @@ -278,7 +278,6 @@ class CRM_Report_Form_Contribute_HouseholdSummary extends CRM_Report_Form { $relative = CRM_Utils_Array::value("{$fieldName}_relative", $this->_params); $from = CRM_Utils_Array::value("{$fieldName}_from", $this->_params); $to = CRM_Utils_Array::value("{$fieldName}_to", $this->_params); - $clause = $this->dateClause($field['name'], $relative, $from, $to, $field['type']); } else { diff --git a/CRM/Report/Form/Contribute/Sybunt.php b/CRM/Report/Form/Contribute/Sybunt.php index 8048ce68e4..b9727aaadc 100644 --- a/CRM/Report/Form/Contribute/Sybunt.php +++ b/CRM/Report/Form/Contribute/Sybunt.php @@ -427,13 +427,11 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form { public function postProcess() { // get ready with post process params $this->beginPostProcess(); - $this->buildACLClause($this->_aliases['civicrm_contact']); $this->select(); $this->from(); $this->where(); $this->groupBy(); - $this->getPermissionedFTQuery($this); $rows = $contactIds = array(); diff --git a/api/v3/Contribution.php b/api/v3/Contribution.php index 73b6b3230d..c1cbc2a780 100644 --- a/api/v3/Contribution.php +++ b/api/v3/Contribution.php @@ -193,11 +193,10 @@ function civicrm_api3_contribution_delete($params) { $contributionID = !empty($params['contribution_id']) ? $params['contribution_id'] : $params['id']; // First check contribution financial type $financialType = CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_Contribution', $contributionID, 'financial_type_id'); - // Now check permissioned lineitems & permissioned contribution - if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() - && !CRM_Core_Permission::check('delete contributions of type ' . CRM_Contribute_PseudoConstant::financialType($financialType)) || - !CRM_Financial_BAO_FinancialType::checkPermissionedLineItems($contributionID, 'delete', FALSE) + if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() + && !CRM_Core_Permission::check('delete contributions of type ' . CRM_Contribute_PseudoConstant::financialType($financialType)) || + !CRM_Financial_BAO_FinancialType::checkPermissionedLineItems($contributionID, 'delete', FALSE) ) { return civicrm_api3_create_error('You do not have permission to delete this contribution'); } diff --git a/tests/phpunit/WebTest/Mailing/AddMessageTemplateTest.php b/tests/phpunit/WebTest/Mailing/AddMessageTemplateTest.php index 83486c59f0..7672af4155 100644 --- a/tests/phpunit/WebTest/Mailing/AddMessageTemplateTest.php +++ b/tests/phpunit/WebTest/Mailing/AddMessageTemplateTest.php @@ -122,7 +122,6 @@ class WebTest_Mailing_AddMessageTemplateTest extends CiviSeleniumTestCase { $this->waitForTextPresent("~1 recipient"); $this->click("msg_template_id"); $this->select("msg_template_id", "label=$msgTitle"); - $this->waitForAjaxContent(); $this->select2('s2id_autogen1', "Unsubscribe via web page"); $this->select2('s2id_autogen1', "Domain (organization) address"); -- 2.25.1