feat(time): General/ticketless time logging with own-company attribution (MAPPS-243) #277
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/MAPPS-243-general-ticketless-time-logging"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements the frontend half of ticketless time logging (MAPPS-243), the SPA-side counterpart to PMS-394 / PMS-413. Adds a "General (no ticket or project)" option to the log-time Work Item selector so users can log overhead time with no ticket and no project; the entry is attributed to the tenant's own company (
own_company_id, surfaced on/auth/meby PMS-413) and classified server-side viawork_category = "general", with the existing ticket and project flows now sending"ticketed"/"project". Theown_company_idis threaded onto the clientCurrentUser(DTO + the/auth/meMeBodydeserializer, defaulted None at id-token-sourced construction sites since the post-login/mefetch reconciles it). The "Please pick a work item." validation no longer blocks a General entry, and the list renders a "General" label distinct from the "-" used for unlinked entries. Defensive against a pre-backfill tenant: whenown_company_idis absent the General option is disabled with an inline notice and the submit path refuses rather than sending a nullcompany_id. Verified in the dev container: rustfmt, clippy -D warnings, wasm check, and the full test suite (165 passing, incl new work_item_label cases).#MAPPS-243