From 6fe8deba7ce04497e5f32b07a18c3e3e3b33b93d Mon Sep 17 00:00:00 2001 From: Deepak Srivastava Date: Wed, 2 Oct 2013 18:26:25 +0530 Subject: [PATCH] CRM-13333 - on-behalf vs inherited bug fix --- CRM/Contribute/Form/Contribution/Confirm.php | 4 +--- CRM/Contribute/Form/ContributionBase.php | 25 +++++++++----------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/CRM/Contribute/Form/Contribution/Confirm.php b/CRM/Contribute/Form/Contribution/Confirm.php index 487d93067c..2e33e17a69 100644 --- a/CRM/Contribute/Form/Contribution/Confirm.php +++ b/CRM/Contribute/Form/Contribution/Confirm.php @@ -820,9 +820,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr self::processOnBehalfOrganization($behalfOrganization, $contactID, $this->_values, $this->_params, $ufFields ); - } - - if (!empty($this->_membershipContactID) && $contactID != $this->_membershipContactID) { + } else if (!empty($this->_membershipContactID) && $contactID != $this->_membershipContactID) { // this is an onbehalf renew case for inherited membership. For e.g a permissioned member of household, // store current user id as related contact for later use for mailing / activity.. $this->_values['related_contact'] = $contactID; diff --git a/CRM/Contribute/Form/ContributionBase.php b/CRM/Contribute/Form/ContributionBase.php index 1891b09e7a..87b110ca15 100644 --- a/CRM/Contribute/Form/ContributionBase.php +++ b/CRM/Contribute/Form/ContributionBase.php @@ -225,30 +225,27 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form { if ($membership->find(TRUE)) { $this->_defaultMemTypeId = $membership->membership_type_id; if ($membership->contact_id != $this->_contactID) { + $validMembership = FALSE; $employers = CRM_Contact_BAO_Relationship::getPermissionedEmployer($this->_userID); - if (!empty($employers)) { - if (array_key_exists($membership->contact_id, $employers)) { - $this->_membershipContactID = $membership->contact_id; - $this->assign('membershipContactID', $this->_membershipContactID); - $this->assign('membershipContactName', $employers[$this->_membershipContactID]['name']); - } - else { - CRM_Core_Session::setStatus(ts("Oops. The membership you're trying to renew appears to be invalid. Contact your site administrator if you need assistance. If you continue, you will be issued a new membership."), ts('Membership Invalid'), 'alert'); - } - } - else { + if (!empty($employers) && array_key_exists($membership->contact_id, $employers)) { + $this->_membershipContactID = $membership->contact_id; + $this->assign('membershipContactID', $this->_membershipContactID); + $this->assign('membershipContactName', $employers[$this->_membershipContactID]['name']); + $validMembership = TRUE; + } else { $membershipType = new CRM_Member_BAO_MembershipType(); $membershipType->id = $membership->membership_type_id; if ($membershipType->find(TRUE)) { $permContacts = CRM_Contact_BAO_Relationship::getPermissionedContacts($this->_userID, $membershipType->relationship_type_id); if (array_key_exists($membership->contact_id, $permContacts)) { $this->_membershipContactID = $membership->contact_id; - } - else { - CRM_Core_Session::setStatus(ts("Oops. The membership you're trying to renew appears to be invalid. Contact your site administrator if you need assistance. If you continue, you will be issued a new membership."), ts('Membership Invalid'), 'alert'); + $validMembership = TRUE; } } } + if (!$validMembership) { + CRM_Core_Session::setStatus(ts("Oops. The membership you're trying to renew appears to be invalid. Contact your site administrator if you need assistance. If you continue, you will be issued a new membership."), ts('Membership Invalid'), 'alert'); + } } } else { -- 2.25.1