diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 056cf15c2..e50f4768d 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -168,7 +168,9 @@ export class UserResolver { let humhubUserPromise: Promise> | undefined const klicktippStatePromise = getKlicktippState(dbUser.emailContact.email) if (CONFIG.HUMHUB_ACTIVE && dbUser.humhubAllowed) { - humhubUserPromise = HumHubClient.getInstance()?.userByUsernameAsync(email) + humhubUserPromise = HumHubClient.getInstance()?.userByUsernameAsync( + dbUser.alias && dbUser.gradidoID, + ) } if (dbUser.passwordEncryptionType !== PasswordEncryptionType.GRADIDO_ID) { @@ -727,7 +729,10 @@ export class UserResolver { throw new LogError('cannot create humhub client') } const username = dbUser.alias ?? dbUser.gradidoID - const humhubUser = await humhubClient.userByUsername(username) + let humhubUser = await humhubClient.userByUsername(username) + if (!humhubUser) { + humhubUser = await humhubClient.userByEmail(dbUser.emailContact.email) + } if (!humhubUser) { throw new LogError("user don't exist (any longer) on humhub") } diff --git a/backend/src/graphql/resolver/util/syncHumhub.ts b/backend/src/graphql/resolver/util/syncHumhub.ts index 73ec755ee..426f89c92 100644 --- a/backend/src/graphql/resolver/util/syncHumhub.ts +++ b/backend/src/graphql/resolver/util/syncHumhub.ts @@ -28,7 +28,10 @@ export async function syncHumhub( return } logger.debug('retrieve user from humhub') - const humhubUser = await humhubClient.userByUsername(user.alias ?? user.gradidoID) + let humhubUser = await humhubClient.userByUsername(user.alias ?? user.gradidoID) + if (!humhubUser) { + humhubUser = await humhubClient.userByEmail(user.emailContact.email) + } const humhubUsers = new Map() if (humhubUser) { humhubUsers.set(user.emailContact.email, humhubUser) diff --git a/frontend/src/components/Menu/Sidebar.spec.js b/frontend/src/components/Menu/Sidebar.spec.js index de11f1041..8891d0516 100644 --- a/frontend/src/components/Menu/Sidebar.spec.js +++ b/frontend/src/components/Menu/Sidebar.spec.js @@ -1,8 +1,12 @@ import { mount } from '@vue/test-utils' import Sidebar from './Sidebar' +import CONFIG from '../../config' const localVue = global.localVue +CONFIG.GMS_ACTIVE = 'true' +CONFIG.HUMHUB_ACTIVE = 'true' + describe('Sidebar', () => { let wrapper diff --git a/frontend/src/components/Menu/Sidebar.vue b/frontend/src/components/Menu/Sidebar.vue index ade0aad29..e71fdbfeb 100644 --- a/frontend/src/components/Menu/Sidebar.vue +++ b/frontend/src/components/Menu/Sidebar.vue @@ -28,11 +28,11 @@ {{ $t('navigation.info') }} - + {{ $t('navigation.circles') }} - + {{ $t('navigation.usersearch') }} @@ -77,6 +77,8 @@ @@ -109,6 +124,9 @@ export default { filter: brightness(0) invert(0); } +.invisible { + display: none; +} #component-sidebar { min-width: 200px; } diff --git a/frontend/src/pages/Settings.vue b/frontend/src/pages/Settings.vue index 8a0a39f8d..2116bcdf9 100644 --- a/frontend/src/pages/Settings.vue +++ b/frontend/src/pages/Settings.vue @@ -116,20 +116,19 @@
-
{{ $t('GMS.title') }}
+
{{ $t('GMS.title') }}
-
{{ $t('GMS.desc') }}
+
{{ $t('GMS.desc') }}
@@ -161,6 +160,17 @@
+
+ + +
{{ $t('GMS.title') }}
+
+ + + +
+
{{ $t('GMS.desc') }}
+
@@ -241,16 +251,16 @@ export default { return firstName === this.firstName && lastName === this.lastName }, isHumhubActivated() { - return this.humhubAllowed + return this.humhubAllowed === true }, isCommunityService() { return this.isGMS || this.isHumhub }, isGMS() { - return CONFIG.GMS_ACTIVE + return CONFIG.GMS_ACTIVE === 'true' }, isHumhub() { - return CONFIG.HUMHUB_ACTIVE + return CONFIG.HUMHUB_ACTIVE === 'true' }, }, // TODO: watch: {