WIP: Implement feedback functionality

This commit is contained in:
Björn Fromme committed 2023-11-02 18:01:12 +01:00
1 parent 2689f93683
commit 2599fd69dc
28 files changed
+640 -43

No files matched your search

@@ -7,6 +7,7 @@ class CrmAttributesResponse
private ?array $attributeGroups = null;
private bool $admin = false;
private bool $manager = false;
private bool $houseManager = false;
private bool $teamer = false;
public function getAttributeGroups(): ?array
@@ -56,6 +57,18 @@ class CrmAttributesResponse
return $this;
}
public function isHouseManager(): bool
{
return $this->houseManager;
}
public function setHouseManager(bool $houseManager): static
{
$this->houseManager = $houseManager;
return $this;
}
public function toArray(): array
{
$crmSelections = [];
+4 -2
View File
@@ -133,7 +133,7 @@ class ResponseParser
public function createCrmAttributesResponse(\SimpleXMLElement $xml): CrmAttributesResponse
{
$groups = [];
$isAdmin = $isManager = $isTeamer = false;
$isAdmin = $isManager = $isHouseManager = $isTeamer = false;
foreach ($xml->xpath('selektionsmerkmale/selektionsgruppe') as $item) {
$group = new CrmAttributeGroup();
@@ -169,6 +169,7 @@ class ResponseParser
->setAdmin($isAdmin)
->setManager($isManager)
->setTeamer($isTeamer)
->setHouseManager($isHouseManager)
;
return $response;
@@ -242,9 +243,10 @@ class ResponseParser
private function resolveOptions(array $options): array
{
$optionsResolver = new OptionsResolver();
$optionsResolver->setRequired(['bpn_crm_id_admin', 'bpn_crm_id_manager', 'bpn_crm_id_teamer']);
$optionsResolver->setRequired(['bpn_crm_id_admin', 'bpn_crm_id_manager', 'bpn_crm_id_house_manager', 'bpn_crm_id_teamer']);
$optionsResolver->setAllowedTypes('bpn_crm_id_admin', 'int');
$optionsResolver->setAllowedTypes('bpn_crm_id_manager', 'int');
$optionsResolver->setAllowedTypes('bpn_crm_id_house_manager', 'int');
$optionsResolver->setAllowedTypes('bpn_crm_id_teamer', 'int');
return $optionsResolver->resolve($options);
+3
View File
@@ -30,6 +30,9 @@ class UserDataHandler
if ($crmAttributes->isManager()) {
$roles[] = 'ROLE_MANAGER';
}
if ($crmAttributes->isHouseManager()) {
$roles[] = 'ROLE_HOUSE_MANAGER';
}
if ($crmAttributes->isTeamer()) {
$roles[] = 'ROLE_TEAMER';
}