From 98bcc6ac135e4283b65084f44e803d0bd1aee799 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Thu, 25 Mar 2021 12:41:34 +0300 Subject: [PATCH] district require is optional --- .../resources/assets/js/create.js | 2 +- .../resources/config/settings/sections.php | 1 + .../resources/config/settings/settings.php | 6 +++ .../resources/lang/en/setting.php | 3 ++ .../src/Adress/Form/AdressFormFields.php | 4 +- .../Http/Controller/MyProfileController.php | 37 +++++++++++-------- 6 files changed, 36 insertions(+), 17 deletions(-) diff --git a/addons/default/visiosoft/profile-module/resources/assets/js/create.js b/addons/default/visiosoft/profile-module/resources/assets/js/create.js index 70d9e843f..bdb26f95f 100644 --- a/addons/default/visiosoft/profile-module/resources/assets/js/create.js +++ b/addons/default/visiosoft/profile-module/resources/assets/js/create.js @@ -15,7 +15,7 @@ function Locations(cat, level, name) { url: "/class/ajax", success: function (msg) { $('select[name="' + name + '"]').find('option').remove(); - $('select[name="' + name + '"]').append(''); + $('select[name="' + name + '"]').append(''); $.each(msg, function (key, value) { $('select[name="' + name + '"]').append(''); }); diff --git a/addons/default/visiosoft/profile-module/resources/config/settings/sections.php b/addons/default/visiosoft/profile-module/resources/config/settings/sections.php index 6a042d197..bddef91f7 100644 --- a/addons/default/visiosoft/profile-module/resources/config/settings/sections.php +++ b/addons/default/visiosoft/profile-module/resources/config/settings/sections.php @@ -7,6 +7,7 @@ return [ 'general_setting' => [ 'title' => 'visiosoft.module.profile::section.general_setting', 'fields' => [ + 'required_district', 'show_my_ads', 'upload_avatar', 'show_tax_office', diff --git a/addons/default/visiosoft/profile-module/resources/config/settings/settings.php b/addons/default/visiosoft/profile-module/resources/config/settings/settings.php index 35e8ba2f3..a31fc1386 100644 --- a/addons/default/visiosoft/profile-module/resources/config/settings/settings.php +++ b/addons/default/visiosoft/profile-module/resources/config/settings/settings.php @@ -70,4 +70,10 @@ return [ "education" => "anomaly.field_type.tags", "state_of_education" => "anomaly.field_type.tags", "profession" => "anomaly.field_type.tags", + 'required_district' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default_value' => false, + ] + ], ]; \ No newline at end of file diff --git a/addons/default/visiosoft/profile-module/resources/lang/en/setting.php b/addons/default/visiosoft/profile-module/resources/lang/en/setting.php index ff66a5ce9..66f1d2099 100644 --- a/addons/default/visiosoft/profile-module/resources/lang/en/setting.php +++ b/addons/default/visiosoft/profile-module/resources/lang/en/setting.php @@ -47,4 +47,7 @@ return [ 'name' => 'Hide Register Type in Profile Page', 'instructions' => 'Hides the register type field in the profile edit page.', ], + 'required_district' => [ + 'name' => 'Required District' + ], ]; diff --git a/addons/default/visiosoft/profile-module/src/Adress/Form/AdressFormFields.php b/addons/default/visiosoft/profile-module/src/Adress/Form/AdressFormFields.php index 1f99c9871..f650d7375 100644 --- a/addons/default/visiosoft/profile-module/src/Adress/Form/AdressFormFields.php +++ b/addons/default/visiosoft/profile-module/src/Adress/Form/AdressFormFields.php @@ -26,7 +26,9 @@ class AdressFormFields 'city' => [ 'required' => true, ], - 'district', + 'district' => [ + 'required' => setting_value( 'visiosoft.module.profile::required_district'), + ], 'adress_content' => [ 'required' => true, ], 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 3bc410054..18f60162f 100644 --- a/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php +++ b/addons/default/visiosoft/profile-module/src/Http/Controller/MyProfileController.php @@ -134,8 +134,15 @@ class MyProfileController extends PublicController { $message = []; + $error_district = false; + if (setting_value('visiosoft.module.profile::required_district') and (!$this->request->district or $this->request->district == "")) { + $error_district = true; + } + $error = $form->build()->validate()->getFormErrors()->getMessages(); - if (!empty($error)) { + + if (!empty($error) or $error_district) { + $this->messages->flush(); $message['status'] = "error"; $message['msg'] = trans('visiosoft.module.profile::message.required_all'); return $message; @@ -248,19 +255,19 @@ class MyProfileController extends PublicController return response()->json(['status' => 'success', 'data' => $profile]); } - public function getEducation(Request $request) - { - $user = $this->userRepository->find(auth()->id()); - $education = EducationModel::all(); - $educationPart = EducationPartModel::query()->where('education_id', $user->education)->get(); - return response()->json(['user' => $user, 'education' => $education, 'education-part' => $educationPart], 200); - } + public function getEducation(Request $request) + { + $user = $this->userRepository->find(auth()->id()); + $education = EducationModel::all(); + $educationPart = EducationPartModel::query()->where('education_id', $user->education)->get(); + return response()->json(['user' => $user, 'education' => $education, 'education-part' => $educationPart], 200); + } - public function changeEducation(Request $request) - { - if ($request->info == 'education') { - $education = EducationPartModel::query()->where('education_id', $request->education)->get(); - } - return response()->json(['data' => $education], 200); - } + public function changeEducation(Request $request) + { + if ($request->info == 'education') { + $education = EducationPartModel::query()->where('education_id', $request->education)->get(); + } + return response()->json(['data' => $education], 200); + } }