Merge pull request #1970 from Haendlerbund/introduce-default-country

introduce default_country application configuration key
This commit is contained in:
Jitendra Singh 2020-01-21 16:34:38 +05:30 committed by GitHub
commit 92636543cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 42 additions and 21 deletions

View File

@ -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

View File

@ -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,14 +111,18 @@ 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)
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')]
));
}
/**
@ -130,18 +137,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 +164,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 +193,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)

View File

@ -12,7 +12,7 @@
<select type="text" v-validate="'required'" class="control" id="country" name="country" v-model="country" data-vv-as="&quot;{{ __('shop::app.customer.account.address.create.country') }}&quot;">
<option value=""></option>
@foreach (core()->countries() as $country)
<option value="{{ $country->code }}">{{ $country->name }}</option>
<option {{ $country->code === $defaultCountry ? 'selected' : '' }} value="{{ $country->code }}">{{ $country->name }}</option>
@endforeach
</select>
@ -53,9 +53,9 @@
data() {
return {
country: "{{ $countryCode }}",
country: "{{ $countryCode ?? $defaultCountry }}",
state: "{{ $stateCode }}",
state: "{{ $stateCode }}",
countryStates: @json(core()->groupedStatesByCountries())
}