From ca3ff553e5cb8809392f050f607aeef663e4eefd Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 13 Mar 2018 16:04:02 +0200 Subject: [PATCH] Make state field optional --- app/Http/Controllers/ClientPortalController.php | 2 +- app/Models/Account.php | 5 +++++ app/Ninja/PaymentDrivers/BasePaymentDriver.php | 5 ++++- resources/views/invited/details.blade.php | 2 +- resources/views/payments/credit_card.blade.php | 4 ++-- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/ClientPortalController.php b/app/Http/Controllers/ClientPortalController.php index e26cec359530..7c565e88bb54 100644 --- a/app/Http/Controllers/ClientPortalController.php +++ b/app/Http/Controllers/ClientPortalController.php @@ -988,7 +988,7 @@ class ClientPortalController extends BaseController 'email' => 'required', 'address1' => 'required', 'city' => 'required', - 'state' => 'required', + 'state' => $account->requiresAddressState() ? 'required' : '', 'postal_code' => 'required', 'country_id' => 'required', ]; diff --git a/app/Models/Account.php b/app/Models/Account.php index 8b0c6fc84ecb..c86d525de942 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -1791,6 +1791,11 @@ class Account extends Eloquent return url('/'); } } + + public function requiresAddressState() { + return true; + //return ! $this->country_id || $this->country_id == DEFAULT_COUNTRY; + } } Account::creating(function ($account) diff --git a/app/Ninja/PaymentDrivers/BasePaymentDriver.php b/app/Ninja/PaymentDrivers/BasePaymentDriver.php index 5bc91dc7ab4b..462252d2a785 100644 --- a/app/Ninja/PaymentDrivers/BasePaymentDriver.php +++ b/app/Ninja/PaymentDrivers/BasePaymentDriver.php @@ -242,10 +242,13 @@ class BasePaymentDriver $rules = array_merge($rules, [ 'address1' => 'required', 'city' => 'required', - 'state' => 'required', 'postal_code' => 'required', 'country_id' => 'required', ]); + + if ($this->account()->requiresAddressState()) { + $rules['state'] = 'required'; + } } } diff --git a/resources/views/invited/details.blade.php b/resources/views/invited/details.blade.php index 3b5701cd2b98..306e8c895876 100644 --- a/resources/views/invited/details.blade.php +++ b/resources/views/invited/details.blade.php @@ -25,7 +25,7 @@ 'vat_number' => 'required', 'address1' => 'required', 'city' => 'required', - 'state' => 'required', + 'state' => $account->requiresAddressState() ? 'required' : '', 'postal_code' => 'required', 'country_id' => 'required', )) !!} diff --git a/resources/views/payments/credit_card.blade.php b/resources/views/payments/credit_card.blade.php index 0cac21d014ec..5e53a9b0a2e8 100644 --- a/resources/views/payments/credit_card.blade.php +++ b/resources/views/payments/credit_card.blade.php @@ -133,7 +133,7 @@ 'cvv' => 'required', 'address1' => 'required', 'city' => 'required', - 'state' => 'required', + 'state' => $account->requiresAddressState() ? 'required' : '', 'postal_code' => 'required', 'country_id' => 'required', 'phone' => 'required', @@ -146,7 +146,7 @@ 'account_holder_type' => 'required', 'shipping_address1' => 'required', 'shipping_city' => 'required', - 'shipping_state' => 'required', + 'shipping_state' => $account->requiresAddressState() ? 'required' : '', 'shipping_postal_code' => 'required', 'shipping_country_id' => 'required', )) !!}