2018-06-14 16:49:28 +02:00
|
|
|
import {API_SERVER} from '../../config';
|
|
|
|
|
import HtmlClient from '../../helpers/HtmlClient';
|
|
|
|
|
import {
|
|
|
|
|
REQUEST_ORDER_PROJECTS,
|
|
|
|
|
RECEIVE_ORDER_PROJECTS,
|
|
|
|
|
REQUEST_ADD_PROJECT,
|
|
|
|
|
orderProjectsTexts
|
|
|
|
|
} from '../../constants/orderProjectsConstants';
|
|
|
|
|
import {updateMessages} from '../notification/notificationActions';
|
|
|
|
|
import {setDialogOpenFlag} from '../dialog/dialogActions';
|
|
|
|
|
|
|
|
|
|
const htmlClient = new HtmlClient();
|
|
|
|
|
|
|
|
|
|
const requestOrderProjects = () => ({
|
|
|
|
|
type: REQUEST_ORDER_PROJECTS,
|
|
|
|
|
isLoading: true
|
|
|
|
|
});
|
|
|
|
|
const recieveOrderProjects = (json) => ({
|
|
|
|
|
type: RECEIVE_ORDER_PROJECTS,
|
|
|
|
|
isLoading: false,
|
|
|
|
|
orderProjects: json
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const generateOptions = (orderProjects) => {
|
|
|
|
|
orderProjects.forEach((orderProject) => {
|
|
|
|
|
orderProject.value = orderProject.idProject;
|
|
|
|
|
orderProject.label = orderProject.projectName;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return orderProjects;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const getOrderProjects = () => {
|
|
|
|
|
return dispatch => {
|
|
|
|
|
dispatch(requestOrderProjects());
|
2018-08-29 07:56:37 +02:00
|
|
|
|
|
|
|
|
dispatch(recieveOrderProjects(generateOptions([
|
|
|
|
|
{
|
|
|
|
|
"idProject": 1,
|
|
|
|
|
"projectName": "Innovation Center",
|
|
|
|
|
"isAvailable": 1
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"idProject": 2,
|
|
|
|
|
"projectName": "Demo01",
|
|
|
|
|
"isAvailable": 1
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"idProject": 3,
|
|
|
|
|
"projectName": "Kontorsrådet",
|
|
|
|
|
"isAvailable": 1
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"idProject": 4,
|
|
|
|
|
"projectName": "PerProj01",
|
|
|
|
|
"isAvailable": 1
|
|
|
|
|
}
|
|
|
|
|
])));
|
|
|
|
|
// return htmlClient.fetch({
|
|
|
|
|
// url: `${API_SERVER}/orderProjects/api/getOrderProjects`
|
|
|
|
|
// })
|
|
|
|
|
// .then(response => {
|
|
|
|
|
// if (response.data) {
|
|
|
|
|
// const orderProjects = generateOptions(response.data);
|
|
|
|
|
// dispatch(recieveOrderProjects(orderProjects));
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
// .catch(error => {
|
|
|
|
|
// htmlClient.onError(error, dispatch);
|
|
|
|
|
// });
|
2018-06-14 16:49:28 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const requestAddProject = () => ({
|
|
|
|
|
type: REQUEST_ADD_PROJECT,
|
|
|
|
|
isLoading: true
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
export const addProject = (projectData) => {
|
|
|
|
|
return dispatch => {
|
|
|
|
|
dispatch(requestAddProject());
|
|
|
|
|
return htmlClient.fetch({
|
|
|
|
|
url: `${API_SERVER}/orderProjects/api/addOrderProject`,
|
|
|
|
|
method: 'post',
|
|
|
|
|
data: {projectData: JSON.stringify(projectData)}
|
|
|
|
|
})
|
|
|
|
|
.then(response => {
|
|
|
|
|
if(response.data && response.data.messages){
|
|
|
|
|
dispatch(updateMessages(response.data.messages, orderProjectsTexts.messages));
|
|
|
|
|
if(response.data.messages[0].code === 'success'){
|
|
|
|
|
dispatch(getOrderProjects());
|
|
|
|
|
dispatch(setDialogOpenFlag(false));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(error => {
|
|
|
|
|
htmlClient.onError(error, dispatch);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|