Name in the fee / bugfixes

This commit is contained in:
Senad Uka
2019-08-27 09:43:37 +02:00
parent 2403b57060
commit ad75ea127c
4 changed files with 91 additions and 29 deletions

View File

@@ -8,7 +8,7 @@ const { getAllBookingsForMembersInDateRange } = require('./bookings');
const { DEFAULT_DATE_FORMAT, UI_TIMEZONE, incidentTypeExplanations, incidentType, unlockedIncidentLevelsPrices } = require('../../constants/constants');
const { getResourceMappings } = require('../officeRnD/resources');
const { fetchAllMembers } = require('../officeRnD/members');
const { fetchAllMembershipsAsMap } = require('../officeRnD/memberships');
const { fetchAllMembershipsForMemberIds } = require('../officeRnD/memberships');
const { discounts, DISCOUNT_PLANS } = require('../../constants/constants');
const createFeeFromIncident = (incident) => {
@@ -280,7 +280,7 @@ const createNegativeFeeForDiscount = (memberData, dateRange) => {
const getMembersFeesForDateRange = (dateRange, memberIds) => {
return new Promise((resolve, reject) => {
const collectData = [getAllIncidents(dateRange, memberIds), getAllBookingsForMembersInDateRange(dateRange, memberIds), getResourceMappings(), fetchAllMembers(), fetchAllMembershipsAsMap()];
const collectData = [getAllIncidents(dateRange, memberIds), getAllBookingsForMembersInDateRange(dateRange, memberIds), getResourceMappings(), fetchAllMembers(), fetchAllMembershipsForMemberIds(memberIds)];
Promise.all(collectData)
.then((result) => {
@@ -288,7 +288,23 @@ const getMembersFeesForDateRange = (dateRange, memberIds) => {
const allBookings = result[1];
const resourceMappings = result[2];
const membersList = result[3];
const membershipsMap = result[4];
const memberships = result[4];
const membershipsMap = {};
memberships.forEach((membership) => {
const { price, name, member } = membership;
if (!membershipsMap[member]) {
membershipsMap[member] = [{
price,
name,
}];
}else{
membershipsMap[member].push({
price,
name,
});
}
});
const membersMap = {};
const oneMemberObject = {
@@ -428,10 +444,17 @@ const getMembersFeesForDateRange = (dateRange, memberIds) => {
});
allFees.forEach((fee) => {
fee.team = memberIdTeamMappings[fee.member] || null;
const { member } = fee;
const { teamId, name: memberName} = membersMap[member].member;
fee.team = memberIdTeamMappings[member] || null;
if (teamId){
//if member is part of the company, add name to the fee description/name
fee.name += `, ${memberName}`;
}
});
resolve(allFees);
resolve({allFees, memberships});
})
.catch((error) => {