new: display the default address checkbox on profile load

This commit is contained in:
Valentin Lab
2025-10-04 11:44:04 +02:00
parent e69487f73e
commit 8d8528f6fb
5 changed files with 18 additions and 1 deletions

View File

@@ -106,6 +106,7 @@ class CustomerController extends Controller
'address' => $address->toArray(), 'address' => $address->toArray(),
'prefix' => $prefix, 'prefix' => $prefix,
'with_name' => true, 'with_name' => true,
'selected' => $address->id,
])->render(); ])->render();
return response()->json([ return response()->json([

View File

@@ -6,6 +6,7 @@ use App\Datatables\Shop\CustomerInvoicesDataTable;
use App\Datatables\Shop\CustomerOrdersDataTable; use App\Datatables\Shop\CustomerOrdersDataTable;
use App\Models\Shop\Customer; use App\Models\Shop\Customer;
use App\Traits\Model\Basic; use App\Traits\Model\Basic;
use App\Repositories\Shop\CustomerAddresses;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str; use Illuminate\Support\Str;
@@ -95,6 +96,16 @@ class Customers
$data = $customer->toArray(); $data = $customer->toArray();
$data['sale_channels'] = $customer->sale_channels->pluck('id')->toArray(); $data['sale_channels'] = $customer->sale_channels->pluck('id')->toArray();
$data['deliveries'] = Deliveries::getBySaleChannels($data['sale_channels'])->toArray(); $data['deliveries'] = Deliveries::getBySaleChannels($data['sale_channels'])->toArray();
$data['delivery_address_id'] = optional(CustomerAddresses::getDeliveryAddress($id))->id;
$data['invoice_address_id'] = optional(CustomerAddresses::getInvoiceAddress($id))->id;
if (! $data['delivery_address_id'] && ! empty($data['delivery_addresses'])) {
$data['delivery_address_id'] = $data['delivery_addresses'][0]['id'] ?? null;
}
if (! $data['invoice_address_id'] && ! empty($data['invoice_addresses'])) {
$data['invoice_address_id'] = $data['invoice_addresses'][0]['id'] ?? null;
}
return $data; return $data;
} }

View File

@@ -24,6 +24,7 @@
'prefix' => 'deliveries', 'prefix' => 'deliveries',
'addresses' => $customer['delivery_addresses'], 'addresses' => $customer['delivery_addresses'],
'with_name' => true, 'with_name' => true,
'selected' => $customer['delivery_address_id'] ?? null,
]) ])
</x-card> </x-card>
@@ -32,6 +33,7 @@
'prefix' => 'invoices', 'prefix' => 'invoices',
'addresses' => $customer['invoice_addresses'], 'addresses' => $customer['invoice_addresses'],
'with_name' => true, 'with_name' => true,
'selected' => $customer['invoice_address_id'] ?? null,
]) ])
</x-card> </x-card>

View File

@@ -2,8 +2,10 @@
<div class="col-1"> <div class="col-1">
@php @php
$inputName = isset($prefix) && $prefix ? $prefix.'[address_id]' : 'address_id'; $inputName = isset($prefix) && $prefix ? $prefix.'[address_id]' : 'address_id';
$currentValue = $selected ?? null;
@endphp @endphp
<x-form.radios.icheck name="{{ $inputName }}" val="{{ $address['id'] }}" id="address_{{ $address['id'] }}" /> <x-form.radios.icheck name="{{ $inputName }}" val="{{ $address['id'] }}"
:value="$currentValue" id="address_{{ $address['id'] }}" />
</div> </div>
<div class="col-10"> <div class="col-10">
@if ($with_name ?? false) @if ($with_name ?? false)

View File

@@ -4,6 +4,7 @@
'address' => $address, 'address' => $address,
'prefix' => $prefix ?? null, 'prefix' => $prefix ?? null,
'with_name' => $with_name ?? false, 'with_name' => $with_name ?? false,
'selected' => $selected ?? null,
]) ])
@endforeach @endforeach
</div> </div>