X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/f0ed7af138b95f31354f8d5a37cb4cd27b902a75..07ee75c0ded3f104345cf801bb6fbb1f0f9565a6:/Entity/Location.php diff --git a/Entity/Location.php b/Entity/Location.php index 57af698..85283df 100644 --- a/Entity/Location.php +++ b/Entity/Location.php @@ -28,6 +28,11 @@ class Location { */ private $title; + /** + * @var string + */ + protected $description; + /** * @var string */ @@ -54,7 +59,12 @@ class Location { private $longitude; /** - * @var boolean + * @var bool + */ + private $indoor; + + /** + * @var bool */ private $hotspot; @@ -88,6 +98,7 @@ class Location { */ public function __construct() { //Set defaults + $this->description = null; $this->created = new \DateTime('now'); $this->updated = new \DateTime('now'); $this->sessions = new ArrayCollection(); @@ -126,6 +137,28 @@ class Location { return $this->title; } + /** + * Set description + * + * @param string $description + * + * @return Location + */ + public function setDescription(?string $description): Location { + $this->description = $description; + + return $this; + } + + /** + * Get description + * + * @return string + */ + public function getDescription(): ?string { + return $this->description; + } + /** * Set address * @@ -236,10 +269,32 @@ class Location { return $this->longitude; } + /** + * Set indoor + * + * @param bool $indoor + * + * @return Session + */ + public function setIndoor(bool $indoor): Location { + $this->indoor = $indoor; + + return $this; + } + + /** + * Get indoor + * + * @return bool + */ + public function getIndoor(): bool { + return $this->indoor; + } + /** * Set hotspot * - * @param boolean $hotspot + * @param bool $hotspot * * @return Session */ @@ -252,7 +307,7 @@ class Location { /** * Get hotspot * - * @return boolean + * @return bool */ public function getHotspot(): bool { return $this->hotspot; @@ -319,7 +374,7 @@ class Location { * Remove session * * @param Session $session - * @return boolean + * @return bool */ public function removeSession(Session $session): bool { return $this->sessions->removeElement($session); @@ -351,7 +406,7 @@ class Location { * Remove snippet * * @param Snippet $snippet - * @return boolean + * @return bool */ public function removeSnippet(Snippet $snippet): bool { return $this->snippets->removeElement($snippet); @@ -374,6 +429,9 @@ class Location { * @return Location */ public function addUser(User $user): Location { + //Add from owning side + $user->addLocation($this); + $this->users[] = $user; return $this; @@ -383,9 +441,16 @@ class Location { * Remove user * * @param User $user - * @return boolean + * @return bool */ public function removeUser(User $user): bool { + if (!$this->locations->contains($user)) { + return true; + } + + //Remove from owning side + $user->removeLocation($this); + return $this->users->removeElement($user); } @@ -403,7 +468,7 @@ class Location { */ public function preUpdate(PreUpdateEventArgs $eventArgs) { //Check that we have a location instance - if (($location = $eventArgs->getEntity()) instanceof Location) { + if (($location = $eventArgs->getObject()) instanceof Location) { //Set updated value $location->setUpdated(new \DateTime('now')); }