From d4d59493a294d3031e122d895f1c727ae25d9c57 Mon Sep 17 00:00:00 2001 From: Christopher Ng Date: Thu, 22 Jul 2021 00:03:33 +0000 Subject: [PATCH] Provide initial state Signed-off-by: Christopher Ng --- .../lib/Settings/Personal/PersonalInfo.php | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/apps/settings/lib/Settings/Personal/PersonalInfo.php b/apps/settings/lib/Settings/Personal/PersonalInfo.php index 387843c5522..d69d4b33b4c 100644 --- a/apps/settings/lib/Settings/Personal/PersonalInfo.php +++ b/apps/settings/lib/Settings/Personal/PersonalInfo.php @@ -145,14 +145,17 @@ class PersonalInfo implements ISettings { 'groups' => $this->getGroups($user), ] + $messageParameters + $languageParameters + $localeParameters; - $emails = $this->getEmails($account); + $personalInfoParameters = [ + 'displayNames' => $this->getDisplayNames($account), + 'emails' => $this->getEmails($account), + ]; $accountParameters = [ 'displayNameChangeSupported' => $user->canChangeDisplayName(), 'lookupServerUploadEnabled' => $lookupServerUploadEnabled, ]; - $this->initialStateService->provideInitialState('emails', $emails); + $this->initialStateService->provideInitialState('personalInfoParameters', $personalInfoParameters); $this->initialStateService->provideInitialState('accountParameters', $accountParameters); return new TemplateResponse('settings', 'settings/personal/personal.info', $parameters, ''); @@ -196,6 +199,29 @@ class PersonalInfo implements ISettings { return $groups; } + /** + * returns the primary display name in an + * associative array + * + * NOTE may be extended to provide additional display names (i.e. aliases) in the future + * + * @param IAccount $account + * @return array + */ + private function getDisplayNames(IAccount $account): array { + $primaryDisplayName = [ + 'value' => $account->getProperty(IAccountManager::PROPERTY_DISPLAYNAME)->getValue(), + 'scope' => $account->getProperty(IAccountManager::PROPERTY_DISPLAYNAME)->getScope(), + 'verified' => $account->getProperty(IAccountManager::PROPERTY_DISPLAYNAME)->getVerified(), + ]; + + $displayNames = [ + 'primaryDisplayName' => $primaryDisplayName, + ]; + + return $displayNames; + } + /** * returns the primary email and additional emails in an * associative array