parent
af36c285aa
commit
ed271fce82
|
|
@ -2,15 +2,14 @@
|
||||||
|
|
||||||
namespace App\Actions\Fortify;
|
namespace App\Actions\Fortify;
|
||||||
|
|
||||||
use A6digital\Image\DefaultProfileImage;
|
use App\Models\AuditLogEntry;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Rules\ValidRegistrationCode;
|
use App\Rules\ValidRegistrationCode;
|
||||||
use App\Settings;
|
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Facades\Storage;
|
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
use Laravel\Fortify\Contracts\CreatesNewUsers;
|
use Laravel\Fortify\Contracts\CreatesNewUsers;
|
||||||
|
|
||||||
use function mb_substr;
|
use function mb_substr;
|
||||||
|
|
||||||
class CreateNewUser implements CreatesNewUsers
|
class CreateNewUser implements CreatesNewUsers
|
||||||
|
|
@ -41,9 +40,10 @@ class CreateNewUser implements CreatesNewUsers
|
||||||
'password' => $this->passwordRules(),
|
'password' => $this->passwordRules(),
|
||||||
])->validate();
|
])->validate();
|
||||||
|
|
||||||
$profileImageURL = 'https://ui-avatars.com/api/?name=' . mb_substr($input['first_name'],0,1) . '+' . mb_substr($input['last_name'],0,1);
|
$profileImageURL = 'https://ui-avatars.com/api/?name='.mb_substr($input['first_name'], 0,
|
||||||
|
1).'+'.mb_substr($input['last_name'], 0, 1);
|
||||||
|
|
||||||
return User::create([
|
$user = User::create([
|
||||||
'first_name' => $input['first_name'],
|
'first_name' => $input['first_name'],
|
||||||
'last_name' => $input['last_name'],
|
'last_name' => $input['last_name'],
|
||||||
'judging_preference' => $input['judging_preference'],
|
'judging_preference' => $input['judging_preference'],
|
||||||
|
|
@ -52,5 +52,18 @@ class CreateNewUser implements CreatesNewUsers
|
||||||
'profile_image_url' => $profileImageURL,
|
'profile_image_url' => $profileImageURL,
|
||||||
'password' => Hash::make($input['password']),
|
'password' => Hash::make($input['password']),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$message = 'New User Registered - '.$input['email']
|
||||||
|
.'<br>Name: '.$input['first_name'].' '.$input['last_name']
|
||||||
|
.'<br>Judging Pref: '.$input['judging_preference']
|
||||||
|
.'<br>Cell Phone: '.$input['cell_phone'];
|
||||||
|
AuditLogEntry::create([
|
||||||
|
'user' => $input['email'],
|
||||||
|
'ip_address' => request()->ip(),
|
||||||
|
'message' => $message,
|
||||||
|
'affected' => ['users' => $user->id],
|
||||||
|
]);
|
||||||
|
|
||||||
|
return $user;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Actions\Fortify;
|
namespace App\Actions\Fortify;
|
||||||
|
|
||||||
|
use App\Models\AuditLogEntry;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
@ -25,5 +26,11 @@ class ResetUserPassword implements ResetsUserPasswords
|
||||||
$user->forceFill([
|
$user->forceFill([
|
||||||
'password' => Hash::make($input['password']),
|
'password' => Hash::make($input['password']),
|
||||||
])->save();
|
])->save();
|
||||||
|
AuditLogEntry::create([
|
||||||
|
'user' => auth()->user()->email,
|
||||||
|
'ip_address' => request()->ip(),
|
||||||
|
'message' => 'Reset Password',
|
||||||
|
'affected' => ['users' => [$user->id]],
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,14 @@
|
||||||
|
|
||||||
namespace App\Actions\Fortify;
|
namespace App\Actions\Fortify;
|
||||||
|
|
||||||
|
use App\Models\AuditLogEntry;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Laravel\Fortify\Contracts\UpdatesUserPasswords;
|
use Laravel\Fortify\Contracts\UpdatesUserPasswords;
|
||||||
|
|
||||||
|
use function auth;
|
||||||
|
|
||||||
class UpdateUserPassword implements UpdatesUserPasswords
|
class UpdateUserPassword implements UpdatesUserPasswords
|
||||||
{
|
{
|
||||||
use PasswordValidationRules;
|
use PasswordValidationRules;
|
||||||
|
|
@ -28,5 +31,11 @@ class UpdateUserPassword implements UpdatesUserPasswords
|
||||||
$user->forceFill([
|
$user->forceFill([
|
||||||
'password' => Hash::make($input['password']),
|
'password' => Hash::make($input['password']),
|
||||||
])->save();
|
])->save();
|
||||||
|
AuditLogEntry::create([
|
||||||
|
'user' => auth()->user()->email,
|
||||||
|
'ip_address' => request()->ip(),
|
||||||
|
'message' => 'Changed Password',
|
||||||
|
'affected' => ['users' => [$user->id]],
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Actions\Fortify;
|
namespace App\Actions\Fortify;
|
||||||
|
|
||||||
|
use App\Models\AuditLogEntry;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
@ -44,6 +45,16 @@ class UpdateUserProfileInformation implements UpdatesUserProfileInformation
|
||||||
'email' => $input['email'],
|
'email' => $input['email'],
|
||||||
])->save();
|
])->save();
|
||||||
}
|
}
|
||||||
|
$message = 'Updated user #'.$user->id.' - '.$user->email
|
||||||
|
.'<br>Name: '.$user->full_name()
|
||||||
|
.'<br>Judging Pref: '.$user->judging_preference
|
||||||
|
.'<br>Cell Phone: '.$user->cell_phone;
|
||||||
|
AuditLogEntry::create([
|
||||||
|
'user' => auth()->user()->email,
|
||||||
|
'ip_address' => request()->ip(),
|
||||||
|
'message' => $message,
|
||||||
|
'affected' => ['users' => [$user->id]],
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -53,6 +64,7 @@ class UpdateUserProfileInformation implements UpdatesUserProfileInformation
|
||||||
*/
|
*/
|
||||||
protected function updateVerifiedUser(User $user, array $input): void
|
protected function updateVerifiedUser(User $user, array $input): void
|
||||||
{
|
{
|
||||||
|
$oldEmail = $user->email;
|
||||||
$user->forceFill([
|
$user->forceFill([
|
||||||
'first_name' => $input['first_name'],
|
'first_name' => $input['first_name'],
|
||||||
'last_name' => $input['last_name'],
|
'last_name' => $input['last_name'],
|
||||||
|
|
@ -61,6 +73,18 @@ class UpdateUserProfileInformation implements UpdatesUserProfileInformation
|
||||||
'email' => $input['email'],
|
'email' => $input['email'],
|
||||||
'email_verified_at' => null,
|
'email_verified_at' => null,
|
||||||
])->save();
|
])->save();
|
||||||
|
$user->refresh();
|
||||||
|
$message = 'Updated user #'.$user->id.' - '.$oldEmail
|
||||||
|
.'<br>Name: '.$user->full_name()
|
||||||
|
.'<br>Email: '.$user->email
|
||||||
|
.'<br>Judging Pref: '.$user->judging_preference
|
||||||
|
.'<br>Cell Phone: '.$user->cell_phone;
|
||||||
|
AuditLogEntry::create([
|
||||||
|
'user' => auth()->user()->email,
|
||||||
|
'ip_address' => request()->ip(),
|
||||||
|
'message' => $message,
|
||||||
|
'affected' => ['users' => [$user->id]],
|
||||||
|
]);
|
||||||
|
|
||||||
$user->sendEmailVerificationNotification();
|
$user->sendEmailVerificationNotification();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Listeners;
|
||||||
|
|
||||||
|
use App\Models\AuditLogEntry;
|
||||||
|
use Illuminate\Mail\Events\MessageSending;
|
||||||
|
|
||||||
|
use function request;
|
||||||
|
|
||||||
|
class LogSendingEmail
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Create the event listener.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle the event.
|
||||||
|
*/
|
||||||
|
public function handle(MessageSending $event): void
|
||||||
|
{
|
||||||
|
$email_to = ($event->message->getTo()[0]->getAddress());
|
||||||
|
$subject = $event->message->getSubject();
|
||||||
|
$message = 'Sent email to '.$email_to.'<br>Subject: '.$subject;
|
||||||
|
AuditLogEntry::create([
|
||||||
|
'user' => auth()->user()->email ?? 'none',
|
||||||
|
'ip_address' => request()->ip(),
|
||||||
|
'message' => $message,
|
||||||
|
]);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue