shopping_order = $shopping_order; $name = $shopping_order->shopping_user->billing_firstname.' '.$shopping_order->shopping_user->billing_lastname; $company = $shopping_order->shopping_user->billing_company ?? ''; $hasWhiteLabel = $shopping_order->user_white_label || $shopping_order->hasWhitelabelProducts(); $this->subject = 'Partner'; if ($hasWhiteLabel) { // Bei allen, die ein eigenes Logo haben $this->subject .= ' (mit Logo)'; } else { // Bei allen, die kein Tattoostudio sind $this->subject = ' - '; } if ($shopping_order->shopping_user->same_as_billing) { // Rechnungsadresse und Lieferadresse sind gleich $this->subject = ''; } else { // hat eine andere Lieferadresse $this->subject = ' Lieferadresse'; } $this->subject .= ' '.$company.' ('.$name.')'; } public function build() { $title = false; $copy1line = false; $filename = Invoice::getFilename($this->shopping_order); $path = Invoice::getDownloadPath($this->shopping_order); if (! Storage::disk('public')->exists($path)) { // Datei fehlt auf der Platte (Altdaten) — mit bestehender Nummer neu erzeugen (new InvoiceRepository($this->shopping_order))->update([]); } if (! Storage::disk('public')->exists($path)) { return; } $file = Storage::disk('public')->path($path); $mime = Storage::disk('public')->mimeType($path); $mail = $this->view('emails.logistic')->with([ 'title' => $title, 'copy1line' => $copy1line, ])->attach($file, [ 'as' => $filename, 'mime' => $mime, ]); // Kundenanforderung 16.07.2026: Der Lieferschein (mit der Lieferadresse der // Bestellung) wird IMMER mitgesendet — unabhängig von White-Label/Logo. // Vorher hing er nur bei White-Label-Bestellungen an; Folge waren // Fehlversände an die Rechnungsadresse. $pathDelivery = Invoice::getDownloadPathDelivery($this->shopping_order); if (! Storage::disk('public')->exists($pathDelivery)) { // Datei fehlt auf der Platte (Altdaten) — mit bestehender Nummer neu erzeugen (new InvoiceRepository($this->shopping_order))->update([]); } if (Storage::disk('public')->exists($pathDelivery)) { $mail->attach(Storage::disk('public')->path($pathDelivery), [ 'as' => Invoice::getDeliveryFilename($this->shopping_order), 'mime' => Storage::disk('public')->mimeType($pathDelivery), ]); } return $mail; } }