From c346770ab16153fe85197fc824a6e23ac991ff7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Gro=C3=9Fe?= Date: Mon, 23 Dec 2019 14:28:54 +0100 Subject: [PATCH 1/2] introduce default_country application configuration key --- config/app.php | 13 +++++++ .../Http/Controllers/AddressController.php | 36 ++++++++++--------- .../account/address/country-state.blade.php | 6 ++-- 3 files changed, 36 insertions(+), 19 deletions(-) diff --git a/config/app.php b/config/app.php index 8e675f952..4213f753c 100755 --- a/config/app.php +++ b/config/app.php @@ -93,6 +93,19 @@ return [ 'fallback_locale' => 'en', + /* + |-------------------------------------------------------------------------- + | Default Country + |-------------------------------------------------------------------------- + | + | Here you may specify the default country by country code. + | Ensure it is uppercase and reflects the 'code' column of the + | countries table. + | + */ + + 'default_country' => null, + /* |-------------------------------------------------------------------------- | Base Currency Code diff --git a/packages/Webkul/Customer/src/Http/Controllers/AddressController.php b/packages/Webkul/Customer/src/Http/Controllers/AddressController.php index b7fefec45..c39229e78 100755 --- a/packages/Webkul/Customer/src/Http/Controllers/AddressController.php +++ b/packages/Webkul/Customer/src/Http/Controllers/AddressController.php @@ -26,7 +26,8 @@ class AddressController extends Controller /** * CustomerAddressRepository object * - * @param \Webkul\Customer\Repositories\CustomerAddressRepository $customerAddressRepository + * @param \Webkul\Customer\Repositories\CustomerAddressRepository $customerAddressRepository + * * @var Object */ protected $customerAddressRepository; @@ -59,7 +60,9 @@ class AddressController extends Controller */ public function create() { - return view($this->_config['view']); + return view($this->_config['view'], [ + 'defaultCountry' => config('app.default_country'), + ]); } /** @@ -75,11 +78,11 @@ class AddressController extends Controller $this->validate(request(), [ 'address1' => 'string|required', - 'country' => 'string|required', - 'state' => 'string|required', - 'city' => 'string|required', + 'country' => 'string|required', + 'state' => 'string|required', + 'city' => 'string|required', 'postcode' => 'required', - 'phone' => 'required' + 'phone' => 'required', ]); $cust_id['customer_id'] = $this->customer->id; @@ -108,8 +111,8 @@ class AddressController extends Controller public function edit($id) { $address = $this->customerAddressRepository->findOneWhere([ - 'id' => $id, - 'customer_id' => auth()->guard('customer')->user()->id + 'id' => $id, + 'customer_id' => auth()->guard('customer')->user()->id, ]); if (! $address) @@ -130,18 +133,18 @@ class AddressController extends Controller $this->validate(request(), [ 'address1' => 'string|required', - 'country' => 'string|required', - 'state' => 'string|required', - 'city' => 'string|required', + 'country' => 'string|required', + 'state' => 'string|required', + 'city' => 'string|required', 'postcode' => 'required', - 'phone' => 'required' + 'phone' => 'required', ]); $data = collect(request()->input())->except('_token')->toArray(); $addresses = $this->customer->addresses; - foreach($addresses as $address) { + foreach ($addresses as $address) { if ($id == $address->id) { session()->flash('success', trans('shop::app.customer.account.address.edit.success')); @@ -157,7 +160,8 @@ class AddressController extends Controller } /** - * To change the default address or make the default address, by default when first address is created will be the default address + * To change the default address or make the default address, by default when first address is + * created will be the default address * * @return Response */ @@ -185,8 +189,8 @@ class AddressController extends Controller public function destroy($id) { $address = $this->customerAddressRepository->findOneWhere([ - 'id' => $id, - 'customer_id' => auth()->guard('customer')->user()->id + 'id' => $id, + 'customer_id' => auth()->guard('customer')->user()->id, ]); if (! $address) diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/address/country-state.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/address/country-state.blade.php index c398928f6..ba1bfb6c1 100755 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/address/country-state.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/address/country-state.blade.php @@ -12,7 +12,7 @@ @@ -53,9 +53,9 @@ data() { return { - country: "{{ $countryCode }}", + country: "{{ $countryCode ?? $defaultCountry }}", - state: "{{ $stateCode }}", + state: "{{ $stateCode }}", countryStates: @json(core()->groupedStatesByCountries()) } From e962dbc98829adc374e94363ad152a25eb4ba58d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Gro=C3=9Fe?= Date: Wed, 8 Jan 2020 14:56:22 +0100 Subject: [PATCH 2/2] allow defaultCountry also in edit.blade --- .../Customer/src/Http/Controllers/AddressController.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/Webkul/Customer/src/Http/Controllers/AddressController.php b/packages/Webkul/Customer/src/Http/Controllers/AddressController.php index c39229e78..63580b940 100755 --- a/packages/Webkul/Customer/src/Http/Controllers/AddressController.php +++ b/packages/Webkul/Customer/src/Http/Controllers/AddressController.php @@ -115,10 +115,14 @@ class AddressController extends Controller 'customer_id' => auth()->guard('customer')->user()->id, ]); - if (! $address) + if (! $address) { abort(404); + } - return view($this->_config['view'], compact('address')); + return view($this->_config['view'], array_merge( + compact('address'), + ['defaultCountry' => config('app.default_country')] + )); } /**