select all members when sending fees to the ORD if memberIds is empty

This commit is contained in:
Bilal Catic
2019-08-31 02:12:12 +02:00
parent b7067a8eb6
commit d55131e1f2
3 changed files with 23 additions and 11 deletions

View File

@@ -247,6 +247,10 @@ const createNegativeFeeForDiscount = (memberData, dateRange) => {
} }
}); });
if (membershipFeeForDiscount === 0){
return null; //This member's plan is not eligible for a discount
}
const totalChargeFee = membershipFeeForDiscount + totalBookingChargedFee; const totalChargeFee = membershipFeeForDiscount + totalBookingChargedFee;
let discount = 0; let discount = 0;
@@ -261,7 +265,7 @@ const createNegativeFeeForDiscount = (memberData, dateRange) => {
const discountRate = discountPercentage / 100; const discountRate = discountPercentage / 100;
discount = totalChargeFee * discountRate; discount = totalChargeFee * discountRate;
}else{ }else{
return null; return null; //Not enough hours to earn a discount
} }
const formattedName = `[Discount] Total booked : ${totalBookedHours.toFixed(2)} hrs, Total charged : ${totalChargedHours.toFixed(2)} hrs, Discount : ${discountPercentage} %`; const formattedName = `[Discount] Total booked : ${totalBookedHours.toFixed(2)} hrs, Total charged : ${totalChargedHours.toFixed(2)} hrs, Discount : ${discountPercentage} %`;
@@ -317,7 +321,7 @@ const getMembersFeesForDateRange = (dateRange, memberIds) => {
membersMap[member.memberId] = { membersMap[member.memberId] = {
member, member,
bookingData: Object.assign({}, oneMemberObject), bookingData: Object.assign({}, oneMemberObject),
membershipFees: membershipsMap[member.memberId], membershipFees: membershipsMap[member.memberId] || [],
}; };
}); });

View File

@@ -33,6 +33,8 @@ const deleteFeesFromORD = (dateRange, memberIds) => {
memberIdsMap[memberId] = true; memberIdsMap[memberId] = true;
}); });
const filterByMemberIds = memberIds.length > 0;
const feeIdsToRemove = []; const feeIdsToRemove = [];
fetchedFees.forEach((fee) => { fetchedFees.forEach((fee) => {
@@ -42,7 +44,9 @@ const deleteFeesFromORD = (dateRange, memberIds) => {
const isDateInDateRange = startDate.isSameOrBefore(date) && endDate.isSameOrAfter(date); const isDateInDateRange = startDate.isSameOrBefore(date) && endDate.isSameOrAfter(date);
const manuallyAddedFee = manualFeeNames.indexOf(name) !== -1; const manuallyAddedFee = manualFeeNames.indexOf(name) !== -1;
if (memberIdsMap[member] && isDateInDateRange && (status === UNPAID_FEE_STATUS) && !manuallyAddedFee) { const memberFeesShouldBeDeleted = filterByMemberIds ? memberIdsMap[member] : true;
if (memberFeesShouldBeDeleted && isDateInDateRange && (status === UNPAID_FEE_STATUS) && !manuallyAddedFee) {
feeIdsToRemove.push(feeId); feeIdsToRemove.push(feeId);
} }
}); });

View File

@@ -10,14 +10,18 @@ const fetchAllMembershipsForMemberIds = (memberIds) => {
const memberships = result.data || []; const memberships = result.data || [];
if (Array.isArray(memberIds)){ if (Array.isArray(memberIds)){
const filteredMemberships = []; if (memberIds.length > 0){
memberships.forEach((membership) => { const filteredMemberships = [];
const { member } = membership; memberships.forEach((membership) => {
if (memberIds.indexOf(member) !== -1){ const { member } = membership;
filteredMemberships.push(membership); if (memberIds.indexOf(member) !== -1){
} filteredMemberships.push(membership);
}); }
resolve(filteredMemberships); });
resolve(filteredMemberships);
}else{
resolve(memberships);
}
}else{ }else{
reject(integrationServiceErrors.EXPECTED_MEMBER_IDS_ARRAY); reject(integrationServiceErrors.EXPECTED_MEMBER_IDS_ARRAY);
} }