| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- <?php
 - 
 - namespace App\Filament\Company\Resources\Sales\InvoiceResource\Pages;
 - 
 - use App\Concerns\ManagesLineItems;
 - use App\Concerns\RedirectToListPage;
 - use App\Filament\Company\Resources\Sales\InvoiceResource;
 - use App\Models\Accounting\Invoice;
 - use Filament\Actions;
 - use Filament\Resources\Pages\EditRecord;
 - use Filament\Support\Enums\MaxWidth;
 - use Illuminate\Database\Eloquent\Model;
 - 
 - class EditInvoice extends EditRecord
 - {
 -     use ManagesLineItems;
 -     use RedirectToListPage;
 - 
 -     protected static string $resource = InvoiceResource::class;
 - 
 -     protected function getHeaderActions(): array
 -     {
 -         return [
 -             Actions\DeleteAction::make(),
 -         ];
 -     }
 - 
 -     public function getMaxContentWidth(): MaxWidth | string | null
 -     {
 -         return MaxWidth::Full;
 -     }
 - 
 -     protected function handleRecordUpdate(Model $record, array $data): Model
 -     {
 -         /** @var Invoice $record */
 -         $lineItems = collect($data['lineItems'] ?? []);
 - 
 -         $this->deleteRemovedLineItems($record, $lineItems);
 - 
 -         $this->handleLineItems($record, $lineItems);
 - 
 -         $totals = $this->updateDocumentTotals($record, $data);
 - 
 -         $data = array_merge($data, $totals);
 - 
 -         $record = parent::handleRecordUpdate($record, $data);
 - 
 -         if ($record->approved_at && $record->approvalTransaction) {
 -             $record->updateApprovalTransaction();
 -         }
 - 
 -         return $record;
 -     }
 - }
 
 
  |