From 365d7a323fe51bffa02a63d744ea32816ec9c12d Mon Sep 17 00:00:00 2001 From: Bradley Taylor Date: Sat, 17 Jun 2023 16:57:25 +0100 Subject: [PATCH] dev/core#4048 Fatal error when changing membership type on membership with no contributions --- CRM/Member/Form/Membership.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CRM/Member/Form/Membership.php b/CRM/Member/Form/Membership.php index 6c3963de43..aa8934debe 100644 --- a/CRM/Member/Form/Membership.php +++ b/CRM/Member/Form/Membership.php @@ -1510,9 +1510,13 @@ DESC limit 1"); //CRM-15187 // display message when membership type is changed if (($this->_action & CRM_Core_Action::UPDATE) && $this->getMembershipID() && !in_array($this->_memType, $this->_memTypeSelected)) { - $lineItem = CRM_Price_BAO_LineItem::getLineItems($this->getMembershipID(), 'membership'); - $maxID = max(array_keys($lineItem)); - $lineItem = $lineItem[$maxID]; + $lineItems = CRM_Price_BAO_LineItem::getLineItems($this->getMembershipID(), 'membership'); + if (empty($lineItems)) { + return; + } + + $maxID = max(array_keys($lineItems)); + $lineItem = $lineItems[$maxID]; $membershipTypeDetails = $this->allMembershipTypeDetails[$this->getMembership()['membership_type_id']]; if ($membershipTypeDetails['financial_type_id'] != $lineItem['financial_type_id']) { CRM_Core_Session::setStatus( -- 2.25.1