X-Git-Url: https://git.rapsys.eu/userbundle/blobdiff_plain/71c0edfd65c95bd05705d7c037766f477aac2791..b3be5f5ecb45a1120b7821b4e5cf86dfc514a7c9:/Entity/Civility.php?ds=sidebyside

diff --git a/Entity/Civility.php b/Entity/Civility.php
index 8e1719c..9ec56e9 100644
--- a/Entity/Civility.php
+++ b/Entity/Civility.php
@@ -1,7 +1,7 @@
 <?php declare(strict_types=1);
 
 /*
- * This file is part of the Rapsys PackBundle package.
+ * This file is part of the Rapsys UserBundle package.
  *
  * (c) Raphaël Gertz <symfony@rapsys.eu>
  *
@@ -12,6 +12,7 @@
 namespace Rapsys\UserBundle\Entity;
 
 use Doctrine\Common\Collections\ArrayCollection;
+use Doctrine\ORM\Event\PreUpdateEventArgs;
 
 use Rapsys\UserBundle\Entity\User;
 
@@ -46,8 +47,14 @@ class Civility {
 
 	/**
 	 * Constructor
+	 *
+	 * @param string $title The civility name
 	 */
-	public function __construct() {
+	public function __construct(string $title) {
+		//Set defaults
+		$this->title = $title;
+		$this->created = new \DateTime('now');
+		$this->updated = new \DateTime('now');
 		$this->users = new ArrayCollection();
 	}
 
@@ -67,7 +74,7 @@ class Civility {
 	 *
 	 * @return Civility
 	 */
-	public function setTitle(string $title) {
+	public function setTitle(string $title): Civility {
 		$this->title = $title;
 
 		return $this;
@@ -89,7 +96,7 @@ class Civility {
 	 *
 	 * @return Civility
 	 */
-	public function setCreated(\DateTime $created) {
+	public function setCreated(\DateTime $created): Civility {
 		$this->created = $created;
 
 		return $this;
@@ -111,7 +118,7 @@ class Civility {
 	 *
 	 * @return Civility
 	 */
-	public function setUpdated(\DateTime $updated) {
+	public function setUpdated(\DateTime $updated): Civility {
 		$this->updated = $updated;
 
 		return $this;
@@ -157,6 +164,17 @@ class Civility {
 		return $this->users;
 	}
 
+	/**
+	 * {@inheritdoc}
+	 */
+	public function preUpdate(PreUpdateEventArgs $eventArgs) {
+		//Check that we have a civility instance
+		if (($user = $eventArgs->getEntity()) instanceof Civility) {
+			//Set updated value
+			$user->setUpdated(new \DateTime('now'));
+		}
+	}
+
 	/**
 	 * Returns a string representation of the title
 	 *