#3101 emlak24 ocak ayı yapılacaklar

This commit is contained in:
Diatrex 2021-01-25 18:20:29 +03:00
parent b802be85d4
commit 10ae704b00
4 changed files with 52 additions and 7 deletions

View File

@ -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;

View File

@ -1,11 +1,23 @@
<?php namespace Visiosoft\ProfileModule\Profile\Profile;
use Anomaly\Streams\Platform\Addon\Extension\ExtensionCollection;
use Anomaly\Streams\Platform\Message\MessageBag;
use Anomaly\UsersModule\User\Authenticator\Contract\AuthenticatorExtensionInterface;
use Anomaly\UsersModule\User\Contract\UserInterface;
use Anomaly\UsersModule\User\UserModel;
use Illuminate\Http\RedirectResponse;
use Illuminate\Support\Facades\Redirect;
use Visiosoft\ProfileModule\Events\UserUpdated;
class ProfileFormHandler
{
protected $extensions;
public function __construct(ExtensionCollection $extensions)
{
$this->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;
}
}

View File

@ -0,0 +1,6 @@
<?php namespace Visiosoft\ProfileModule\Profile\Validator\Contract;
interface ValidatorExtensionInterface
{
public function validate(array $fields);
}

View File

@ -0,0 +1,12 @@
<?php namespace Visiosoft\ProfileModule\Profile\Validator;
use Anomaly\Streams\Platform\Addon\Extension\Extension;
use Visiosoft\ProfileModule\Profile\Validator\Contract\ValidatorExtensionInterface;
class ValidatorExtension extends Extension implements ValidatorExtensionInterface
{
public function validate(array $fields)
{
return null;
}
}