Skip to content

Commit

Permalink
Add allocated and used in summary (#124)
Browse files Browse the repository at this point in the history
  • Loading branch information
dimasciput authored Dec 29, 2023
1 parent 6ab6b77 commit 9553de1
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 44 deletions.
28 changes: 17 additions & 11 deletions dashboard/api_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,18 +99,24 @@ def task_based_analysis(self, report_data):
continue
task = Task.objects.filter(
erp_id=report[REPORT_TASK]
)
if task.exists():
task = task.first().name
else:
task = report[REPORT_TASK]

if task not in tasks:
tasks[task] = {}
if report[REPORT_USER] not in tasks[task]:
tasks[task][report[REPORT_USER]] = report[REPORT_HOURS]
).first()
task_name = report[REPORT_TASK]
if task:
task_name = task.name

if task_name not in tasks:
tasks[task_name] = {}
if task:
tasks[task_name] = {
'summary': {
'allocated_hours': task.expected_time,
'used_hours': task.actual_time
}
}
if report[REPORT_USER] not in tasks[task_name]:
tasks[task_name][report[REPORT_USER]] = report[REPORT_HOURS]
else:
tasks[task][report[REPORT_USER]] += report[REPORT_HOURS]
tasks[task_name][report[REPORT_USER]] += report[REPORT_HOURS]
return tasks

def user_based_analysis(self, report_data):
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

47 changes: 32 additions & 15 deletions dashboard/src/components/TaskReportTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,38 @@ export const TaskReportTable = (props : any) => {
<Typography align={'left'} style={{ padding: 20, backgroundColor: 'rgba(116, 116, 116, 0.28)' }}>
{data}
</Typography>
<Table>
<TableHead>
<TableCell width={'50%'}>Name</TableCell>
<TableCell>Total Hours</TableCell>
</TableHead>
<TableBody>
{Object.keys(props.data[data]).map((taskData) => (
<TableRow>
<TableCell>
{taskData}
</TableCell>
<TableCell>
{props.data[data][taskData].toFixed(2)}
</TableCell>
</TableRow>
{
props.data[data].hasOwnProperty('summary') ? <div style={{
display: 'flex',
justifyContent: 'space-between',
padding: '0 20px',
marginTop: -55
}}>
<Typography align={'left'}>
</Typography>
<Typography align={'right'}>
Allocated: {props.data[data]['summary']['allocated_hours']}
<br/>
Used: {props.data[data]['summary']['used_hours']}
</Typography>
</div> : null
}
<Table>
<TableHead>
<TableCell width={'50%'}>Name</TableCell>
<TableCell>Total Hours</TableCell>
</TableHead>
<TableBody>
{Object.keys(props.data[data]).map((taskData) => (
taskData !== 'summary' ?
<TableRow>
<TableCell>
{taskData}
</TableCell>
<TableCell>
{props.data[data][taskData].toFixed(2)}
</TableCell>
</TableRow> : null
))}
</TableBody>
</Table>
Expand Down
28 changes: 14 additions & 14 deletions dashboard/webpack-stats.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
"name": "Space.1c8a2a3960d910845741.js",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/Space.1c8a2a3960d910845741.js"
},
"Summary.54d493da0bfbe45fde71.js": {
"name": "Summary.54d493da0bfbe45fde71.js",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/Summary.54d493da0bfbe45fde71.js"
"Summary.d5b241ecbbbb041a5257.js": {
"name": "Summary.d5b241ecbbbb041a5257.js",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/Summary.d5b241ecbbbb041a5257.js"
},
"PublicSummary.570ee5aea24e7954fe1f.js": {
"name": "PublicSummary.570ee5aea24e7954fe1f.js",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/PublicSummary.570ee5aea24e7954fe1f.js"
"PublicSummary.250128c6d69e5d4bb9bb.js": {
"name": "PublicSummary.250128c6d69e5d4bb9bb.js",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/PublicSummary.250128c6d69e5d4bb9bb.js"
},
"Planner.4b99738076808261990b.js": {
"name": "Planner.4b99738076808261990b.js",
Expand Down Expand Up @@ -177,17 +177,17 @@
"name": "Planner.4b99738076808261990b.js.LICENSE.txt",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/Planner.4b99738076808261990b.js.LICENSE.txt"
},
"PublicSummary.570ee5aea24e7954fe1f.js.LICENSE.txt": {
"name": "PublicSummary.570ee5aea24e7954fe1f.js.LICENSE.txt",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/PublicSummary.570ee5aea24e7954fe1f.js.LICENSE.txt"
"PublicSummary.250128c6d69e5d4bb9bb.js.LICENSE.txt": {
"name": "PublicSummary.250128c6d69e5d4bb9bb.js.LICENSE.txt",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/PublicSummary.250128c6d69e5d4bb9bb.js.LICENSE.txt"
},
"Space.1c8a2a3960d910845741.js.LICENSE.txt": {
"name": "Space.1c8a2a3960d910845741.js.LICENSE.txt",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/Space.1c8a2a3960d910845741.js.LICENSE.txt"
},
"Summary.54d493da0bfbe45fde71.js.LICENSE.txt": {
"name": "Summary.54d493da0bfbe45fde71.js.LICENSE.txt",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/Summary.54d493da0bfbe45fde71.js.LICENSE.txt"
"Summary.d5b241ecbbbb041a5257.js.LICENSE.txt": {
"name": "Summary.d5b241ecbbbb041a5257.js.LICENSE.txt",
"path": "/Users/user/Documents/Kartoza/timesheet-project/dashboard/assets/webpack_bundles/Summary.d5b241ecbbbb041a5257.js.LICENSE.txt"
}
},
"chunks": {
Expand All @@ -198,10 +198,10 @@
"Space.1c8a2a3960d910845741.js"
],
"Summary": [
"Summary.54d493da0bfbe45fde71.js"
"Summary.d5b241ecbbbb041a5257.js"
],
"PublicSummary": [
"PublicSummary.570ee5aea24e7954fe1f.js"
"PublicSummary.250128c6d69e5d4bb9bb.js"
],
"Planner": [
"Planner.4b99738076808261990b.js"
Expand Down

0 comments on commit 9553de1

Please sign in to comment.