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>
33 lines
1.2 KiB
PHP
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>';
|
|
}
|
|
}
|