diff --git a/app/Http/Controllers/Shop/CustomerController.php b/app/Http/Controllers/Shop/CustomerController.php index 0f156486..91b6754f 100644 --- a/app/Http/Controllers/Shop/CustomerController.php +++ b/app/Http/Controllers/Shop/CustomerController.php @@ -106,6 +106,7 @@ class CustomerController extends Controller 'address' => $address->toArray(), 'prefix' => $prefix, 'with_name' => true, + 'selected' => $address->id, ])->render(); return response()->json([ diff --git a/app/Repositories/Shop/Customers.php b/app/Repositories/Shop/Customers.php index 22460b53..8625d58c 100644 --- a/app/Repositories/Shop/Customers.php +++ b/app/Repositories/Shop/Customers.php @@ -6,6 +6,7 @@ use App\Datatables\Shop\CustomerInvoicesDataTable; use App\Datatables\Shop\CustomerOrdersDataTable; use App\Models\Shop\Customer; use App\Traits\Model\Basic; +use App\Repositories\Shop\CustomerAddresses; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Str; @@ -95,6 +96,16 @@ class Customers $data = $customer->toArray(); $data['sale_channels'] = $customer->sale_channels->pluck('id')->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; } diff --git a/resources/views/Shop/Customers/edit.blade.php b/resources/views/Shop/Customers/edit.blade.php index ee62619a..f2b17587 100644 --- a/resources/views/Shop/Customers/edit.blade.php +++ b/resources/views/Shop/Customers/edit.blade.php @@ -24,6 +24,7 @@ 'prefix' => 'deliveries', 'addresses' => $customer['delivery_addresses'], 'with_name' => true, + 'selected' => $customer['delivery_address_id'] ?? null, ]) @@ -32,6 +33,7 @@ 'prefix' => 'invoices', 'addresses' => $customer['invoice_addresses'], 'with_name' => true, + 'selected' => $customer['invoice_address_id'] ?? null, ]) diff --git a/resources/views/Shop/Customers/partials/address_item.blade.php b/resources/views/Shop/Customers/partials/address_item.blade.php index a8352fa1..dab8d52c 100644 --- a/resources/views/Shop/Customers/partials/address_item.blade.php +++ b/resources/views/Shop/Customers/partials/address_item.blade.php @@ -2,8 +2,10 @@