attributeGroups; } public function setAttributeGroups(?array $attributeGroups): static{ $this->attributeGroups = $attributeGroups; return $this; } public function isTeamer(): bool { return $this->teamer; } public function setTeamer(bool $teamer): static { $this->teamer = $teamer; return $this; } public function isAdmin(): bool { return $this->admin; } public function setAdmin(bool $admin): static { $this->admin = $admin; return $this; } public function isManager(): bool { return $this->manager; } public function setManager(bool $manager): static { $this->manager = $manager; return $this; } public function isHouseManager(): bool { return $this->houseManager; } public function setHouseManager(bool $houseManager): static { $this->houseManager = $houseManager; return $this; } public function getHotelCodes(): array { return $this->hotelCodes; } public function setHotelCodes(array $hotelCodes): static { $this->hotelCodes = $hotelCodes; return $this; } public function toArray(): array { $crmSelections = []; foreach ($this->getAttributeGroups() as $group) { /** @var CrmAttributeGroup $group */ if (false === isset($crmSelections[$group->getLabel()])) { $crmSelections[$group->getLabel()] = []; } foreach ($group->getAttributes() as $attribute) { /** @var CrmAttribute $attribute */ if (false === $attribute->isSelected()) { continue; } $crmSelections[$group->getLabel()][] = $attribute->getLabel(); } } return $crmSelections; } }