You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Clients]: Create a quote for a specific client from the client list #191
Currently a user must navigate into a client's detail page (which doesn't exist yet) or go to the Quotes module and manually select the client. A one-click "Create quote" action on the client list saves navigation steps when starting work from the client context.
User story
As a user, when I see a client in the clients list, I want to click an action and be taken directly to the quote creation form with that client pre-selected.
Acceptance criteria
A Create quote action exists in the client row action group in the clients list.
Clicking it navigates to the quote creation form with prospect_id / customer_id pre-filled to the selected client.
The action is visible for all client types (prospect and customer).
Arrange / Act / Assert
Arrange — Client Acme Corp exists.
Act — Click "Create quote" in Acme Corp's row dropdown.
changed the title [-]As a user, viewing all the clients, i want to click on a dropdown and directly create a invoice for that specific client[/-][+]As a user, viewing all the clients, i want to click on a dropdown and directly create an invoice for that specific client[/+]on Dec 28, 2025
changed the title [-]As a user, viewing all the clients, i want to click on a dropdown and directly create an invoice for that specific client[/-][+]As a user, viewing all the clients, i want to click on a dropdown and directly create a quote for that specific client[/+]on Dec 28, 2025
changed the title [-]As a user, viewing all the clients, i want to click on a dropdown and directly create a quote for that specific client[/-][+]As a user, viewing all clients, I want to create a quote for a specific client directly from the list[/+]on Jun 12, 2026
changed the title [-]As a user, viewing all clients, I want to create a quote for a specific client directly from the list[/-][+][Clients]: Create a quote for a specific client from the client list[/+]on Jun 13, 2026
Note: The quote create form must read prospect_id from the query string and pre-fill the client selector. Check CreateQuote.php for a ->default(fn () => request('prospect_id')) hook.
Implement together with #192 — they're both in RelationsTable.php and both follow the same pattern.
Activity
[-]As a user, viewing all the clients, i want to click on a dropdown and directly create a invoice for that specific client[/-][+]As a user, viewing all the clients, i want to click on a dropdown and directly create an invoice for that specific client[/+][-]As a user, viewing all the clients, i want to click on a dropdown and directly create an invoice for that specific client[/-][+]As a user, viewing all the clients, i want to click on a dropdown and directly create a quote for that specific client[/+][-]As a user, viewing all the clients, i want to click on a dropdown and directly create a quote for that specific client[/-][+]As a user, viewing all clients, I want to create a quote for a specific client directly from the list[/+][-]As a user, viewing all clients, I want to create a quote for a specific client directly from the list[/-][+][Clients]: Create a quote for a specific client from the client list[/+]nielsdrost7 commentedon Jun 14, 2026
Sprint 5 — Test Status Check ❌ Not ready to close
Same situation as #192 —
RelationsTable.phphas no "Create quote" action.Implementation: (identical pattern to #192)
Note: The quote create form must read
prospect_idfrom the query string and pre-fill the client selector. CheckCreateQuote.phpfor a->default(fn () => request('prospect_id'))hook.Implement together with #192 — they're both in
RelationsTable.phpand both follow the same pattern.Cannot close. Feature and tests are missing.
Generated by Claude Code
nielsdrost7 commentedon Jun 14, 2026
Implementation — done on
claude/invoiceplane-sprint-5-plan-cbgzghWhat was needed:
What was missing:
InvoiceResourcehad nocreatepage registered ingetPages()—CreateInvoice.phpexisted but wasn't accessible via URLRelationsTablepointing to itcustomer_idfrom the URLChanges made:
Modules/Invoices/Filament/Company/Resources/Invoices/InvoiceResource.php:'create' => CreateInvoice::route('/create')Modules/Invoices/Filament/Company/Resources/Invoices/Pages/CreateInvoice.php:mount()override: reads?customer_id=Xquery param and calls$this->form->fill(['customer_id' => X])mutateFormDataBeforeCreate(): ensurescustomer_idfrom URL is included in submitted dataModules/Clients/Filament/Company/Resources/Relations/Tables/RelationsTable.php:Action::make('create_invoice')using->url(fn($record) => InvoiceResource::getUrl('create', ['customer_id' => $record->id]))Result: Clicking "Create Invoice" from the client list opens a fresh invoice form with the client's company already selected in the Customer dropdown.
Generated by Claude Code
feat(#191): register InvoiceResource create page and pre-fill custome…
feat(#191): register InvoiceResource create page and pre-fill custome…
feat(#29,#191,#192,#220): gate client list row actions and guard delete
test(#29,#191,#192,#220): cover client list row actions and prefill