2017-02-14 21:59:26 +02:00
|
|
|
import api from '../api';
|
2017-06-27 19:07:21 +03:00
|
|
|
import { openModal, closeModal } from './modal';
|
2017-02-14 21:59:26 +02:00
|
|
|
|
|
|
|
export const REPORT_INIT = 'REPORT_INIT';
|
|
|
|
export const REPORT_CANCEL = 'REPORT_CANCEL';
|
|
|
|
|
|
|
|
export const REPORT_SUBMIT_REQUEST = 'REPORT_SUBMIT_REQUEST';
|
|
|
|
export const REPORT_SUBMIT_SUCCESS = 'REPORT_SUBMIT_SUCCESS';
|
|
|
|
export const REPORT_SUBMIT_FAIL = 'REPORT_SUBMIT_FAIL';
|
|
|
|
|
2017-04-13 20:36:41 +03:00
|
|
|
export const REPORT_STATUS_TOGGLE = 'REPORT_STATUS_TOGGLE';
|
|
|
|
export const REPORT_COMMENT_CHANGE = 'REPORT_COMMENT_CHANGE';
|
2018-02-28 07:54:55 +02:00
|
|
|
export const REPORT_FORWARD_CHANGE = 'REPORT_FORWARD_CHANGE';
|
2017-02-14 21:59:26 +02:00
|
|
|
|
|
|
|
export function initReport(account, status) {
|
2017-06-27 19:07:21 +03:00
|
|
|
return dispatch => {
|
|
|
|
dispatch({
|
|
|
|
type: REPORT_INIT,
|
|
|
|
account,
|
|
|
|
status,
|
|
|
|
});
|
|
|
|
|
|
|
|
dispatch(openModal('REPORT'));
|
2017-02-14 21:59:26 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
export function cancelReport() {
|
|
|
|
return {
|
2017-05-20 18:31:47 +03:00
|
|
|
type: REPORT_CANCEL,
|
2017-02-14 21:59:26 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
export function toggleStatusReport(statusId, checked) {
|
|
|
|
return {
|
|
|
|
type: REPORT_STATUS_TOGGLE,
|
|
|
|
statusId,
|
|
|
|
checked,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
export function submitReport() {
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
dispatch(submitReportRequest());
|
|
|
|
|
|
|
|
api(getState).post('/api/v1/reports', {
|
|
|
|
account_id: getState().getIn(['reports', 'new', 'account_id']),
|
|
|
|
status_ids: getState().getIn(['reports', 'new', 'status_ids']),
|
2017-05-20 18:31:47 +03:00
|
|
|
comment: getState().getIn(['reports', 'new', 'comment']),
|
2018-02-28 07:54:55 +02:00
|
|
|
forward: getState().getIn(['reports', 'new', 'forward']),
|
2017-06-27 19:07:21 +03:00
|
|
|
}).then(response => {
|
|
|
|
dispatch(closeModal());
|
|
|
|
dispatch(submitReportSuccess(response.data));
|
|
|
|
}).catch(error => dispatch(submitReportFail(error)));
|
2017-02-14 21:59:26 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
export function submitReportRequest() {
|
|
|
|
return {
|
2017-05-20 18:31:47 +03:00
|
|
|
type: REPORT_SUBMIT_REQUEST,
|
2017-02-14 21:59:26 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
export function submitReportSuccess(report) {
|
|
|
|
return {
|
|
|
|
type: REPORT_SUBMIT_SUCCESS,
|
2017-05-20 18:31:47 +03:00
|
|
|
report,
|
2017-02-14 21:59:26 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
export function submitReportFail(error) {
|
|
|
|
return {
|
|
|
|
type: REPORT_SUBMIT_FAIL,
|
2017-05-20 18:31:47 +03:00
|
|
|
error,
|
2017-02-14 21:59:26 +02:00
|
|
|
};
|
|
|
|
};
|
2017-04-13 20:36:41 +03:00
|
|
|
|
|
|
|
export function changeReportComment(comment) {
|
|
|
|
return {
|
|
|
|
type: REPORT_COMMENT_CHANGE,
|
2017-05-20 18:31:47 +03:00
|
|
|
comment,
|
2017-04-13 20:36:41 +03:00
|
|
|
};
|
|
|
|
};
|
2018-02-28 07:54:55 +02:00
|
|
|
|
|
|
|
export function changeReportForward(forward) {
|
|
|
|
return {
|
|
|
|
type: REPORT_FORWARD_CHANGE,
|
|
|
|
forward,
|
|
|
|
};
|
|
|
|
};
|