fix "Delete fee" on Member Incidents Report screen #67

Merged
bilal.catic merged 1 commits from allow-deleting-incident-fees into master 2019-11-21 15:16:29 +01:00
5 changed files with 34 additions and 10 deletions

View File

@@ -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);

View File

@@ -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}
/>
);

View File

@@ -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>

View File

@@ -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});
});
};

View File

@@ -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);
}
}
};