fix "Delete fee" on Member Incidents Report screen
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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}
|
||||
/>
|
||||
);
|
||||
|
||||
|
||||
@@ -83,7 +83,13 @@ class SpecificMemberIncidentsReport extends Component {
|
||||
<Grid.Row/>
|
||||
<Grid.Row>
|
||||
<Grid.Column>
|
||||
<MemberIncidentsTables incidents={memberIncidents} pendingIncidents={loading} hideMemberName/>
|
||||
<MemberIncidentsTables
|
||||
incidents={memberIncidents}
|
||||
pendingIncidents={loading}
|
||||
hideMemberName
|
||||
dateRange={dateRange}
|
||||
memberId={memberId}
|
||||
/>
|
||||
</Grid.Column>
|
||||
</Grid.Row>
|
||||
</Grid>
|
||||
|
||||
@@ -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});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user