-
Notifications
You must be signed in to change notification settings - Fork 74
Closed
Description
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
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:
- API for Timesheet : https://api.gauzy.co/swg#/TimeLog/TimeLogController_getLogs
- Method :
GET
- Sample Request URL:
/api/timesheet/time-log
- Sample Payload:
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
andemployeeIds
to filter project and employee - We don't have filter for
Task
andStatus
. We need to add/develop this