From 06a40e98e9a1781139e65d03b34d73f1777baa86 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Thu, 21 Nov 2019 15:12:41 +0100 Subject: [PATCH] fix "Delete fee" on Member Incidents Report screen --- .../components/SingleIncidentsTable.js | 6 +++--- .../src/components/MemberIncidentsTables/index.js | 5 ++++- .../scenes/SpecificMemberIncidentsReport/index.js | 8 +++++++- client/src/store/actions/integrationActions.js | 10 +++++++--- controllers/integration.js | 15 +++++++++++++-- 5 files changed, 34 insertions(+), 10 deletions(-) diff --git a/client/src/components/MemberIncidentsTables/components/SingleIncidentsTable.js b/client/src/components/MemberIncidentsTables/components/SingleIncidentsTable.js index 05d5761..c4c2221 100644 --- a/client/src/components/MemberIncidentsTables/components/SingleIncidentsTable.js +++ b/client/src/components/MemberIncidentsTables/components/SingleIncidentsTable.js @@ -65,7 +65,7 @@ class SingleIncidentsTable extends Component { }; deleteSelectedFees = () => { - const { dateRange, deleteIncidentsById } = this.props; + const { dateRange, deleteIncidentsById, memberId } = this.props; const { selectedUnlockedIncidentIds, selectedUnscheduledIncidentIds, selectedBookingChangeIncidentIds } = this.state; const incidentsToDelete = { @@ -74,7 +74,7 @@ class SingleIncidentsTable extends Component { bookingChangeIncidentIds: selectedBookingChangeIncidentIds }; - deleteIncidentsById(dateRange, incidentsToDelete); + deleteIncidentsById(dateRange, incidentsToDelete, memberId); this.setState({ selectedUnlockedIncidentIds: [], selectedUnscheduledIncidentIds: [], @@ -252,7 +252,7 @@ class SingleIncidentsTable extends Component { } const mapDispatchToProps = (dispatch) => ({ - deleteIncidentsById: (dateRange, incidentsToDelete) => deleteIncidents(dispatch, {dateRange, incidentsToDelete}) + deleteIncidentsById: (dateRange, incidentsToDelete, memberId) => deleteIncidents(dispatch, {dateRange, incidentsToDelete, memberId}) }); export default connect(null, mapDispatchToProps)(SingleIncidentsTable); diff --git a/client/src/components/MemberIncidentsTables/index.js b/client/src/components/MemberIncidentsTables/index.js index d1c7f5b..061870e 100644 --- a/client/src/components/MemberIncidentsTables/index.js +++ b/client/src/components/MemberIncidentsTables/index.js @@ -8,7 +8,7 @@ import { } from '../../constants/enums'; export default function MemberIncidentsTables (props) { - const { pendingIncidents, incidents, hideMemberName, dateRange } = props; + const { pendingIncidents, incidents, hideMemberName, dateRange, memberId } = props; const incidentsRelatedToReservations = []; const standaloneIncidents = []; @@ -47,6 +47,7 @@ export default function MemberIncidentsTables (props) { hideMemberName={hideMemberName} tableType={incidentTableTypes.INCIDENTS_RELATED_TO_RESERVATIONS} dateRange={dateRange} + memberId={memberId} /> ); @@ -58,6 +59,7 @@ export default function MemberIncidentsTables (props) { hideMemberName={hideMemberName} tableType={incidentTableTypes.STANDALONE_INCIDENTS} dateRange={dateRange} + memberId={memberId} /> ); @@ -69,6 +71,7 @@ export default function MemberIncidentsTables (props) { hideMemberName={hideMemberName} tableType={incidentTableTypes.BOOKING_CHANGE_INCIDENTS} dateRange={dateRange} + memberId={memberId} /> ); diff --git a/client/src/scenes/SpecificMemberIncidentsReport/index.js b/client/src/scenes/SpecificMemberIncidentsReport/index.js index 5e1c0fb..d192645 100644 --- a/client/src/scenes/SpecificMemberIncidentsReport/index.js +++ b/client/src/scenes/SpecificMemberIncidentsReport/index.js @@ -83,7 +83,13 @@ class SpecificMemberIncidentsReport extends Component { - + diff --git a/client/src/store/actions/integrationActions.js b/client/src/store/actions/integrationActions.js index 9b6b545..f285e29 100644 --- a/client/src/store/actions/integrationActions.js +++ b/client/src/store/actions/integrationActions.js @@ -89,13 +89,17 @@ export const fetchIncidents = (dispatch, dateRange) => { }; export const deleteIncidents = (dispatch, deleteData) => { - dispatch({type: FETCH_INCIDENTS_PENDING}); + const pendingAction = deleteData.memberId ? FETCH_MEMBER_INCIDENTS_PENDING : FETCH_INCIDENTS_PENDING; + const successAction = deleteData.memberId ? FETCH_MEMBER_INCIDENTS_SUCCESS : FETCH_INCIDENTS_SUCCESS; + const failedAction = deleteData.memberId ? FETCH_MEMBER_INCIDENTS_FAILED : FETCH_INCIDENTS_FAILED; + + dispatch({type: pendingAction}); API.delete(`/integration/fees`, { data: deleteData }) .then(response => { - dispatch({type: FETCH_INCIDENTS_SUCCESS, payload: response.data}); + dispatch({type: successAction, payload: response.data}); }) .catch(error => { - dispatch({type: FETCH_INCIDENTS_FAILED, payload: error.response}); + dispatch({type: failedAction, payload: error.response}); }); }; diff --git a/controllers/integration.js b/controllers/integration.js index d3fc46f..e9c2d8b 100644 --- a/controllers/integration.js +++ b/controllers/integration.js @@ -181,6 +181,7 @@ const deleteFees= (req, res) => { const deleteData = req.body; const dateRange = deleteData.dateRange ? deleteData.dateRange : null; const incidents = deleteData.incidentsToDelete ? deleteData.incidentsToDelete : null; + const memberId = deleteData.memberId ? deleteData.memberId : null; const unlockedIncidentIds = incidents.unlockedIncidentIds ? incidents.unlockedIncidentIds : []; const unscheduledIncidentIds = incidents.unscheduledIncidentIds ? incidents.unscheduledIncidentIds : []; @@ -198,14 +199,24 @@ const deleteFees= (req, res) => { Promise.all(asyncDeleteActions) .then(() => { - getAllIncidentsController(req, res); + if (memberId){ + req.params.memberId = memberId; + getMemberIncidents(req, res); + }else{ + getAllIncidentsController(req, res); + } }) .catch((error) => { console.log('Error deleting incidents : ', error); res.status(500).send(); }); }else{ - getAllIncidentsController(req, res); + if (memberId){ + req.params.memberId = memberId; + getMemberIncidents(req, res); + }else{ + getAllIncidentsController(req, res); + } } }; -- 2.47.3