|
|
@ -226,7 +226,6 @@ const TimeTrack = { |
|
|
|
manually: false, |
|
|
|
manually: false, |
|
|
|
minutes: Math.round(minutesSpent) |
|
|
|
minutes: Math.round(minutesSpent) |
|
|
|
}; |
|
|
|
}; |
|
|
|
// console.log(historyEntry);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.experimental.trackWorktime) { |
|
|
|
if (this.experimental.trackWorktime) { |
|
|
|
if (ticket.paused) { |
|
|
|
if (ticket.paused) { |
|
|
@ -277,6 +276,24 @@ const TimeTrack = { |
|
|
|
|
|
|
|
|
|
|
|
this.stopTracking(ticket); |
|
|
|
this.stopTracking(ticket); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
sendLastBookingToTicketSystem(ticket) { |
|
|
|
|
|
|
|
let component = this; |
|
|
|
|
|
|
|
let latestHistoryItem = ticket.history[0]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.ticketSystemUrl && this.isTicketNumber(ticket.number)) { |
|
|
|
|
|
|
|
let finishedTasks = ticket.tasks.filter((task) => { |
|
|
|
|
|
|
|
return task.finished > latestHistoryItem.trackingStarted && task.finished < latestHistoryItem.trackingStopped; |
|
|
|
|
|
|
|
}).map((task) => { |
|
|
|
|
|
|
|
return task.name; |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
window.open( |
|
|
|
|
|
|
|
component.ticketSystemUrl + ticket.number.replace('#', '').trim()+'/time_entries/new?time_entry[hours]='+(Math.round(latestHistoryItem.minutes)/60)+ |
|
|
|
|
|
|
|
'&time_entry[activity_id]=9&time_entry[comments]='+finishedTasks.join(', '), |
|
|
|
|
|
|
|
'_blank' |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
resumeTracking(ticket) { |
|
|
|
resumeTracking(ticket) { |
|
|
|
ticket.trackingStarted = moment(); |
|
|
|
ticket.trackingStarted = moment(); |
|
|
|
ticket.tracking = true; |
|
|
|
ticket.tracking = true; |
|
|
|