Skip to content

Commit

Permalink
Update last post meta when editing time and removing user
Browse files Browse the repository at this point in the history
  • Loading branch information
clarkwinkelmann committed May 28, 2021
1 parent 6118d52 commit da8773d
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions src/Listeners/AbstractSaveAuthor.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,23 +45,20 @@ protected function saveAuthor(AbstractModel $model, User $actor, array $data)
$newUser = User::query()->findOrFail($userId);

$model->user()->associate($newUser);

// Update discussion meta when editing a post
if ($model instanceof Post) {
$model->afterSave(function () use ($model) {
$model->discussion->refreshParticipantCount();

if ($model->id === $model->discussion->last_post_id) {
$model->discussion->setLastPost($model);
}

$model->discussion->save();
});
}
} else if (empty($data['relationships']['user']['data'])) {
$model->user()->dissociate();
}

// Update discussion metadata
if ($model instanceof Post) {
$model->afterSave(function () use ($model) {
$model->discussion
->refreshParticipantCount()
->refreshLastPost()
->save();
});
}

// Update user metadata
$model->afterSave(function () use ($model, $oldUser, $newUser) {
if ($oldUser) {
Expand Down Expand Up @@ -95,6 +92,11 @@ protected function saveAuthor(AbstractModel $model, User $actor, array $data)

if ($model instanceof Post) {
$model->raise(new Event\PostCreateDateChanged($model, $model->created_at));

// Update discussion metadata
$model->afterSave(function (Post $post) {
$post->discussion->refreshLastPost()->save();
});
} else {
$model->raise(new Event\DiscussionCreateDateChanged($model, $model->created_at));
}
Expand Down

0 comments on commit da8773d

Please sign in to comment.