Feature #3250
open[oms-bug-fixes] web: OMS UI bug fixes: chips, sorting, date field, reset password
0%
Description
Overview¶
Feature for the web side. 28 test case(s) generated.
Requirement¶
"UI Bug fixes"
Attached file (read it directly for the real content): /opt/drcarrot-deploy/cross-repo-orchestration/contracts/.attachments/dev-hub-spec-twhXSJXa7BbAYdn2C-requirement-1.md
Attached file (read it directly for the real content): /opt/drcarrot-deploy/cross-repo-orchestration/contracts/.attachments/dev-hub-spec-SCNiyQbx6bXCxZBaL-OMS_Screens__standalone___2_.html
Explicit Constraints¶
- Do not skip any requirement. scope/implementation
- We do not need the Status column in the Expenses List. Remove the Status column from the Expenses List. screens/UI — Expenses List
- Do not disable the field unless there is a specific business requirement. screens/UI — New Expense Date field
- Do not limit this fix only to Supplier and Project. Please review all list/table screens and identify columns that should support sorting. scope — sorting implementation
- No authenticated layout (Sidebar/Header) should remain visible after logout/session termination. screens/UI — Reset Password / authentication flow
- Do not leave stale authentication/session state in the application. existing behavior — session/auth state
- Fix the common/root cause wherever possible instead of creating screen-specific workarounds. scope/implementation approach
- Do not assume that fixing one screen means the requirement is complete. Check all applicable screens. scope — coverage of fixes
- The task should not be considered complete until every item above has been implemented and individually verified. scope/completion criteria
Acceptance Criteria¶
(none extracted — spec-extract has not run for this session)
Test Cases¶
☐ Every list screen that shows a Status column renders the status as a chip/badge element rather than plain text.
☐ Each status chip renders with the exact background color, text color, border/border-radius, padding, and typography specified in the OMS_Screens design reference for that status value.
☐ Status chip rendering is implemented as one reusable StatusChip component, and every list screen showing status imports and renders that same component rather than a screen-local copy.
☐ The Expenses List screen no longer renders a Status column at all.
☐ Status-related UI logic that is no longer needed (status filter controls, status-derived styling/sorting hooks tied to the removed column) is removed from the Expenses List implementation.
☐ The Date field on the New Expense screen is enabled/editable, not disabled.
☐ Clicking/triggering the New Expense Date field opens a working date picker.
☐ Selecting a different date in the New Expense date picker updates the Date field's value accordingly.
☐ The selected date on the New Expense screen is displayed using the correct, consistent date format.
☐ The date value selected on the New Expense screen is submitted correctly to the API when the expense is saved.
☐ On any list screen where the data set has only one row, the sort control/icon for that list's columns is hidden.
☐ On list screens with multiple rows, the sort control/icon is shown for columns that are sortable.
☐ The Supplier column supports sorting via the UI wherever it appears in a multi-row list.
☐ Sorting by the Supplier column is correctly applied via the backend/API, not only re-ordered client-side.
☐ The Project column supports sorting via the UI wherever it appears in a multi-row list.
☐ Sorting by the Project column is correctly applied via the backend/API, not only re-ordered client-side.
☐ Across all list/table screens, the sort icon appears only on columns that are genuinely sortable and never on non-sortable columns.
☐ Clicking a sortable column's control correctly toggles the list between ascending and descending order.
☐ The sort icon/UI state (direction indicator, active-column highlight) accurately reflects the list's actual applied sort state at all times.
☐ Backend/API sorting is correctly handled for every sortable column across all list/table screens, not just Supplier and Project.
☐ The Expenses Summary list no longer displays the literal text 'View Details' as its view action.
☐ The Expenses Summary view action is rendered as an icon matching the design's icon-based action style (icon choice, size, color, spacing, alignment) used on other list screens.
☐ Clicking the Expenses Summary view icon opens the correct Expense Summary details for that specific row.
☐ Submitting a password reset in the Reset Password flow completes successfully end to end.
☐ After a successful password reset, session/authentication state is handled by the reset flow's own logic rather than unconditionally triggering the generic logout flow.
☐ After a successful password reset, the user is redirected to the Login screen.
☐ After the Reset Password redirect (and after any logout/session termination generally), the Login screen renders standalone with no authenticated Sidebar/Header remaining.
☐ After the Reset Password flow completes, no stale authentication/session state (tokens, cached user, auth headers) remains anywhere in the application.
Implementation Details¶
Merge Request¶
- Repository: oms/oms-web
- Branch: feat/3250-oms-ui-bug-fixes-chips-s
- MR: https://gitlab.techbumbles.co.in/oms/oms-web/-/merge_requests/10
Commits¶
- fbcaca8 Contract (oms-bug-fixes)
- 2fa4249 4. Dead Code (oms-bug-fixes)
- 815264d UI Implementation (oms-bug-fixes)
- 6002e6a Data Layer (oms-bug-fixes)
Verification¶
Quality Gates¶
- 1. Unit Tests: SKIPPED — 0 passed / 0 failed, 0% coverage
- (1. Unit Tests at SKIPPED (human override — see gate_override in approvals_index) could not be attached — see log above)
- 2. TypeScript: PASS — 0 error(s)
-
- TypeScript attached: W11_gate_typescript-oms-bug-fixes.txt
- 3. Lint: PASS — 0 error(s), 0 warning(s)
-
- Lint attached: W12_gate_lint-oms-bug-fixes.txt
- 4. Dead Code: PASS
-
- Dead Code attached: W13_gate_dead-code-oms-bug-fixes.txt
- 5. Code & Style Quality Audit: FAIL
-
- Code & Style Quality Audit attached: W14_gate_quality-audit-oms-bug-fixes.txt
- 6. Design Consistency Audit: FAIL
-
- Design Consistency Audit attached: design-consistency-audit-3250.txt
- 7. Responsive Audit: FAIL
-
- Responsive Audit attached: responsive-audit-3250.txt
- Code Review: NEEDS_CHANGES
- UI Verify: FAIL
- UI Verify attached: ui-verify-3250.txt
UI Verification¶
FAIL
- Match: 56/73 fields (76.7%)
- Screens verified: Orders, Item List, Uom List, Supplier List, Project List, Expense List, Expense Summary, Project-1, Add Expense, Reset Password
Business Logic Verification: FAILED - (Live verification evidence at /tmp/oms-web-w30-live-verify-evidence.txt (+ screenshot /tmp/lv-A-stuck-on-login.png) could not be attached — see log above)
Orchestration slug: oms-bug-fixes (side: web)
Files