add list for addresses

This commit is contained in:
Julien Fastré 2021-06-02 16:20:46 +02:00
parent a133f56dce
commit ff5b0bc258
2 changed files with 55 additions and 10 deletions

View File

@ -2,10 +2,12 @@
namespace Chill\PersonBundle\Entity\Household; namespace Chill\PersonBundle\Entity\Household;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\Collection; use Doctrine\Common\Collections\Collection;
use Chill\MainBundle\Entity\Address;
use Symfony\Component\Serializer\Annotation as Serializer; use Symfony\Component\Serializer\Annotation as Serializer;
use Chill\MainBundle\Entity\Address;
use Chill\PersonBundle\Entity\Household\HouseholdMember;
/** /**
* @ORM\Entity * @ORM\Entity
@ -24,16 +26,10 @@ class Household
* @ORM\Column(type="integer") * @ORM\Column(type="integer")
* @Serializer\Groups({"read"}) * @Serializer\Groups({"read"})
*/ */
private $id; private ?int $id;
public function getId(): ?int
{
return $this->id;
}
/** /**
* Addresses * Addresses
* @var Collection
* *
* @ORM\ManyToMany( * @ORM\ManyToMany(
* targetEntity="Chill\MainBundle\Entity\Address", * targetEntity="Chill\MainBundle\Entity\Address",
@ -41,8 +37,26 @@ class Household
* @ORM\JoinTable(name="chill_person_household_to_addresses") * @ORM\JoinTable(name="chill_person_household_to_addresses")
* @ORM\OrderBy({"validFrom" = "DESC"}) * @ORM\OrderBy({"validFrom" = "DESC"})
*/ */
private $addresses; private Collection $addresses;
/**
* @ORM\OneToMany(
* targetEntity=HouseholdMember::class,
* mappedBy="household"
* )
*/
private Collection $members;
public function __construct()
{
$this->addresses = new ArrayCollection();
$this->members = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
/** /**
* @param Address $address * @param Address $address
@ -74,4 +88,34 @@ class Household
return $this->addresses; return $this->addresses;
} }
/**
* @return Collection|HouseholdMember[]
*/
public function getMembers(): Collection
{
return $this->members;
}
public function addMember(HouseholdMember $member): self
{
if (!$this->members->contains($member)) {
$this->members[] = $member;
$member->setHousehold($this);
}
return $this;
}
public function removeMember(HouseholdMember $member): self
{
if ($this->members->removeElement($member)) {
// set the owning side to null (unless already changed)
if ($member->getHousehold() === $this) {
$member->setHousehold(null);
}
}
return $this;
}
} }

View File

@ -7,7 +7,8 @@
<p>Household with id {{ household.id }}</p> <p>Household with id {{ household.id }}</p>
<a class="sc-button bt-update" href="{{ chill_path_add_return_path('chill_person_household_address_move', { 'household_id': household.id }) }}"> <a class="sc-button bt-update"
href="{{ chill_path_add_return_path('chill_person_household_address_move', { 'household_id': household.id }) }}">
{{ 'Move household'|trans }} {{ 'Move household'|trans }}
</a> </a>