From 4c50ac3a7e1eb646aab6ed535b4282ced1d1c781 Mon Sep 17 00:00:00 2001 From: Matthew Wire Date: Fri, 22 Sep 2017 20:31:01 +0100 Subject: [PATCH] Replace member_BAO_membershiptype_getMembershipTypesByOrg with API equivalent --- CRM/Member/BAO/Membership.php | 6 ++++-- CRM/Member/BAO/MembershipType.php | 4 ++-- CRM/Member/Page/Tab.php | 6 +++++- tests/phpunit/CRM/Member/BAO/MembershipTypeTest.php | 10 ++++++++-- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/CRM/Member/BAO/Membership.php b/CRM/Member/BAO/Membership.php index 6ca0ae5a30..712ce7a477 100644 --- a/CRM/Member/BAO/Membership.php +++ b/CRM/Member/BAO/Membership.php @@ -849,8 +849,10 @@ INNER JOIN civicrm_membership_type type ON ( type.id = membership.membership_ty $params = array('id' => $memType); $membershipType = array(); if (CRM_Member_BAO_MembershipType::retrieve($params, $membershipType)) { - $memberTypesSameParentOrg = CRM_Member_BAO_MembershipType::getMembershipTypesByOrg($membershipType['member_of_contact_id']); - $memberTypesSameParentOrgList = implode(',', array_keys($memberTypesSameParentOrg)); + $memberTypesSameParentOrg = civicrm_api3('MembershipType', 'get', array( + 'member_of_contact_id' => $membershipType['member_of_contact_id'], + )); + $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 d65d2fe209..6693905730 100644 --- a/CRM/Member/BAO/MembershipType.php +++ b/CRM/Member/BAO/MembershipType.php @@ -610,8 +610,8 @@ class CRM_Member_BAO_MembershipType extends CRM_Member_DAO_MembershipType { } /** - * Retrieve all Membership Types associated. - * with an Organization + * @deprecated Please use the Membership API + * Retrieve all Membership Types associated with an Organization * * @param int $orgID * Id of Organization. diff --git a/CRM/Member/Page/Tab.php b/CRM/Member/Page/Tab.php index 1599af1967..8e9f44ad5f 100644 --- a/CRM/Member/Page/Tab.php +++ b/CRM/Member/Page/Tab.php @@ -192,7 +192,11 @@ class CRM_Member_Page_Tab extends CRM_Core_Page { //Below code gives list of all Membership Types associated //with an Organization(CRM-2016) - $membershipTypes = CRM_Member_BAO_MembershipType::getMembershipTypesByOrg($this->_contactId); + $membershipTypesResult = civicrm_api3('MembershipType', 'get', array( + 'member_of_contact_id' => $this->_contactId, + )); + $membershipTypes = CRM_Utils_Array::value('values', $membershipTypesResult, NULL); + foreach ($membershipTypes as $key => $value) { $membershipTypes[$key]['action'] = CRM_Core_Action::formLink(self::membershipTypeslinks(), $mask, diff --git a/tests/phpunit/CRM/Member/BAO/MembershipTypeTest.php b/tests/phpunit/CRM/Member/BAO/MembershipTypeTest.php index 884fbefa86..e044428a24 100644 --- a/tests/phpunit/CRM/Member/BAO/MembershipTypeTest.php +++ b/tests/phpunit/CRM/Member/BAO/MembershipTypeTest.php @@ -358,10 +358,16 @@ class CRM_Member_BAO_MembershipTypeTest extends CiviUnitTestCase { ); $membershipType = CRM_Member_BAO_MembershipType::add($params, $ids); - $result = CRM_Member_BAO_MembershipType::getMembershipTypesByOrg($this->_orgContactID); + $membershipTypesResult = civicrm_api3('MembershipType', 'get', array( + 'member_of_contact_id' => $this->_orgContactID, + )); + $result = CRM_Utils_Array::value('values', $membershipTypesResult, NULL); $this->assertEquals(empty($result), FALSE, 'Verify membership types for organization.'); - $result = CRM_Member_BAO_MembershipType::getMembershipTypesByOrg(501); + $membershipTypesResult = civicrm_api3('MembershipType', 'get', array( + 'member_of_contact_id' => 501, + )); + $result = CRM_Utils_Array::value('values', $membershipTypesResult, NULL); $this->assertEquals(empty($result), TRUE, 'Verify membership types for organization.'); $this->membershipTypeDelete(array('id' => $membershipType->id)); -- 2.25.1