Skip to content
Snippets Groups Projects
Commit 9c09f5b7 authored by Andie Hunt's avatar Andie Hunt
Browse files

check number of terms when updating member payment status

parent bc028df3
No related branches found
No related tags found
No related merge requests found
...@@ -1681,17 +1681,26 @@ LEFT JOIN civicrm_contribution contribution ON ( componentPayment.contribution_ ...@@ -1681,17 +1681,26 @@ LEFT JOIN civicrm_contribution contribution ON ( componentPayment.contribution_
// else fall back to using current membership type // else fall back to using current membership type
$dao->free(); $dao->free();
// Figure out number of terms
$numterms = 1;
$lineitems = CRM_Price_BAO_LineItem::getLineItems($contributionId, 'contribution');
foreach ($lineitems as $lineitem) {
if ($membership->membership_type_id == CRM_Utils_Array::value('membership_type_id', $lineitem)) {
$numterms = CRM_Utils_Array::value('membership_num_terms', $lineitem);
// in case membership_num_terms comes through as null or zero
$numterms = $numterms >= 1 ? $numterms : 1;
break;
}
}
if ($currentMembership) { if ($currentMembership) {
CRM_Member_BAO_Membership::fixMembershipStatusBeforeRenew($currentMembership, CRM_Member_BAO_Membership::fixMembershipStatusBeforeRenew($currentMembership, NULL);
$changeToday = NULL $dates = CRM_Member_BAO_MembershipType::getRenewalDatesForMembershipType($membership->id, NULL, NULL, $numterms);
);
$dates = CRM_Member_BAO_MembershipType::getRenewalDatesForMembershipType($membership->id,
$changeToday = NULL
);
$dates['join_date'] = CRM_Utils_Date::customFormat($currentMembership['join_date'], $format); $dates['join_date'] = CRM_Utils_Date::customFormat($currentMembership['join_date'], $format);
} }
else { else {
$dates = CRM_Member_BAO_MembershipType::getDatesForMembershipType($membership->membership_type_id); $dates = CRM_Member_BAO_MembershipType::getDatesForMembershipType($membership->membership_type_id, null, null, null, $numterms);
} }
//get the status for membership. //get the status for membership.
......
...@@ -112,6 +112,7 @@ class CRM_Price_BAO_LineItem extends CRM_Price_DAO_LineItem { ...@@ -112,6 +112,7 @@ class CRM_Price_BAO_LineItem extends CRM_Price_DAO_LineItem {
pf.label as field_title, pf.label as field_title,
pf.html_type, pf.html_type,
pfv.membership_type_id, pfv.membership_type_id,
pfv.membership_num_terms,
li.price_field_id, li.price_field_id,
li.participant_count, li.participant_count,
li.price_field_value_id, li.price_field_value_id,
...@@ -158,6 +159,7 @@ class CRM_Price_BAO_LineItem extends CRM_Price_DAO_LineItem { ...@@ -158,6 +159,7 @@ class CRM_Price_BAO_LineItem extends CRM_Price_DAO_LineItem {
'description' => $dao->description, 'description' => $dao->description,
'entity_id' => $entityId, 'entity_id' => $entityId,
'membership_type_id' => $dao->membership_type_id, 'membership_type_id' => $dao->membership_type_id,
'membership_num_terms' => $dao->membership_num_terms,
); );
} }
return $lineItems; return $lineItems;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment