ProjectBillingService::billTasks() (Modules/Projects/Services/ProjectBillingService.php) creates or appends to a draft invoice when tasks are billed via the bill_tasks row action on the projects list (Modules/Projects/Filament/Company/Resources/Projects/Tables/ProjectsTable.php). On success, the action only shows a "tasks billed to draft invoice" notification — it does not redirect the user to the resulting invoice.
This was a deliberate deviation in PR #578 because the invoice EditRecord page did not exist on develop yet at the time. The EditInvoice page now exists on develop (and is further extended by PR #575 / issue #542), so this follow-up is unblocked.
Acceptance criteria
ProjectBillingService::billTasks()(Modules/Projects/Services/ProjectBillingService.php) creates or appends to a draft invoice when tasks are billed via thebill_tasksrow action on the projects list (Modules/Projects/Filament/Company/Resources/Projects/Tables/ProjectsTable.php). On success, the action only shows a "tasks billed to draft invoice" notification — it does not redirect the user to the resulting invoice.This was a deliberate deviation in PR #578 because the invoice
EditRecordpage did not exist ondevelopyet at the time. TheEditInvoicepage now exists on develop (and is further extended by PR #575 / issue #542), so this follow-up is unblocked.Acceptance criteria
bill_tasksaction, redirect the user toInvoiceResource::getUrl('edit', ['record' => $invoice])(mirroring the pattern already used byEditInvoice'scopy_invoiceandcreate_credit_noteactions).