added parts for last 3 calls
This commit is contained in:
@@ -24,3 +24,29 @@ export const timeTicketCreateFailure = (error) => ({
|
||||
type: TimeTicketsActionTypes.TIME_TICKET_CREATE_FAILURE,
|
||||
payload: error,
|
||||
});
|
||||
|
||||
export const timeTicketClockInStart = (timeTicket) => ({
|
||||
type: TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_START,
|
||||
payload: timeTicket,
|
||||
});
|
||||
export const timeTicketClockInSuccess = (insertTimeTickets) => ({
|
||||
type: TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_SUCCESS,
|
||||
payload: insertTimeTickets,
|
||||
});
|
||||
export const timeTicketClockInFailure = (error) => ({
|
||||
type: TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_FAILURE,
|
||||
payload: error,
|
||||
});
|
||||
|
||||
export const timeTicketClockOutStart = (timeTicket) => ({
|
||||
type: TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_START,
|
||||
payload: timeTicket,
|
||||
});
|
||||
export const timeTicketClockOutSuccess = (insertTimeTickets) => ({
|
||||
type: TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_SUCCESS,
|
||||
payload: insertTimeTickets,
|
||||
});
|
||||
export const timeTicketClockOutFailure = (error) => ({
|
||||
type: TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_FAILURE,
|
||||
payload: error,
|
||||
});
|
||||
|
||||
@@ -6,6 +6,10 @@ const INITIAL_STATE = {
|
||||
timeTicketJob: null,
|
||||
uploadTimeTicketInProgress: false,
|
||||
uploadTimeTicketError: null,
|
||||
clockingIn: false,
|
||||
clockingInError: null,
|
||||
clockingOut: false,
|
||||
clockingOutError: null,
|
||||
};
|
||||
|
||||
const timeTicketsReducer = (state = INITIAL_STATE, action) => {
|
||||
@@ -23,22 +27,41 @@ const timeTicketsReducer = (state = INITIAL_STATE, action) => {
|
||||
timeTicketJob: action.payload
|
||||
};
|
||||
case TimeTicketsActionTypes.TIME_TICKET_CREATE_START:
|
||||
return {
|
||||
...state,
|
||||
uploadTimeTicketInProgress: true
|
||||
};
|
||||
return {...state,uploadTimeTicketInProgress: true};
|
||||
case TimeTicketsActionTypes.TIME_TICKET_CREATE_SUCCESS:
|
||||
return {
|
||||
...state, //TODO add logic here when successful
|
||||
return {...state,
|
||||
uploadTimeTicketInProgress: false,
|
||||
uploadTimeTicketError: null,
|
||||
};
|
||||
case TimeTicketsActionTypes.TIME_TICKET_CREATE_FAILURE:
|
||||
return {
|
||||
...state,
|
||||
return {...state,
|
||||
uploadTimeTicketInProgress: false,
|
||||
uploadTimeTicketError: action.payload,
|
||||
};
|
||||
case TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_START:
|
||||
return {...state,clockingIn: true};
|
||||
case TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_SUCCESS:
|
||||
return {...state,
|
||||
clockingIn: false,
|
||||
clockingInError: null,
|
||||
};
|
||||
case TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_FAILURE:
|
||||
return {...state,
|
||||
clockingIn: false,
|
||||
clockingInError: action.payload,
|
||||
};
|
||||
case TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_START:
|
||||
return {...state,clockingOut: true};
|
||||
case TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_SUCCESS:
|
||||
return {...state,
|
||||
clockingOut: false,
|
||||
clockingOutError: null,
|
||||
};
|
||||
case TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_FAILURE:
|
||||
return {...state,
|
||||
clockingOut: false,
|
||||
clockingOutError: action.payload,
|
||||
};
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
import {
|
||||
timeTicketCreateFailure,
|
||||
timeTicketCreateSuccess,
|
||||
timeTicketClockInSuccess,
|
||||
timeTicketClockInFailure,
|
||||
timeTicketClockOutSuccess,
|
||||
timeTicketClockOutFailure
|
||||
} from "./timetickets.actions";
|
||||
import TimeTicketsActionTypes from "./timetickets.types";
|
||||
import { client } from "../../graphql/client";
|
||||
@@ -67,6 +71,69 @@ export function* insertNewTimeTicket({ payload: { timeTicketInput } }) {
|
||||
}
|
||||
}
|
||||
|
||||
export function* timeTicketsSagas() {
|
||||
yield all([call(onCreateTimeTicketStart)]);
|
||||
export function* onClockOutStart() {
|
||||
yield takeLatest(TimeTicketsActionTypes.TIME_TICKET_CLOCKOUT_START,clockOutStart);
|
||||
}
|
||||
export function* clockOutStart({ payload: { timeTicketInput } }) {
|
||||
try {
|
||||
logImEXEvent("redux_clockOutStart_attempt");
|
||||
//console.loging
|
||||
console.log("Saga, clockOutStart :", timeTicketInput);
|
||||
// const timeTicket = yield select(selectCurrentTimeTicket);
|
||||
// const response = yield call(axios.post, "/tech/login", {
|
||||
// shopid: bodyshop.id,
|
||||
// employeeid: employeeId,
|
||||
// pin: pin,
|
||||
// });
|
||||
// const { valid, data, error } = response.data;
|
||||
// const result = yield client.mutate({
|
||||
// mutation: INSERT_NEW_TIME_TICKET,
|
||||
// variables: {
|
||||
// timeTicketInput: [
|
||||
// // {
|
||||
// // bodyshopid: bodyshop.id,
|
||||
// // employeeid: technician.id,
|
||||
// // date: moment(theTime).format("YYYY-MM-DD"),
|
||||
// // clockon: moment(theTime),
|
||||
// // jobid: values.jobid,
|
||||
// // cost_center: values.cost_center,
|
||||
// // ciecacode:
|
||||
// // bodyshop.cdk_dealerid || bodyshop.pbs_serialnumber
|
||||
// // ? values.cost_center
|
||||
// // : Object.keys(
|
||||
// // bodyshop.md_responsibility_centers.defaults.costs
|
||||
// // ).find((key) => {
|
||||
// // return (
|
||||
// // bodyshop.md_responsibility_centers.defaults.costs[key] ===
|
||||
// // values.cost_center
|
||||
// // );
|
||||
// // }),
|
||||
// // },
|
||||
// ],
|
||||
// },
|
||||
// });
|
||||
// console.log(result);
|
||||
// const { valid, data, error } = result.data;
|
||||
// if (valid) {
|
||||
// yield put(timeTicketCreateSuccess(data));
|
||||
// } else {
|
||||
// yield put(timeTicketCreateFailure(error));
|
||||
// }
|
||||
} catch (error) {
|
||||
yield put(timeTicketClockOutFailure(error));
|
||||
}
|
||||
}
|
||||
export function* onClockInStart() {
|
||||
yield takeLatest(TimeTicketsActionTypes.TIME_TICKET_CLOCKIN_START,clockInStart);
|
||||
}
|
||||
export function* clockInStart({ payload: { timeTicketInput } }) {
|
||||
try {
|
||||
logImEXEvent("redux_clockInStart_attempt");
|
||||
console.log("Saga, clockInStart :", timeTicketInput);
|
||||
} catch (error) {
|
||||
yield put(timeTicketClockInFailure(error));
|
||||
}
|
||||
}
|
||||
export function* timeTicketsSagas() {
|
||||
yield all([call(onCreateTimeTicketStart),call(onClockOutStart),call(onClockInStart)]);
|
||||
}
|
||||
|
||||
@@ -5,5 +5,11 @@ const TimeTicketsActionTypes = {
|
||||
TIME_TICKET_CREATE_START: "TIME_TICKET_CREATE_START",
|
||||
TIME_TICKET_CREATE_SUCCESS: "TIME_TICKET_CREATE_SUCCESS",
|
||||
TIME_TICKET_CREATE_FAILURE: "TIME_TICKET_CREATE_FAILURE",
|
||||
TIME_TICKET_CLOCKIN_START: "TIME_TICKET_CLOCKIN_START",
|
||||
TIME_TICKET_CLOCKIN_SUCCESS: "TIME_TICKET_CLOCKIN_SUCCESS",
|
||||
TIME_TICKET_CLOCKIN_FAILURE: "TIME_TICKET_CLOCKIN_FAILURE",
|
||||
TIME_TICKET_CLOCKOUT_START: "TIME_TICKET_CLOCKOUT_START",
|
||||
TIME_TICKET_CLOCKOUT_SUCCESS: "TIME_TICKET_CLOCKOUT_SUCCESS",
|
||||
TIME_TICKET_CLOCKOUT_FAILURE: "TIME_TICKET_CLOCKOUT_FAILURE",
|
||||
};
|
||||
export default TimeTicketsActionTypes;
|
||||
|
||||
Reference in New Issue
Block a user