Skip to content
This repository was archived by the owner on Sep 19, 2022. It is now read-only.

Commit d2c1fb0

Browse files
author
Dominik František Bučík
authored
Merge pull request #198 from dBucik/fix_display_sponwayf
fix: 🐛 Fix wrong variable names in getFacilityByXY methods
2 parents 4e743f3 + 986a7d8 commit d2c1fb0

File tree

2 files changed

+26
-18
lines changed

2 files changed

+26
-18
lines changed

lib/AdapterLdap.php

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -287,8 +287,11 @@ public function getFacilitiesByEntityId($spEntityId)
287287
public function getFacilityByEntityId($spEntityId, $entityIdAttr = 'perunFacilityAttr_entityID')
288288
{
289289
$attrName = AttributeUtils::getLdapAttrName($entityIdAttr);
290-
if (empty($attributeName)) {
291-
throw new Exception("No attribute configuration in LDAP found for attribute ${entityIdAttr}");
290+
if (empty($attrName)) {
291+
$attrName = 'entityID';
292+
Logger::warning(
293+
"No attribute configuration in LDAP found for attribute ${entityIdAttr}, using ${attrName} as fallback value"
294+
);
292295
}
293296
$ldapResult = $this->connector->searchForEntity(
294297
$this->ldapBase,
@@ -301,21 +304,22 @@ public function getFacilityByEntityId($spEntityId, $entityIdAttr = 'perunFacilit
301304
return null;
302305
}
303306

304-
$facility = new Facility(
307+
return new Facility(
305308
$ldapResult[self::PERUN_FACILITY_ID][0],
306309
$ldapResult[self::CN][0],
307310
$ldapResult[self::DESCRIPTION][0],
308311
$spEntityId
309312
);
310-
311-
return $facility;
312313
}
313314

314315
public function getFacilityByClientId($clientId, $clientIdAttr = 'perunFacilityAttr_OIDCClientID')
315316
{
316317
$attrName = AttributeUtils::getLdapAttrName($clientIdAttr);
317-
if (empty($attributeName)) {
318-
throw new Exception("No attribute configuration in LDAP found for attribute ${clientIdAttr}");
318+
if (empty($attrName)) {
319+
$attrName = 'OIDCClientID';
320+
Logger::warning(
321+
"No attribute configuration in LDAP found for attribute ${clientIdAttr}, using ${attrName} as fallback value"
322+
);
319323
}
320324
$ldapResult = $this->connector->searchForEntity(
321325
$this->ldapBase,
@@ -328,14 +332,12 @@ public function getFacilityByClientId($clientId, $clientIdAttr = 'perunFacilityA
328332
return null;
329333
}
330334

331-
$facility = new Facility(
335+
return new Facility(
332336
$ldapResult[self::PERUN_FACILITY_ID][0],
333337
$ldapResult[self::CN][0],
334338
$ldapResult[self::DESCRIPTION][0],
335339
$clientId
336340
);
337-
338-
return $facility;
339341
}
340342

341343
public function getEntitylessAttribute($attrName)

lib/AdapterRpc.php

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -371,12 +371,15 @@ public function getUsersGroupsOnFacility($spEntityId, $userId)
371371

372372
public function getFacilityByEntityId($spEntityId, $entityIdAttr = 'perunFacilityAttr_entityID')
373373
{
374-
$attributeName = AttributeUtils::getRpcAttrName($entityIdAttr);
375-
if (empty($attributeName)) {
376-
throw new Exception("No attribute configuration in RPC found for attribute ${entityIdAttr}");
374+
$attrName = AttributeUtils::getRpcAttrName($entityIdAttr);
375+
if (empty($attrName)) {
376+
$attrName = 'urn:perun:facility:attribute-def:def:entityID';
377+
Logger::warning(
378+
"No attribute configuration in RPC found for attribute ${entityIdAttr}, using ${attrName} as fallback value"
379+
);
377380
}
378381
$perunAttr = $this->connector->get('facilitiesManager', 'getFacilitiesByAttribute', [
379-
'attributeName' => $attributeName,
382+
'attributeName' => $attrName,
380383
'attributeValue' => $spEntityId,
381384
]);
382385

@@ -397,12 +400,15 @@ public function getFacilityByEntityId($spEntityId, $entityIdAttr = 'perunFacilit
397400

398401
public function getFacilityByClientId($clientId, $clientIdAttr = 'perunFacilityAttr_OIDCClientID')
399402
{
400-
$attributeName = AttributeUtils::getRpcAttrName($clientIdAttr);
401-
if (empty($attributeName)) {
402-
throw new Exception("No attribute configuration in RPC found for attribute ${clientIdAttr}");
403+
$attrName = AttributeUtils::getRpcAttrName($clientIdAttr);
404+
if (empty($attrName)) {
405+
$attrName = 'urn:perun:facility:attribute-def:def:OIDCClientID';
406+
Logger::warning(
407+
"No attribute configuration in RPC found for attribute ${clientIdAttr}, using ${attrName} as fallback value"
408+
);
403409
}
404410
$perunAttr = $this->connector->get('facilitiesManager', 'getFacilitiesByAttribute', [
405-
'attributeName' => $attributeName,
411+
'attributeName' => $attrName,
406412
'attributeValue' => $clientId,
407413
]);
408414

0 commit comments

Comments
 (0)