Repository navigation
Dashboad Assignee Filter(Filter by Employee) - #377
Conversation
suraj-yadav0
left a comment
There was a problem hiding this comment.
Delete Dead files , Fix Task.Js, CleanUp Identation & Commits , Display a USer Name in the Logged Enteries so its easier to distinguish different Timesheet logs.
…ion, and user log display - Integrate AssigneeFilterMenu into Dashboard header for single and multi-employee filtering - Support cross-account user matching by email and role-based access filtering - Update database queries across models (Main, project, task, timesheet, accounts) for user filtering - Display user names in timesheet log entries in TaskTimeChart and TaskDetailPage - Remove obsolete selector dialog files and add comprehensive QML test suites - Clean up code formatting and indentation across models and components
9711a5c to
34c2c99
Compare
suraj-yadav0
left a comment
There was a problem hiding this comment.
-
Cannot deselect employee in the filter menu:
- In "All Accounts" mode, clicking a selected user does not uncheck them because
removeSelectionIfPresentinAssigneeFilterMenu.qml(line 128) does not handleaccount_id: -1.
- Clicking directly on the checkbox runs the click twice because of nested MouseAreas, so it
unchecks and instantly checks back.
- If you uncheck your name, the "Apply Filter" button becomes disabled. If you click "Clear
Filter", it just selects you again. When no specific employee is selected, it should automatically
select "All Users". -
Chart 4 does not update when changing employee:
- If you click into a project to see its tasks, and then change the employee filter at the top,
the task list and hours do not update.- If you then click on any task, it shows 0 timesheet logs because the task list was never
reloaded for the new filter.
- If you then click on any task, it shows 0 timesheet logs because the task list was never
- Different people get mixed together in "All Accounts" mode:
- In
models/accounts.js(line 997), matching by user ID alone across all accounts mixes up
different people who share the same ID number (like ID 2 or 6 on different servers).
- Long notes do not wrap in the log list:
- In
TaskTimeChart.qml(line 734) andTaskDetailPage.qml(line 183),Layout.fillWidth: truedoes not work inside a plainColumn. Please usewidth: parent.widthinstead so long text
wraps properly.
- Formatting:
- Please fix the stepped indentation on the
.importlines at the top ofmodels/Main.js,
models/project.js, andmodels/timesheet.js.
…ation, task spent updates, text wrapping, and indentation
35de4b4 to
438d470
Compare
suraj-yadav0
left a comment
There was a problem hiding this comment.
test_delegateLayoutAndClickfails at line 281:
FAIL! : qmltestrunner::AssigneeFilterMenuTests::test_delegateLayoutAndClick() 'Alice checkbox should be found' returned FALSE.
Lomiri's CheckBox (Lomiri.Components 1.3) does not implement checkState. Checking
ch.hasOwnProperty("checkState") evaluates to false. Please update line 276 to check ch && (ch.hasOwnProperty("checked") || ch.checked !== undefined).
- Uncheck / Clear Filter Flow on Dashboard:
• If an employee is unchecked, selectedAssigneeIds becomes empty, which disables the "Apply Filter" button (enabled: selectedAssigneeIds.length > 0).
• Clicking "Clear Filter" calls handleAssigneeFilterCleared(), which re-selects the logged-in user rather than reverting to "All Users".
• When showAllUsersOption: true, unchecking all individual employees should either automatically check "All Users", or "Clear Filter" should reset to "All Users" (selectedUserId = -1).
Reset selection before querying delegates and re-query after re-rendering to prevent clicking stale item references.
Enables managers to filter Dashboard metrics by individual employee to review specific recorded hours, project distribution, and task breakdowns, addressing the limitation of only being able to view aggregated team timesheets.