diff --git a/frontend/src/pages/SpentTime.tsx b/frontend/src/pages/SpentTime.tsx index f1afdf85..ea4b5fc0 100644 --- a/frontend/src/pages/SpentTime.tsx +++ b/frontend/src/pages/SpentTime.tsx @@ -6,6 +6,9 @@ import { FetchedTimeEntry } from "model"; export const SpentTime = () => { const [spentTime, setSpentTime] = useState<{}>({}); + const today = new Date(); + const oneYearAgo = new Date(); + oneYearAgo.setFullYear(oneYearAgo.getFullYear() - 1); React.useEffect(() => { getHoursPerActivity(); @@ -14,8 +17,8 @@ export const SpentTime = () => { const getHoursPerActivity = async () => { const timeEntries = await getTimeEntries( undefined, - new Date(2019, 6, 5, 10, 33, 30), - new Date(), + oneYearAgo, + today, context ); let activityHours = {}; diff --git a/frontend/src/utils.tsx b/frontend/src/utils.tsx index bed561bf..b5d6f571 100644 --- a/frontend/src/utils.tsx +++ b/frontend/src/utils.tsx @@ -174,24 +174,29 @@ export const useEscaper = ( // Retrieve time entries via api export const getTimeEntries = async ( - issueActivityc: IssueActivityPair, + issueActivity: IssueActivityPair, from_date: Date, to_date: Date, context: any ) => { // The ofset param is used to get all time_entries // from the api, as the limit per batch is 100 - let offset = 0; + let offset: number = 0; let gotTotal = false; + let queryparams = new URLSearchParams({ - issue_id: issueActivityc ? `${issueActivityc.issue.id}` : "", - activity_id: issueActivityc ? `${issueActivityc.activity.id}` : "", + issue_id: issueActivity ? `${issueActivity.issue.id}` : "", + activity_id: issueActivity ? `${issueActivity.activity.id}` : "", from: formatDate(from_date, dateFormat), to: formatDate(to_date, dateFormat), offset: `${offset}`, limit: "100", }); + if (!issueActivity) { + queryparams.delete("issue_id"); + queryparams.delete("activity_id"); + } let allEntries: FetchedTimeEntry[] = []; while (gotTotal === false) { @@ -201,12 +206,16 @@ export const getTimeEntries = async ( if (entries) { if (entries.total_count > 100 && entries.time_entries.length == 100) { offset += 100; + queryparams.set("offset", offset.toString()); } else { gotTotal = true; } allEntries.push(...entries.time_entries); + } else { + gotTotal = true; } - if (allEntries) return allEntries; } + if (allEntries) return allEntries; + return null; };