From db20767ce3299dfb46f20f90f8f7c57904a4df22 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Wed, 26 Feb 2020 10:32:17 +0300 Subject: [PATCH] phone fields --- .../base-theme/resources/js/phonefield.js | 58 ++++++++++--------- .../base-theme/resources/js/register.js | 1 + .../users-module/partials/register-form.twig | 2 +- .../addons/anomaly/users-module/register.twig | 5 +- .../resources/views/partials/assets.twig | 4 ++ .../resources/views/partials/metadata.twig | 2 + .../resources/assets/js/address.js | 32 +--------- .../resources/assets/js/profile.js | 33 +---------- .../resources/views/address/create.twig | 3 - .../resources/views/address/edit.twig | 3 - .../resources/views/profile/detail.twig | 3 - .../Http/Controller/MyProfileController.php | 9 +-- .../Profile/Profile/ProfileFormHandler.php | 6 +- .../Register2/Register2FormBuilder.php | 2 +- .../Register2/Register2FormHandler.php | 4 +- .../Profile/Validation/ValidateRegister.php | 8 +-- 16 files changed, 56 insertions(+), 119 deletions(-) create mode 100644 addons/default/visiosoft/base-theme/resources/js/register.js diff --git a/addons/default/visiosoft/base-theme/resources/js/phonefield.js b/addons/default/visiosoft/base-theme/resources/js/phonefield.js index 745c12e80..54c4a985d 100644 --- a/addons/default/visiosoft/base-theme/resources/js/phonefield.js +++ b/addons/default/visiosoft/base-theme/resources/js/phonefield.js @@ -1,29 +1,35 @@ -// Personal Registration -var inputQueries = document.querySelectorAll("input[name=\"phone\"],input[name='land_phone']"); -inputQueries.forEach(function (inputQuery, key) { - var iti = intlTelInput(inputQuery, { - hiddenInput: "full_phone_"+inputQuery.getAttribute('name'), - class: "form-control", - initialCountry: "auto", - geoIpLookup: function (success, failure) { - $.get("https://ipinfo.io", function () { - }, "jsonp").always(function (resp) { - var countryCode = (resp && resp.country) ? resp.country : ""; - success(countryCode); - }) - } - }) -}); - -$("input[name='phone'],input[name='land_phone']").on('countrychange', function (e) { - maskPhone($(this).attr('name')) -}); - -function maskPhone(name) { - var currentMask = $("input[name='" + name + "']").attr('placeholder'); - $("input[name='" + name + "']").mask(currentMask.replace(/[0-9+]/ig, '9'), { - autoclear: true, - clearIncomplete: true +function phoneMask(fields) { + var inputQueries = document.querySelectorAll(fields); + inputQueries.forEach(function (inputQuery, key) { + var iti = intlTelInput(inputQuery, { + hiddenInput: inputQuery.getAttribute('name'), + class: "form-control", + initialCountry: "auto", + geoIpLookup: function (success, failure) { + $.get("https://ipinfo.io", function () { + }, "jsonp").always(function (resp) { + var countryCode = (resp && resp.country) ? resp.country : ""; + success(countryCode); + }) + } + }) }); + var fields_arr = fields.split(','); + $.each(fields_arr, function (index, value) { + maskPhone($(value).attr('name')) + }); + + + $(fields).on('countrychange', function (e) { + maskPhone($(this).attr('name')) + }); + + function maskPhone(name) { + var currentMask = $("input[name='" + name + "']").attr('placeholder'); + $("input[name='" + name + "']").mask(currentMask.replace(/[0-9+]/ig, '9'), { + autoclear: true, + clearIncomplete: true + }); + } } \ No newline at end of file diff --git a/addons/default/visiosoft/base-theme/resources/js/register.js b/addons/default/visiosoft/base-theme/resources/js/register.js new file mode 100644 index 000000000..b5b0d5572 --- /dev/null +++ b/addons/default/visiosoft/base-theme/resources/js/register.js @@ -0,0 +1 @@ +phoneMask("input[name='phone'],input[name='land_phone']"); diff --git a/addons/default/visiosoft/base-theme/resources/views/addons/anomaly/users-module/partials/register-form.twig b/addons/default/visiosoft/base-theme/resources/views/addons/anomaly/users-module/partials/register-form.twig index 8c85dc0ba..697f139be 100644 --- a/addons/default/visiosoft/base-theme/resources/views/addons/anomaly/users-module/partials/register-form.twig +++ b/addons/default/visiosoft/base-theme/resources/views/addons/anomaly/users-module/partials/register-form.twig @@ -67,7 +67,7 @@
- {{ form.fields.phone.setValue(form.fields.full_phone.value).input|raw }} + {{ form.fields.phone.setValue(form.fields.phone.value).input|raw }}
\ No newline at end of file diff --git a/addons/default/visiosoft/base-theme/resources/views/addons/anomaly/users-module/register.twig b/addons/default/visiosoft/base-theme/resources/views/addons/anomaly/users-module/register.twig index 3730a907e..fca671f2d 100644 --- a/addons/default/visiosoft/base-theme/resources/views/addons/anomaly/users-module/register.twig +++ b/addons/default/visiosoft/base-theme/resources/views/addons/anomaly/users-module/register.twig @@ -72,11 +72,8 @@ - {{ asset_add("scripts.js", "visiosoft.theme.base::js/intlTelInput.min.js") }} - {{ asset_add("scripts.js", "visiosoft.theme.base::js/utils.js") }} - {{ asset_add("scripts.js", "visiosoft.theme.base::js/phonefield.js") }} - {{ asset_add("styles.css", "visiosoft.theme.base::css/intlTelInput.css") }} {{ asset_add("styles.css", "visiosoft.theme.base::css/register.css") }} + {{ asset_add("scripts.js", "visiosoft.theme.base::js/register.js") }} {% endblock %} diff --git a/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig b/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig index c605ff936..f37fa311c 100644 --- a/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig +++ b/addons/default/visiosoft/base-theme/resources/views/partials/assets.twig @@ -9,6 +9,10 @@ {{ asset_add("theme.js", "theme::js/select2.js") }} {{ asset_add("theme.js", "theme::js/params.js") }} {{ asset_add("theme.js", "theme::js/jquery.maskedinput.js") }} +{{ asset_add("theme.js", "visiosoft.theme.base::js/intlTelInput.min.js") }} +{{ asset_add("theme.js", "visiosoft.theme.base::js/utils.js") }} +{{ asset_add("theme.js", "theme::js/phoneField.js") }} + {# Theme Scripts #} {#{{ asset_add("theme.js", "theme::js/plugins/*") }}#} diff --git a/addons/default/visiosoft/base-theme/resources/views/partials/metadata.twig b/addons/default/visiosoft/base-theme/resources/views/partials/metadata.twig index c785a3670..07d16329c 100644 --- a/addons/default/visiosoft/base-theme/resources/views/partials/metadata.twig +++ b/addons/default/visiosoft/base-theme/resources/views/partials/metadata.twig @@ -14,6 +14,8 @@ {{ asset_add("theme.css", "theme::css/theme.css") }} {{ asset_add("theme.css", "theme::css/select2.css") }} {{ asset_add("theme.css", "theme::css/font-awesome.min.css") }} +{{ asset_add("theme.css", "visiosoft.theme.base::css/intlTelInput.css") }} + {{ asset_style("theme.css") }} diff --git a/addons/default/visiosoft/profile-module/resources/assets/js/address.js b/addons/default/visiosoft/profile-module/resources/assets/js/address.js index 9e5bef73c..ef5f9dcde 100644 --- a/addons/default/visiosoft/profile-module/resources/assets/js/address.js +++ b/addons/default/visiosoft/profile-module/resources/assets/js/address.js @@ -1,31 +1 @@ -// Personal Registration -var inputQueries = document.querySelectorAll("input[name='adress_gsm_phone']"); -inputQueries.forEach(function (inputQuery, key) { - var iti = intlTelInput(inputQuery, { - hiddenInput: "full_phone_"+inputQuery.getAttribute('name'), - class: "form-control", - initialCountry: "auto", - geoIpLookup: function (success, failure) { - $.get("https://ipinfo.io", function () { - }, "jsonp").always(function (resp) { - var countryCode = (resp && resp.country) ? resp.country : ""; - success(countryCode); - }) - } - }) -}); - -maskPhone() - -$("input[name='adress_gsm_phone']").on('countrychange', function (e) { - maskPhone() -}); - -function maskPhone(name) { - var currentMask = $("input[name='adress_gsm_phone']").attr('placeholder'); - $("input[name='adress_gsm_phone']").mask(currentMask.replace(/[0-9+]/ig, '9'), { - autoclear: true, - clearIncomplete: true - }); - -} \ No newline at end of file +phoneMask("input[name='adress_gsm_phone']") \ No newline at end of file diff --git a/addons/default/visiosoft/profile-module/resources/assets/js/profile.js b/addons/default/visiosoft/profile-module/resources/assets/js/profile.js index 5a4f7c04f..e33e21fce 100644 --- a/addons/default/visiosoft/profile-module/resources/assets/js/profile.js +++ b/addons/default/visiosoft/profile-module/resources/assets/js/profile.js @@ -1,32 +1 @@ -// Personal Registration -var inputQueries = document.querySelectorAll("input[name='gsm_phone'],input[name='office_phone'],input[name='land_phone']"); -inputQueries.forEach(function (inputQuery, key) { - var iti = intlTelInput(inputQuery, { - hiddenInput: "full_phone_" + inputQuery.getAttribute('name'), - class: "form-control", - initialCountry: "auto", - geoIpLookup: function (success, failure) { - $.get("https://ipinfo.io", function () { - }, "jsonp").always(function (resp) { - var countryCode = (resp && resp.country) ? resp.country : ""; - success(countryCode); - }) - } - }) -}); - -maskPhone('gsm_phone') -maskPhone('land_phone') -maskPhone('office_phone') -$("input[name='gsm_phone'],input[name='office_phone'],input[name='land_phone']").on('countrychange', function (e) { - maskPhone($(this).attr('name')) -}); - -function maskPhone(name) { - var currentMask = $("input[name='" + name + "']").attr('placeholder'); - $("input[name='" + name + "']").mask(currentMask.replace(/[0-9+]/ig, '9'), { - autoclear: true, - clearIncomplete: true - }); - -} \ No newline at end of file +phoneMask("input[name='gsm_phone'],input[name='office_phone'],input[name='land_phone']") \ No newline at end of file diff --git a/addons/default/visiosoft/profile-module/resources/views/address/create.twig b/addons/default/visiosoft/profile-module/resources/views/address/create.twig index 79107e9cb..8713e5d86 100644 --- a/addons/default/visiosoft/profile-module/resources/views/address/create.twig +++ b/addons/default/visiosoft/profile-module/resources/views/address/create.twig @@ -79,9 +79,6 @@ {{ asset_add("scripts.js", "visiosoft.module.profile::assets/js/country.js") }} - {{ asset_add("scripts.js", "visiosoft.theme.base::js/intlTelInput.min.js") }} - {{ asset_add("scripts.js", "visiosoft.theme.base::js/utils.js") }} - {{ asset_add("styles.css", "visiosoft.theme.base::css/intlTelInput.css") }} {{ asset_add("scripts.js", "visiosoft.module.profile::assets/js/address.js") }} {% endblock %} \ No newline at end of file diff --git a/addons/default/visiosoft/profile-module/resources/views/address/edit.twig b/addons/default/visiosoft/profile-module/resources/views/address/edit.twig index 06b79512a..c14ce8890 100644 --- a/addons/default/visiosoft/profile-module/resources/views/address/edit.twig +++ b/addons/default/visiosoft/profile-module/resources/views/address/edit.twig @@ -80,8 +80,5 @@ {{ asset_add("scripts.js", "visiosoft.module.profile::assets/js/country.js") }} - {{ asset_add("scripts.js", "visiosoft.theme.base::js/intlTelInput.min.js") }} - {{ asset_add("scripts.js", "visiosoft.theme.base::js/utils.js") }} - {{ asset_add("styles.css", "visiosoft.theme.base::css/intlTelInput.css") }} {{ asset_add("scripts.js", "visiosoft.module.profile::assets/js/address.js") }} {% endblock %} \ No newline at end of file diff --git a/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig b/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig index 5e96f5752..7801bfed8 100644 --- a/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig +++ b/addons/default/visiosoft/profile-module/resources/views/profile/detail.twig @@ -176,9 +176,6 @@ - {{ asset_add("scripts.js", "visiosoft.theme.base::js/intlTelInput.min.js") }} - {{ asset_add("scripts.js", "visiosoft.theme.base::js/utils.js") }} {{ asset_add("scripts.js", "visiosoft.module.profile::assets/js/profile.js") }} - {{ asset_add("styles.css", "visiosoft.theme.base::css/intlTelInput.css") }} {{ asset_add("styles.css", "visiosoft.module.profile::assets/css/profile.css") }} {% endblock %} \ No newline at end of file diff --git a/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php b/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php index 4738a75ae..4fa0c15f7 100644 --- a/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php +++ b/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php @@ -199,8 +199,7 @@ class MyProfileController extends PublicController $New_value = $request->all(); $New_value['country_id'] = $New_value['country']; - $New_value['adress_gsm_phone'] = $New_value['full_phone_adress_gsm_phone']; - unset($New_value['_token'], $New_value['action'], $New_value['country'], $New_value['full_phone_adress_gsm_phone']); + unset($New_value['_token'], $New_value['action'], $New_value['country']); $adressModel->getAdress($id)->update($New_value); $message = []; @@ -242,8 +241,7 @@ class MyProfileController extends PublicController return $message; } $new_adress = $request->request->all(); - $new_adress['adress_gsm_phone'] = $new_adress['full_phone_adress_gsm_phone']; - unset($new_adress['_token'], $new_adress['full_phone_adress_gsm_phone']); + unset($new_adress['_token']); $new_adress['user_id'] = Auth::id(); $adressModel = new AdressModel(); @@ -266,8 +264,7 @@ class MyProfileController extends PublicController return $message; } $new_adress = $this->request->all(); - $new_adress['adress_gsm_phone'] = $new_adress['full_phone_adress_gsm_phone']; - unset($new_adress['_token'], $new_adress['full_phone_adress_gsm_phone']); + unset($new_adress['_token']); $address->update($new_adress); diff --git a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php index f1c89fa1a..a7a6f9b95 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php +++ b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php @@ -17,9 +17,9 @@ class ProfileFormHandler } $parameters = [ - 'gsm_phone' => $builder->getPostValue('full_phone_gsm_phone'), - 'office_phone' => $builder->getPostValue('full_phone_office_phone'), - 'land_phone' => $builder->getPostValue('full_phone_land_phone'), + 'gsm_phone' => $builder->getPostValue('gsm_phone'), + 'office_phone' => $builder->getPostValue('office_phone'), + 'land_phone' => $builder->getPostValue('land_phone'), 'identification_number' => $builder->getPostValue('identification_number'), 'register_type' => $builder->getPostValue('register_type'), 'adv_listing_banner_id' => $builder->getPostValue('adv_listing_banner'), diff --git a/addons/default/visiosoft/profile-module/src/Profile/Register2/Register2FormBuilder.php b/addons/default/visiosoft/profile-module/src/Profile/Register2/Register2FormBuilder.php index 361b63cf8..280c8a9d5 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/Register2/Register2FormBuilder.php +++ b/addons/default/visiosoft/profile-module/src/Profile/Register2/Register2FormBuilder.php @@ -41,7 +41,7 @@ class Register2FormBuilder extends FormBuilder 'username' => [ 'required' => true, ], - 'full_phone' => [ + 'phone' => [ 'type' => 'anomaly.field_type.text', ], 'first_name' => [ diff --git a/addons/default/visiosoft/profile-module/src/Profile/Register2/Register2FormHandler.php b/addons/default/visiosoft/profile-module/src/Profile/Register2/Register2FormHandler.php index eb9f5c9d1..1d1b25709 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/Register2/Register2FormHandler.php +++ b/addons/default/visiosoft/profile-module/src/Profile/Register2/Register2FormHandler.php @@ -51,7 +51,7 @@ class Register2FormHandler $domain = str_replace('/', '', $domain); $domain = str_replace('www', '', $domain); - $profile_parameters['gsm_phone'] = $builder->getPostValue('full_phone_phone'); + $profile_parameters['gsm_phone'] = $builder->getPostValue('phone'); if (!setting_value('visiosoft.module.advs::register_email_field')) { $builder->setFormValue('email', $builder->getPostValue('username') . "@" . $domain); } @@ -59,7 +59,7 @@ class Register2FormHandler $fields = $builder->getPostData(); $fields['display_name'] = $fields['first_name'] . " " . $fields['last_name']; unset($fields['phone']); - unset($fields['full_phone_phone']); + unset($fields['phone']); $register = $users->create($fields); diff --git a/addons/default/visiosoft/profile-module/src/Profile/Validation/ValidateRegister.php b/addons/default/visiosoft/profile-module/src/Profile/Validation/ValidateRegister.php index 94468bcfd..dfa476f9e 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/Validation/ValidateRegister.php +++ b/addons/default/visiosoft/profile-module/src/Profile/Validation/ValidateRegister.php @@ -7,11 +7,11 @@ class ValidateRegister { public function handle(FormBuilder $builder, ProfileRepositoryInterface $profileRepository, $attribute, $value) { - if (!is_numeric($builder->getPostValue('full_phone'))) { - $builder->addFormError('full_phone', trans('visiosoft.module.profile::message.error_valid_phone')); + if (!is_numeric($builder->getPostValue('phone'))) { + $builder->addFormError('phone', trans('visiosoft.module.profile::message.error_valid_phone')); return false; - } elseif (!is_null($profileRepository->findPhoneNumber($builder->getPostValue('full_phone')))) { - $builder->addFormError('full_phone', trans('visiosoft.module.profile::message.registered_phone')); + } elseif (!is_null($profileRepository->findPhoneNumber($builder->getPostValue('phone')))) { + $builder->addFormError('phone', trans('visiosoft.module.profile::message.registered_phone')); return false; } return true;