feat(projects,time): task creation, budget input, project/task time logging (MAPPS-128) #91
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/mapps-128-project-task-budget-logtime"
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?
What
Exposes the three project write paths the backend (PMS-51) supports but the SPA did not: creating a task, assigning a budget, and logging time against a project/task.
Closes MAPPS-128.
How
ProjectNewPage): Budget Amount + Budget Hours inputs, sent onPOST /api/v1/projectswhen set.ProjectDetailPage): an "Add Task" button opens a modal (title, status from/task-statuses, priority, estimated hours, due date, optional assignee from/auth/users) thatPOSTs to/api/v1/projects/:id/tasksand refreshes the Tasks card on success.TimeEntryNewPage): the Work Item picker now lists projects alongside tickets. Select values are prefixedticket:/project:; a ticket supplies its company, a project supplies its own (only projects with a company are listed, since a time entry'scompany_idis required). Picking a project reveals an optional Task picker from that project's tasks. The entry carriesproject_id(+task_id) and the project'scompany_id; approved project/task time rolls into the project actuals.Stacked on #88 + #89
Built on the MAPPS-126/127 branch (reuses the projects wiring). Until those merge, this PR's diff also shows their changes. Merge #88, then #89, then this.
Verification
cargo fmt --checkclean;cargo clippy --target wasm32-unknown-unknown --all-targets -- -D warningsclean.project_id+task_idtime entry all returned 200. Test data cleaned up.🤖 Generated with Claude Code