diff --git a/src/Revision/EntityRevisionLogInterface.php b/src/Revision/EntityRevisionLogInterface.php index 3a1520334b3795d95dcf5fc988a1d4396166967c..2fc183f81d0c684ecde151fa185bb08e74a03e19 100644 --- a/src/Revision/EntityRevisionLogInterface.php +++ b/src/Revision/EntityRevisionLogInterface.php @@ -43,12 +43,30 @@ interface EntityRevisionLogInterface { /** * Sets the entity revision author. * + * @param \Drupal\user\UserInterface $account + * The user account of the revision author. + * + * @return $this + */ + public function setRevisionUser($account); + + /** + * Gets the entity revision author ID. + * + * @return int + * The user ID. + */ + public function getRevisionUserId(); + + /** + * Sets the entity revision author by ID. + * * @param int $user_id * The user ID of the revision author. * * @return $this */ - public function setRevisionUser($user_id); + public function setRevisionUserId($user_id); /** * Returns the entity revision log message. diff --git a/src/Revision/EntityRevisionLogTrait.php b/src/Revision/EntityRevisionLogTrait.php index 5e8b70db20d22e43051e437cb8971022e963ef98..cc27b1a2f967227ae10be456e5d2debdddf315e9 100644 --- a/src/Revision/EntityRevisionLogTrait.php +++ b/src/Revision/EntityRevisionLogTrait.php @@ -8,6 +8,7 @@ namespace Drupal\entity\Revision; use Drupal\Core\Field\BaseFieldDefinition; +use Drupal\user\UserInterface; /** * Provides a trait implementing \Drupal\entity\Revision\EntityRevisionLogInterface. @@ -74,7 +75,22 @@ trait EntityRevisionLogTrait { /** * {@inheritdoc} */ - public function setRevisionUser($user_id) { + public function setRevisionUser(UserInterface $account) { + $this->revision_user->entity = $account; + return $this; + } + + /** + * {@inheritdoc} + */ + public function getRevisionUserId() { + return $this->revision_user->target_id; + } + + /** + * {@inheritdoc} + */ + public function setRevisionUserId($user_id) { $this->revision_user->target_id = $user_id; return $this; } diff --git a/tests/Kernel/EntityRevisionLogTraitTest.php b/tests/Kernel/EntityRevisionLogTraitTest.php index 9b658e5cb3b1047a93154dd091025c6121109fdb..7ca16a0a81b93fe81ea95cbab771fc6d98ec3a67 100644 --- a/tests/Kernel/EntityRevisionLogTraitTest.php +++ b/tests/Kernel/EntityRevisionLogTraitTest.php @@ -54,8 +54,12 @@ class EntityRevisionLogTraitTest extends KernelTestBase { $entity->setRevisionCreationTime(1234567890); $this->assertEquals(1234567890, $entity->getRevisionCreationTime()); - $entity->setRevisionUser($user2->id()); + $entity->setRevisionUser($user2); $this->assertEquals($user2->id(), $entity->getRevisionUser()->id()); + $this->assertEquals($user2->id(), $entity->getRevisionUserId()); + $entity->setRevisionUserId($user->id()); + $this->assertEquals($user->id(), $entity->getRevisionUserId()); + $entity->setRevisionLogMessage('Giraffe!'); $this->assertEquals('Giraffe!', $entity->getRevisionLogMessage()); }