mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
show gms and humhub menu entries only when activated, double check user with username and email
This commit is contained in:
parent
0c1b88e9ca
commit
819d095467
@ -168,7 +168,9 @@ export class UserResolver {
|
||||
let humhubUserPromise: Promise<IRestResponse<GetUser>> | 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")
|
||||
}
|
||||
|
||||
@ -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<string, GetUser>()
|
||||
if (humhubUser) {
|
||||
humhubUsers.set(user.emailContact.email, humhubUser)
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -28,11 +28,11 @@
|
||||
<b-img src="/img/svg/info.svg" height="20" class="svg-icon" />
|
||||
<span class="ml-2">{{ $t('navigation.info') }}</span>
|
||||
</b-nav-item>
|
||||
<b-nav-item to="/circles" class="mb-3" active-class="activeRoute">
|
||||
<b-nav-item to="/circles" :class="humhubClass" active-class="activeRoute">
|
||||
<b-img src="/img/svg/circles.svg" height="20" class="svg-icon" />
|
||||
<span class="ml-2">{{ $t('navigation.circles') }}</span>
|
||||
</b-nav-item>
|
||||
<b-nav-item to="/usersearch" active-class="activeRoute">
|
||||
<b-nav-item to="/usersearch" :class="GMSClass" active-class="activeRoute">
|
||||
<b-img src="/img/loupe.png" height="20" />
|
||||
<span class="ml-2">{{ $t('navigation.usersearch') }}</span>
|
||||
</b-nav-item>
|
||||
@ -77,6 +77,8 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import CONFIG from '../../config'
|
||||
|
||||
export default {
|
||||
name: 'Sidebar',
|
||||
props: {
|
||||
@ -89,6 +91,19 @@ export default {
|
||||
}
|
||||
return 'mb-3'
|
||||
},
|
||||
humhubClass() {
|
||||
if (CONFIG.HUMHUB_ACTIVE === 'true') {
|
||||
return 'mb-3'
|
||||
} else {
|
||||
return 'invisible'
|
||||
}
|
||||
},
|
||||
GMSClass() {
|
||||
if (CONFIG.GMS_ACTIVE !== 'true') {
|
||||
return 'invisible'
|
||||
}
|
||||
return ''
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
@ -109,6 +124,9 @@ export default {
|
||||
filter: brightness(0) invert(0);
|
||||
}
|
||||
|
||||
.invisible {
|
||||
display: none;
|
||||
}
|
||||
#component-sidebar {
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
@ -116,20 +116,19 @@
|
||||
<div v-if="isGMS" class="mt-3">
|
||||
<b-row>
|
||||
<b-col cols="12" md="6" lg="6">
|
||||
<div class="h3 text-muted">{{ $t('GMS.title') }}</div>
|
||||
<div class="h3">{{ $t('GMS.title') }}</div>
|
||||
</b-col>
|
||||
<b-col cols="12" md="6" lg="6" class="text-right">
|
||||
<user-settings-switch
|
||||
@valueChanged="gmsStateSwitch"
|
||||
:initialValue="$store.state.gmsAllowed"
|
||||
:attrName="'gmsAllowed'"
|
||||
:disabled="true"
|
||||
:enabledText="$t('settings.GMS.enabled')"
|
||||
:disabledText="$t('settings.GMS.disabled')"
|
||||
/>
|
||||
</b-col>
|
||||
</b-row>
|
||||
<div class="h4 mt-3 text-muted">{{ $t('GMS.desc') }}</div>
|
||||
<div class="h4 mt-3">{{ $t('GMS.desc') }}</div>
|
||||
<div v-if="gmsAllowed">
|
||||
<b-row class="mb-4">
|
||||
<b-col cols="12" md="6" lg="6">
|
||||
@ -161,6 +160,17 @@
|
||||
</b-row>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<b-row>
|
||||
<b-col cols="12" md="6" lg="6">
|
||||
<div class="h3 text-muted">{{ $t('GMS.title') }}</div>
|
||||
</b-col>
|
||||
<b-col cols="12" md="6" lg="6" class="text-right">
|
||||
<user-settings-switch :disabled="true" />
|
||||
</b-col>
|
||||
</b-row>
|
||||
<div class="h4 mt-3 text-muted">{{ $t('GMS.desc') }}</div>
|
||||
</div>
|
||||
</b-tab>
|
||||
</div>
|
||||
</b-tabs>
|
||||
@ -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: {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user