#111: User feed now displays a "user created" event logged via the register/activation controllers

This commit is contained in:
Andy Heathershaw 2018-11-19 13:26:44 +00:00
parent e59311244a
commit 80a7824f22
8 changed files with 60 additions and 2 deletions

View File

@ -47,6 +47,7 @@ class ActivateController extends Controller
$request->session()->flash('info', trans('auth.account_activated_message'));
$this->logActivatedActivity($user);
$this->sendUserActivatedEmails($user);
return redirect($this->redirectPath());

View File

@ -128,6 +128,7 @@ class RegisterController extends Controller
if ($user->is_activated)
{
$this->logActivatedActivity($user);
$this->sendUserActivatedEmails($user);
$this->guard()->login($user);
}

View File

@ -95,6 +95,15 @@ class UserController extends Controller
$params['album_url'] = $activity->album->url();
}
// Other activity-specific parameters
switch (strtolower($activity->type))
{
case 'user.created':
$params['app_name'] = UserConfig::get('app_name');
$params['app_url'] = route('home');
break;
}
$newItem['params'] = $params;
$result[] = $newItem;
@ -310,6 +319,15 @@ class UserController extends Controller
$params['album_url'] = $activity->album->url();
}
// Other activity-specific parameters
switch (strtolower($activity->type))
{
case 'user.created':
$params['app_name'] = UserConfig::get('app_name');
$params['app_url'] = route('home');
break;
}
$newItem['params'] = $params;
$result[] = $newItem;
@ -492,7 +510,7 @@ class UserController extends Controller
private function loadUserProfilePage($idOrAlias)
{
// If a user has a profile alias set, their profile page cannot be accessed by the ID
$user = User::where(DB::raw('COALESCE(profile_alias, id)'), strtolower($idOrAlias))->first();
$user = User::where(DB::raw('COALESCE(NULLIF(profile_alias, \'\'), id)'), strtolower($idOrAlias))->first();
if (is_null($user))
{

View File

@ -4,10 +4,25 @@ namespace App\Traits;
use App\Mail\UserSelfActivated;
use App\User;
use App\UserActivity;
use Illuminate\Support\Facades\Mail;
trait ActivatesUsers
{
private function logActivatedActivity(User $createdUser, $activityDateTime = null)
{
if (is_null($activityDateTime))
{
$activityDateTime = new \DateTime();
}
$userActivity = new UserActivity();
$userActivity->user_id = $createdUser->id;
$userActivity->activity_at = $activityDateTime;
$userActivity->type = 'user.created';
$userActivity->save();
}
private function sendUserActivatedEmails(User $createdUser)
{
$adminUsers = User::where('is_admin', true)->get();

View File

@ -41727,6 +41727,16 @@ function UserViewModel(urls)
'<a href="' + data[i].params.album_url + '">' + data[i].params.album_name + '</a>'
);
}
// App name
if (data[i].params.app_name && data[i].params.app_url)
{
data[i].description = data[i].description
.replace(
':app_name',
'<a href="' + data[i].params.app_url + '">' + data[i].params.app_name + '</a>'
);
}
}
self.feed_items = data;

File diff suppressed because one or more lines are too long

View File

@ -191,6 +191,16 @@ function UserViewModel(urls)
'<a href="' + data[i].params.album_url + '">' + data[i].params.album_name + '</a>'
);
}
// App name
if (data[i].params.app_name && data[i].params.app_url)
{
data[i].description = data[i].description
.replace(
':app_name',
'<a href="' + data[i].params.app_url + '">' + data[i].params.app_name + '</a>'
);
}
}
self.feed_items = data;

View File

@ -102,6 +102,9 @@ return [
'edited' => ':user_name edited the :photo_name photo.',
'taken' => ':user_name took the :photo_name photo.',
'uploaded' => ':user_name uploaded the :photo_name photo.'
],
'user' => [
'created' => ':user_name created their account at :app_name.'
]
],
'user_profile' => [