Skip to content

Commit

Permalink
Extract User->getMemberList() method
Browse files Browse the repository at this point in the history
This helps reduce the complexity of the `User->fields()` method, which
was getting overly complicated.
  • Loading branch information
forevermatt committed Aug 19, 2024
1 parent 6ce06ac commit d677e2e
Showing 1 changed file with 21 additions and 15 deletions.
36 changes: 21 additions & 15 deletions application/common/models/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -569,21 +569,7 @@ public function fields(): array
},
'hide',
'member' => function (self $model) {
if (!empty($model->groups)) {
$member = explode(',', $model->groups);
} else {
$member = [];
}

$externalGroups = explode(',', $model->groups_external);
foreach ($externalGroups as $externalGroup) {
if (!empty($externalGroup)) {
$member[] = $externalGroup;
}
}

$member[] = \Yii::$app->params['idpName'];
return $member;
return $model->getMemberList();
},
'mfa',
'method' => function (self $model) {
Expand Down Expand Up @@ -615,6 +601,26 @@ public function getDisplayName()
return $this->display_name ?? "$this->first_name $this->last_name";
}

/** @return string[] */
public function getMemberList(): array
{
if (!empty($this->groups)) {
$member = explode(',', $this->groups);
} else {
$member = [];
}

$externalGroups = explode(',', $this->groups_external);
foreach ($externalGroups as $externalGroup) {
if (!empty($externalGroup)) {
$member[] = $externalGroup;
}
}

$member[] = \Yii::$app->params['idpName'];
return $member;
}

/**
* Based on current time and presence of MFA and Method options,
* determine which "nag" to present to the user.
Expand Down

0 comments on commit d677e2e

Please sign in to comment.