Skip to content

[Feature] 'Timesheets' | Manager should be able to filter timesheets #3044

@ariefgp

Description

@ariefgp

Description

Related Document: Document 1

As a manager,
I want to be able to filter timesheets by various criteria including employee, project, task, approval status and time duration.
So that I can quickly access relevant timesheet data, analyze specific sets of time entries, and make informed decisions about resource allocation and project management.

Requirements

  • Develop a user interface for applying filters to timesheet data.

  • Implement filtering functionality for the following criteria:

    • Employee
    • Project
    • Task
    • Approval status
    • Time duration
  • Allow multiple filters to be applied simultaneously.

  • Ensure the filtering mechanism is efficient and maintains system performance.

  • Provide a way to clear all filters and return to the unfiltered view.

UI

image

Acceptance Criteria

  • The timesheet view includes a clearly visible "Filter" option or section.
  • Managers can filter timesheets by the following criteria:
    • Employee: Select one or multiple employees from a list of team members
    • Project: Choose from a list of active projects
    • Task: Select from a list of predefined tasks or enter custom task names
    • Approval Status: Options include "Approved", "Pending", "Rejected"
    • Time Duration: Ability to set a custom time range (start time and end time)
  • Multiple filters can be applied concurrently. For example, a manager can filter for a specific employee working on a particular project with pending approval status.
  • The interface updates in real-time as filters are applied, showing only the timesheet entries that match all selected criteria.
  • A "Clear All Filters" button is available to reset the view to show all timesheet entries.
  • The system maintains acceptable performance even when applying complex filter combinations to large datasets.
  • If no results match the selected filters, a clear message is displayed, and suggestions for broadening the search are provided.
  • Filtered results maintain all functionality of the regular timesheet view, including the ability to approve/reject entries
  • The current active filters are clearly displayed at the top of the results, allowing for easy understanding of the current view.
  • The filtering mechanism works consistently across different devices and screen sizes.

Technical

Available:

activityLevel[start]: 0
activityLevel[end]: 100
projectIds[0]: 72d58955-72e8-441b-86db-1a60e5a4c4ed
employeeIds[0]: 2e42f5a2-e79a-4e67-996d-66cbc46b9e22
organizationId: 7fac8f69-2721-42c6-a3df-25dfa8a88bda
tenantId: 5049a039-4104-49dc-9356-ba005b0ed7e9
startDate: 2024-10-22 21:00:00
endDate: 2024-10-23 20:59:59
timeZone: Asia/Famagusta
relations[0]: project
relations[1]: task
relations[2]: organizationContact
relations[3]: employee.user
  • We can use projectIds and employeeIds to filter project and employee
  • We don't have filter for Task and Status. We need to add/develop this

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions