diff --git a/client/src/scenes/IncidentsReport/index.js b/client/src/scenes/IncidentsReport/index.js index 2a2ebc6..27dc370 100644 --- a/client/src/scenes/IncidentsReport/index.js +++ b/client/src/scenes/IncidentsReport/index.js @@ -7,7 +7,7 @@ import MonthSelector from '../../components/MonthSelector'; import MemberIncidentsTables from '../../components/MemberIncidentsTables'; import GenerateFeesInORDButton from '../../components/GenerateFeesInORDButton'; -import { fetchIncidents, addFeesToOrd } from '../../store/actions'; +import { fetchIncidents } from '../../store/actions'; class IncidentsReport extends Component { state = {dateRange: null}; @@ -31,7 +31,6 @@ class IncidentsReport extends Component { membersMap[incident.memberId] = true; }); } - const memberIds = Object.keys(membersMap) || []; return ( @@ -41,7 +40,6 @@ class IncidentsReport extends Component {
@@ -61,8 +59,7 @@ const mapStateToProps = (state) => ({ }); const mapDispatchToProps = (dispatch) => ({ - fetchIncidents: (dateRange) => fetchIncidents(dispatch, dateRange), - addFeesToOrd: (dateRange, memberIds) => addFeesToOrd(dispatch, dateRange, memberIds), + fetchIncidents: (dateRange) => fetchIncidents(dispatch, dateRange) }); export default connect(mapStateToProps, mapDispatchToProps)(IncidentsReport); diff --git a/server.js b/server.js index ff8a27d..7dfd5b9 100644 --- a/server.js +++ b/server.js @@ -29,7 +29,7 @@ app.use(express.static(path.join(__dirname, 'client/build'))); //production mode if(process.env.NODE_ENV === 'production') { app.get('*', (req, res) => { - res.sendfile(path.join(__dirname = 'client/build/index.html')); + res.sendFile(path.join(__dirname = 'client/build/index.html')); }); } diff --git a/services/integration/invoiceIntegration.js b/services/integration/invoiceIntegration.js index 077c9c2..67b9b81 100644 --- a/services/integration/invoiceIntegration.js +++ b/services/integration/invoiceIntegration.js @@ -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; let discount = 0; @@ -261,7 +265,7 @@ const createNegativeFeeForDiscount = (memberData, dateRange) => { const discountRate = discountPercentage / 100; discount = totalChargeFee * discountRate; }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} %`; @@ -317,7 +321,7 @@ const getMembersFeesForDateRange = (dateRange, memberIds) => { membersMap[member.memberId] = { member, bookingData: Object.assign({}, oneMemberObject), - membershipFees: membershipsMap[member.memberId], + membershipFees: membershipsMap[member.memberId] || [], }; }); diff --git a/services/officeRnD/fees.js b/services/officeRnD/fees.js index 287baf1..a55a109 100644 --- a/services/officeRnD/fees.js +++ b/services/officeRnD/fees.js @@ -33,6 +33,8 @@ const deleteFeesFromORD = (dateRange, memberIds) => { memberIdsMap[memberId] = true; }); + const filterByMemberIds = memberIds.length > 0; + const feeIdsToRemove = []; fetchedFees.forEach((fee) => { @@ -42,7 +44,9 @@ const deleteFeesFromORD = (dateRange, memberIds) => { const isDateInDateRange = startDate.isSameOrBefore(date) && endDate.isSameOrAfter(date); 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); } }); diff --git a/services/officeRnD/memberships.js b/services/officeRnD/memberships.js index 328cdf7..7049179 100644 --- a/services/officeRnD/memberships.js +++ b/services/officeRnD/memberships.js @@ -10,14 +10,18 @@ const fetchAllMembershipsForMemberIds = (memberIds) => { const memberships = result.data || []; if (Array.isArray(memberIds)){ - const filteredMemberships = []; - memberships.forEach((membership) => { - const { member } = membership; - if (memberIds.indexOf(member) !== -1){ - filteredMemberships.push(membership); - } - }); - resolve(filteredMemberships); + if (memberIds.length > 0){ + const filteredMemberships = []; + memberships.forEach((membership) => { + const { member } = membership; + if (memberIds.indexOf(member) !== -1){ + filteredMemberships.push(membership); + } + }); + resolve(filteredMemberships); + }else{ + resolve(memberships); + } }else{ reject(integrationServiceErrors.EXPECTED_MEMBER_IDS_ARRAY); }