From c8eada296894b73c1db264a176ab79b738ddc0a8 Mon Sep 17 00:00:00 2001 From: Matthew Wire Date: Tue, 26 Sep 2017 11:55:34 +0100 Subject: [PATCH] Remove api limit, make deprecated function more deprecated --- CRM/Member/BAO/Membership.php | 3 +++ CRM/Member/BAO/MembershipType.php | 17 ++++++++--------- CRM/Member/Page/Tab.php | 3 +++ .../CRM/Member/BAO/MembershipTypeTest.php | 6 ++++++ 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/CRM/Member/BAO/Membership.php b/CRM/Member/BAO/Membership.php index 712ce7a477..56376b4161 100644 --- a/CRM/Member/BAO/Membership.php +++ b/CRM/Member/BAO/Membership.php @@ -851,6 +851,9 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty if (CRM_Member_BAO_MembershipType::retrieve($params, $membershipType)) { $memberTypesSameParentOrg = civicrm_api3('MembershipType', 'get', array( 'member_of_contact_id' => $membershipType['member_of_contact_id'], + 'options' => array( + 'limit' => 0, + ), )); $memberTypesSameParentOrgList = implode(',', array_keys(CRM_Utils_Array::value('values', $memberTypesSameParentOrg, array()))); $dao->whereAdd('membership_type_id IN (' . $memberTypesSameParentOrgList . ')'); diff --git a/CRM/Member/BAO/MembershipType.php b/CRM/Member/BAO/MembershipType.php index 6693905730..f53c67175f 100644 --- a/CRM/Member/BAO/MembershipType.php +++ b/CRM/Member/BAO/MembershipType.php @@ -620,15 +620,14 @@ class CRM_Member_BAO_MembershipType extends CRM_Member_DAO_MembershipType { * array of the details of membership types */ public static function getMembershipTypesByOrg($orgID) { - $membershipTypes = array(); - $dao = new CRM_Member_DAO_MembershipType(); - $dao->member_of_contact_id = $orgID; - $dao->find(); - while ($dao->fetch()) { - $membershipTypes[$dao->id] = array(); - CRM_Core_DAO::storeValues($dao, $membershipTypes[$dao->id]); - } - return $membershipTypes; + Civi::log()->warning('Deprecated function getMembershipTypesByOrg, please user membership_type api', array('civi.tag' => 'deprecated')); + $memberTypesSameParentOrg = civicrm_api3('MembershipType', 'get', array( + 'member_of_contact_id' => $orgID, + 'options' => array( + 'limit' => 0, + ), + )); + return CRM_Utils_Array::value('values', $memberTypesSameParentOrg, array()); } /** diff --git a/CRM/Member/Page/Tab.php b/CRM/Member/Page/Tab.php index 8e9f44ad5f..ecbdab6b77 100644 --- a/CRM/Member/Page/Tab.php +++ b/CRM/Member/Page/Tab.php @@ -194,6 +194,9 @@ class CRM_Member_Page_Tab extends CRM_Core_Page { //with an Organization(CRM-2016) $membershipTypesResult = civicrm_api3('MembershipType', 'get', array( 'member_of_contact_id' => $this->_contactId, + 'options' => array( + 'limit' => 0, + ), )); $membershipTypes = CRM_Utils_Array::value('values', $membershipTypesResult, NULL); diff --git a/tests/phpunit/CRM/Member/BAO/MembershipTypeTest.php b/tests/phpunit/CRM/Member/BAO/MembershipTypeTest.php index e044428a24..94f4c1213f 100644 --- a/tests/phpunit/CRM/Member/BAO/MembershipTypeTest.php +++ b/tests/phpunit/CRM/Member/BAO/MembershipTypeTest.php @@ -360,12 +360,18 @@ class CRM_Member_BAO_MembershipTypeTest extends CiviUnitTestCase { $membershipTypesResult = civicrm_api3('MembershipType', 'get', array( 'member_of_contact_id' => $this->_orgContactID, + 'options' => array( + 'limit' => 0, + ), )); $result = CRM_Utils_Array::value('values', $membershipTypesResult, NULL); $this->assertEquals(empty($result), FALSE, 'Verify membership types for organization.'); $membershipTypesResult = civicrm_api3('MembershipType', 'get', array( 'member_of_contact_id' => 501, + 'options' => array( + 'limit' => 0, + ), )); $result = CRM_Utils_Array::value('values', $membershipTypesResult, NULL); $this->assertEquals(empty($result), TRUE, 'Verify membership types for organization.'); -- 2.25.1