Form validation

This commit is contained in:
vedatakd 2020-01-10 10:59:40 +03:00
parent 9ddb6c7510
commit 8e53e7bccc
7 changed files with 158 additions and 39 deletions

View File

@ -109,12 +109,10 @@ return [
/*Menu Button*/
'menu_profile' => [
'profile' => [
'name' => 'Profile'
],
'menu_balance' => [
'name' => 'Balance'
],
'create' => [
'name' => 'Create'
],
@ -365,8 +363,8 @@ return [
'corporate_settings' => [
'name' => 'Corporate Settings',
],
'change_password' => [
'name' => 'Change password',
'password' => [
'name' => 'Password',
],
'new_password' => [
'name' => 'New password',
@ -424,6 +422,8 @@ return [
'name' => 'corporate',
],
'details' => [
'name' => 'Details'
],
];

View File

@ -19,4 +19,7 @@ return [
"required_add"=> "Please fill in all required lines.",
"no_extend_package" => "No Extend Ad Packages",
"saved" => "Saved!",
'please_confirm_transaction' => 'Please Confirm Transaction',
'password_do_not_match' => 'Passwords do not match',
'your_password_changed' => 'Your password was successfully updated',
];

View File

@ -65,42 +65,10 @@ class MyProfileController extends PublicController
$advRepository->delete_empty_advs();
$menu_fields = array();
$isActive = new AdvModel();
$isActiveMessages = $isActive->is_enabled('messages');
$isActivePackages = $isActive->is_enabled('packages');
if ($isActiveMessages) {
$myMessages = new MessageModel();
$myMessages = $myMessages->listMessages();
$message_count = count($myMessages);
$menu_messages = array();
$menu_messages['href'] = "msg";
$menu_messages['aria-controls'] = "msg";
$menu_messages['title'] = trans('visiosoft.module.profile::field.menu_messages.name');
$menu_fields[] = $menu_messages;
}
$advs_count = new AdvModel();
$advs_count = count($advs_count->myAdvsByUser()->get());
if ($isActivePackages) {
$packageModel = new PackageModel();
$my_packages = $packageModel->getPackageByLoggedInUser();
$menu_packages = array();
$menu_packages['href'] = "packages";
$menu_packages['aria-controls'] = "packages";
$menu_packages['title'] = trans('visiosoft.module.profile::field.menu_packages.name');
$menu_fields[] = $menu_packages;
}
$profileModel = new ProfileModel();
$adressModel = new AdressModel();
$users = UsersUsersEntryModel::find(Auth::id());
$profiles = $profileModel->getProfile(Auth::id())->orderBy("id")->first();

View File

@ -0,0 +1,34 @@
<?php namespace Visiosoft\ProfileModule\Profile\Password;
use Anomaly\Streams\Platform\Ui\Form\FormBuilder;
use Anomaly\UsersModule\User\UserModel;
class PasswordFormBuilder extends FormBuilder
{
protected $fields = [
'new_password' => [
'type' => 'anomaly.field_type.text',
'required' => true,
'config' => [
'type' => 'password'
],
],
're_new_password' => [
'type' => 'anomaly.field_type.text',
'required' => true,
'config' => [
'type' => 'password'
],
],
'confirm_password' => [
'type' => 'anomaly.field_type.boolean',
],
];
protected $actions = [
'update' => [
'text' => 'visiosoft.module.profile::button.update_password'
],
];
}

View File

@ -0,0 +1,50 @@
<?php namespace Visiosoft\ProfileModule\Profile\Password;
use Anomaly\Streams\Platform\Message\MessageBag;
use Anomaly\UsersModule\User\UserModel;
use Anomaly\UsersModule\User\UserPassword;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class PasswordFormHandler
{
public function handle(
PasswordFormBuilder $builder,
MessageBag $messages,
UserModel $userModel,
UserPassword $userPassword
)
{
$errorList = array();
if (!$builder->canSave()) {
return;
}
if (!$builder->getPostValue('confirm_password')) {
$messages->error(trans('visiosoft.module.profile::message.please_confirm_transaction'));
return redirect()->back();
}
if ($builder->getPostValue('new_password') != $builder->getPostValue('re_new_password')) {
$messages->error(trans('visiosoft.module.profile::message.password_do_not_match'));
return redirect()->back();
}
$validator = $userPassword->validate($builder->getPostValue('new_password'));
foreach ($validator->errors()->all() as $error) {
$errorList[] = $error;
}
if (count($errorList) != 0) {
$messages->error($errorList);
return redirect()->back();
}
$userModel->find(Auth::id())
->update([
'password' => Hash::make($builder->getPostValue('new_password'))
]);
$messages->success(trans('visiosoft.module.profile::message.your_password_changed'));
}
}

View File

@ -0,0 +1,27 @@
<?php namespace Visiosoft\ProfileModule\Profile\Profile;
use Anomaly\Streams\Platform\Ui\Form\FormBuilder;
use Visiosoft\ProfileModule\Profile\ProfileModel;
class ProfileFormBuilder extends FormBuilder
{
protected $model = ProfileModel::class;
protected $fields = [
'file',
'gsm_phone',
'office_phone',
'land_phone',
'adv_listing_banner',
'identification_number',
'register_type'
];
protected $actions = [
'update' => [
'text' => 'visiosoft.module.profile::button.update_profile'
],
];
}

View File

@ -0,0 +1,37 @@
<?php namespace Visiosoft\ProfileModule\Profile\Profile;
use Anomaly\Streams\Platform\Message\MessageBag;
use Illuminate\Support\Facades\Auth;
use Visiosoft\ProfileModule\Profile\ProfileModel;
class ProfileFormHandler
{
public function handle(
ProfileFormBuilder $builder,
MessageBag $messages,
ProfileModel $profileModel
)
{
if (!$builder->canSave()) {
return;
}
$parameters = [
'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'),
];
if ($builder->getPostValue('file') != null)
$parameters['file_id'] = $builder->getPostValue('file');
$profileModel->where('user_no_id', Auth::id())
->update($parameters);
$messages->success(trans('visiosoft.module.profile::message.success_update'));
}
}