Admin project workflow: create, bid, accept, invoice on property page #179
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Type
Feature
Lineage
Child of spike #121. Part of Phase 3. Depends on #122 (ServiceRequest model), #176 (projects section on property page).
Repo
ldraney/landscaping-assistantUser Story
As an admin, when a customer calls requesting a project (e.g., "build a retaining wall"), I want to go to that property's detail page, create a new project, set a bid, and manage the workflow through acceptance and payment — all from one place.
Context
The flow admin experiences:
Note: #122's current transition graph is
requested → quoted → paid → scheduled → completed. This ticket likely needs anacceptedstate betweenquotedandpaid, because work often begins after acceptance but before payment. The migration to add this state should be part of this ticket or a prerequisite patch to #122.File Targets
app/controllers/service_requests_controller.rb(new — create, update, accept, pay actions)app/views/service_requests/_new_project_form.html.erb(new — inline form on property page)app/views/service_requests/_property_projects.html.erb(update from #176 — add status badges, bid display, accept/pay buttons)app/views/service_requests/_project_card.html.erb(new — individual project card with status, price, actions)app/assets/stylesheets/application.css(add project card, status badge, form styles)app/mailers/invoice_mailer.rb(new — sends Stripe payment link to client)config/routes.rb(add service_request routes nested under properties)spec/requests/service_requests_spec.rb(new)Acceptance Criteria
Test Expectations
spec/requests/service_requests_spec.rb: CRUD, status transitions, authorizationspec/mailers/invoice_mailer_spec.rb: email content and Stripe linkbundle exec rspecConstraints
~/ror-css-guideFeature Flag
None
Checklist
Related