feat: make admin users hotel managers with configurable hotel code

This commit is contained in:
Björn Fromme
2023-12-01 14:09:49 +01:00
parent ec22e31eb9
commit 9b4f100bb1
4 changed files with 20 additions and 8 deletions
+11 -2
View File
@@ -171,6 +171,12 @@ class ResponseParser
$groups[] = $group;
}
// Apply additional role and hotel code for testing purposes when provided
if ($isAdmin && null !== $this->config['bpn_default_hotel_code']) {
$isHouseManager = true;
$hotelCode = $this->config['bpn_default_hotel_code'];
}
$response = new CrmAttributesResponse();
$response
->setAttributeGroups($groups)
@@ -252,11 +258,14 @@ class ResponseParser
private function resolveOptions(array $options): array
{
$optionsResolver = new OptionsResolver();
$optionsResolver->setRequired(['bpn_crm_id_admin', 'bpn_crm_id_manager', 'bpn_crm_id_house_manager', 'bpn_crm_id_teamer']);
$optionsResolver->setRequired(['bpn_crm_id_admin', 'bpn_crm_id_manager', 'bpn_crm_id_teamer']);
$optionsResolver->setDefaults([
'bpn_default_hotel_code' => null,
]);
$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');
$optionsResolver->setAllowedTypes('bpn_default_hotel_code', ['string', 'null']);
return $optionsResolver->resolve($options);
}