From 10ae704b007af634ebf364f6dfdf9c5185c28b7e Mon Sep 17 00:00:00 2001 From: Diatrex Date: Mon, 25 Jan 2021 18:20:29 +0300 Subject: [PATCH] =?UTF-8?q?#3101=20emlak24=20ocak=20ay=C4=B1=20yap=C4=B1la?= =?UTF-8?q?caklar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Http/Controller/UserAuthenticator.php | 7 ---- .../Profile/Profile/ProfileFormHandler.php | 34 +++++++++++++++++++ .../Contract/ValidatorExtensionInterface.php | 6 ++++ .../Profile/Validator/ValidatorExtension.php | 12 +++++++ 4 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 addons/default/visiosoft/profile-module/src/Profile/Validator/Contract/ValidatorExtensionInterface.php create mode 100644 addons/default/visiosoft/profile-module/src/Profile/Validator/ValidatorExtension.php diff --git a/addons/default/visiosoft/profile-module/src/Http/Controller/UserAuthenticator.php b/addons/default/visiosoft/profile-module/src/Http/Controller/UserAuthenticator.php index d6df4e5d6..18f16a4e4 100644 --- a/addons/default/visiosoft/profile-module/src/Http/Controller/UserAuthenticator.php +++ b/addons/default/visiosoft/profile-module/src/Http/Controller/UserAuthenticator.php @@ -6,20 +6,13 @@ use Anomaly\UsersModule\User\Authenticator\Contract\AuthenticatorExtensionInterf use Anomaly\UsersModule\User\Contract\UserInterface; use Anomaly\UsersModule\User\Contract\UserRepositoryInterface; use Anomaly\UsersModule\User\Event\UserWasLoggedIn; -use Anomaly\UsersModule\User\User; -use Anomaly\UsersModule\User\UserPassword; -use http\Env\Response; use Visiosoft\AdvsModule\Adv\AdvModel; -use Visiosoft\AdvsModule\Http\Controller\AdvsController; -use Visiosoft\CartsModule\Saleitem\Command\ProcessSaleitem; -use Visiosoft\CartsModule\Saleitem\SaleitemModel; use Visiosoft\CloudsiteModule\Site\Event\CreateSite; use Illuminate\Contracts\Auth\Guard; use Illuminate\Contracts\Container\Container; use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Redirect; use Visiosoft\CloudsiteModule\Site\SiteModel; use Visiosoft\ProfileModule\Profile\ProfileRepository; 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 15e0e832c..d17c67562 100644 --- a/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php +++ b/addons/default/visiosoft/profile-module/src/Profile/Profile/ProfileFormHandler.php @@ -1,11 +1,23 @@ extensions = $extensions; + } + public function handle( ProfileFormBuilder $builder, MessageBag $messages, @@ -27,6 +39,11 @@ class ProfileFormHandler 'google_address' => $builder->getPostValue('google_address') ?: null, ]; + if (($valid = $this->validate($parameters)) !== true) { + $messages->error($valid['msg']); + return; + } + if (setting_value('visiosoft.module.profile::show_education_profession')) { $parameters = array_merge($parameters, [ 'education' => $builder->getPostValue('education'), @@ -70,4 +87,21 @@ class ProfileFormHandler } return $changes; } + + public function validate(array $fields) + { + $validators = $this->extensions + ->search('visiosoft.module.profile::validation.*') + ->enabled(); + + foreach ($validators as $validator) { + $valid = $validator->validate($fields); + + if ($valid['error']) { + return $valid; + } + } + + return true; + } } diff --git a/addons/default/visiosoft/profile-module/src/Profile/Validator/Contract/ValidatorExtensionInterface.php b/addons/default/visiosoft/profile-module/src/Profile/Validator/Contract/ValidatorExtensionInterface.php new file mode 100644 index 000000000..d918ba98a --- /dev/null +++ b/addons/default/visiosoft/profile-module/src/Profile/Validator/Contract/ValidatorExtensionInterface.php @@ -0,0 +1,6 @@ +