mivita/app/Http/Controllers/Controller.php
Kevin 42ef4dd1c6 DHL-Versand: Sendungs-Info-Button in Bestelllisten & Absenderadresse
Neuer schlanker DHL-Info-Button (getDhlShippingButton) in den Order- und
Shop-Sales-Datatables, oeffnet ein Read-only-Modal (modal_dhl_shipping_info)
mit den Tracking-Daten; dhlShipments wird dafuer eager geladen.
Absenderadresse in config/dhl.php aktualisiert, plus kleinere Fixes in
DhlShipmentController/Service/DataHelper und CreateReturnLabelJob.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 13:37:13 +00:00

33 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\ShoppingOrder;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
/**
* Renders the DHL shipping-info button for order datatables when the order
* has at least one shipment label. Opens a read-only modal with the
* tracking details. Returns an empty string when no shipment exists.
*/
protected function getDhlShippingButton(ShoppingOrder $shoppingOrder): string
{
if ($shoppingOrder->dhlShipments->isEmpty()) {
return '';
}
return ' <button type="button" class="btn btn-xs btn-light btn-round" data-toggle="modal" data-target="#modals-load-content"'
.' data-id="'.$shoppingOrder->id.'"'
.' data-action="user-order-dhl-info"'
.' data-modal="modal-lg"'
.' data-route="'.route('modal_load').'"'
.' title="'.__('tables.shipping').'"><span class="fas fa-shipping-fast"></span></button>';
}
}