diff --git a/app/Http/Requests/ClientPortal/RegisterRequest.php b/app/Http/Requests/ClientPortal/RegisterRequest.php index 2286e31ea736..8b54ccc5488d 100644 --- a/app/Http/Requests/ClientPortal/RegisterRequest.php +++ b/app/Http/Requests/ClientPortal/RegisterRequest.php @@ -25,15 +25,25 @@ class RegisterRequest extends FormRequest * * @return array */ - public function rules() + public function rules(): array { - $rules = [ - 'first_name' => ['required', 'string', 'max:255'], - 'last_name' => ['required', 'string', 'max:255'], - 'phone' => ['required', 'string', 'max:255'], - 'email' => ['required', 'string', 'email:rfc,dns', 'max:255'], - 'password' => ['required', 'string', 'min:6', 'confirmed'], - ]; + $rules = []; + + foreach ($this->company()->client_registration_fields as $field) { + if ($field['required']) { + $rules[$field['key']] = ['required']; + } + } + + foreach ($rules as $field => $properties) { + if ($field === 'email') { + $rules[$field] = array_merge($rules[$field], ['email:rfc,dns', 'max:255']); + } + + if ($field === 'password') { + $rules[$field] = array_merge($rules[$field], ['string', 'min:6', 'confirmed']); + } + } if ($this->company()->settings->client_portal_terms || $this->company()->settings->client_portal_privacy_policy) { $rules['terms'] = ['required']; diff --git a/resources/views/portal/ninja2020/auth/includes/register/personal_address.blade.php b/resources/views/portal/ninja2020/auth/includes/register/personal_address.blade.php deleted file mode 100644 index bdc4cf5343c0..000000000000 --- a/resources/views/portal/ninja2020/auth/includes/register/personal_address.blade.php +++ /dev/null @@ -1,74 +0,0 @@ - -

{{ ctrans('texts.personal_address') }}

- -

- {{ ctrans('texts.enter_your_personal_address') }} -

- -
-
-
-
- - - @error('address1') -
- {{ $message }} -
- @enderror -
-
- - - @error('address2') -
- {{ $message }} -
- @enderror -
-
- - - @error('city') -
- {{ $message }} -
- @enderror -
-
- - - @error('state') -
- {{ $message }} -
- @enderror -
-
- - - @error('postal_code') -
- {{ $message }} -
- @enderror -
-
- - - @error('country') -
- {{ $message }} -
- @enderror -
-
-
-
diff --git a/resources/views/portal/ninja2020/auth/includes/register/personal_information.blade.php b/resources/views/portal/ninja2020/auth/includes/register/personal_information.blade.php deleted file mode 100644 index 662c103e0fe5..000000000000 --- a/resources/views/portal/ninja2020/auth/includes/register/personal_information.blade.php +++ /dev/null @@ -1,90 +0,0 @@ - -

{{ ctrans('texts.profile') }}

- -

- {{ ctrans('texts.client_information_text') }} -

- -
-
-
-
-
- -
*
-
- - @error('first_name') -
- {{ $message }} -
- @enderror -
- -
-
- -
*
-
- - @error('last_name') -
- {{ $message }} -
- @enderror -
- -
-
- -
*
-
- - @error('email') -
- {{ $message }} -
- @enderror -
- -
-
- -
*
-
- - @error('phone') -
- {{ $message }} -
- @enderror -
- -
-
- -
*
-
- - @error('password') -
- {{ $message }} -
- @enderror -
- -
-
- -
*
-
- - @error('password_confirmation') -
- {{ $message }} -
- @enderror -
-
-
-
\ No newline at end of file diff --git a/resources/views/portal/ninja2020/auth/includes/register/shipping_address.blade.php b/resources/views/portal/ninja2020/auth/includes/register/shipping_address.blade.php deleted file mode 100644 index 2d3109d61f3d..000000000000 --- a/resources/views/portal/ninja2020/auth/includes/register/shipping_address.blade.php +++ /dev/null @@ -1,88 +0,0 @@ - -

{{ ctrans('texts.shipping_address') }}

- -

- {{ ctrans('texts.enter_your_shipping_address') }} -

- -
-
-
-
- - - @error('shipping_address1') -
- {{ $message }} -
- @enderror -
-
- - - @error('shipping_address2') -
- {{ $message }} -
- @enderror -
-
- - - @error('shipping_city') -
- {{ $message }} -
- @enderror -
-
- - - @error('shipping_state') -
- {{ $message }} -
- @enderror -
-
- - - @error('shipping_postal_code') -
- {{ $message }} -
- @enderror -
-
- - - @error('country') -
- {{ $message }} -
- @enderror -
-
-
-
diff --git a/resources/views/portal/ninja2020/auth/includes/register/website.blade.php b/resources/views/portal/ninja2020/auth/includes/register/website.blade.php deleted file mode 100644 index 90341a61fa5a..000000000000 --- a/resources/views/portal/ninja2020/auth/includes/register/website.blade.php +++ /dev/null @@ -1,32 +0,0 @@ - -

{{ ctrans('texts.website') }}

- -

- {{ ctrans('texts.make_sure_use_full_link') }} -

- -
-
-
-
- - - @error('name') -
- {{ $message }} -
- @enderror -
- -
- - - @error('website') -
- {{ $message }} -
- @enderror -
-
-
-
diff --git a/resources/views/portal/ninja2020/auth/register.blade.php b/resources/views/portal/ninja2020/auth/register.blade.php index cd4215f73ef3..7512c555a8fa 100644 --- a/resources/views/portal/ninja2020/auth/register.blade.php +++ b/resources/views/portal/ninja2020/auth/register.blade.php @@ -12,14 +12,90 @@
@csrf - @include('portal.ninja2020.auth.includes.register.personal_information') - {{ ctrans('texts.more_fields') }} +
+ @foreach($company->client_registration_fields as $field) + @if($field['required']) +
+
+ + + @if($field['required']) +
*
+ @endif +
-
- @include('portal.ninja2020.auth.includes.register.website') - @include('portal.ninja2020.auth.includes.register.personal_address') - @include('portal.ninja2020.auth.includes.register.shipping_address') + @if($field['key'] === 'email') + + @elseif($field['key'] === 'password') + + @elseif($field['key'] === 'country_id') + + @else + + @endif + + @error($field['key']) +
+ {{ $message }} +
+ @enderror +
+ + @if($field['key'] === 'password') +
+
+ + + @if($field['required']) +
*
+ @endif +
+ + +
+ @endif + @endif + @endforeach