Skip to content

Dashboad Assignee Filter(Filter by Employee) - #377

Merged
suraj-yadav0 merged 4 commits into
CITOpenRep:release/v1.3.4from
parvathyabnair:release/v1.3.5
Oct 12, 2026
Merged

suraj-yadav0 merged 4 commits into
CITOpenRep:release/v1.3.4from
parvathyabnair:release/v1.3.5

Conversation

@parvathyabnair

Copy link
Copy Markdown
Contributor

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.

@suraj-yadav0 suraj-yadav0 self-assigned this Oct 7, 2026
@suraj-yadav0 suraj-yadav0 added the enhancement New feature or request label Oct 7, 2026

@suraj-yadav0 suraj-yadav0 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread models/task.js Resolved
…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

@suraj-yadav0 suraj-yadav0 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Cannot deselect employee in the filter menu:
    - In "All Accounts" mode, clicking a selected user does not uncheck them because
    removeSelectionIfPresent in AssigneeFilterMenu.qml (line 128) does not handle account_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".

  2. 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.
  1. 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).
  1. Long notes do not wrap in the log list:
  • In TaskTimeChart.qml (line 734) and TaskDetailPage.qml (line 183), Layout.fillWidth: true does not work inside a plain Column. Please use width: parent.width instead so long text
    wraps properly.
  1. Formatting:
  • Please fix the stepped indentation on the .import lines at the top of models/Main.js,
    models/project.js, and models/timesheet.js.

…ation, task spent updates, text wrapping, and indentation

@suraj-yadav0 suraj-yadav0 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • test_delegateLayoutAndClick fails 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).

parvathyabnair and others added 2 commits October 12, 2026 14:01
Reset selection before querying delegates and re-query after re-rendering to prevent clicking stale item references.
@suraj-yadav0
suraj-yadav0 merged commit 57b6911 into CITOpenRep:release/v1.3.4 Oct 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants