feat: Profile tab does not depend on isGuest.

Introduced a config property to disable profile.
prosody-modules-strings
damencho 5 years ago committed by Дамян Минков
parent c14f639639
commit 9fa29d7353
  1. 3
      config.js
  2. 2
      modules/UI/videolayout/LocalVideo.js
  3. 1
      react/features/base/config/configWhitelist.js
  4. 6
      react/features/base/jwt/functions.js
  5. 3
      react/features/settings/components/web/SettingsDialog.js
  6. 2
      react/features/toolbox/components/web/OverflowMenuProfileItem.js
  7. 12
      react/features/toolbox/components/web/Toolbox.js

@ -359,6 +359,9 @@ var config = {
// Default language for the user interface.
// defaultLanguage: 'en',
// Disables profile and the edit of all fields from the profile settings (display name and email)
// disableProfile: false,
// If true all users without a token will be considered guests and all users
// with token will be considered non-guests. Only guests will be allowed to
// edit their profile.

@ -104,7 +104,7 @@ export default class LocalVideo extends SmallVideo {
}
this._renderDisplayName({
allowEditing: APP.store.getState()['features/base/jwt'].isGuest,
allowEditing: !config.disableProfile,
displayNameSuffix: interfaceConfig.DEFAULT_LOCAL_DISPLAY_NAME,
elementID: 'localDisplayName',
participantID: this.id

@ -85,6 +85,7 @@ export default [
'disableInviteFunctions',
'disableLocalVideoFlip',
'disableNS',
'disableProfile',
'disableRemoteControl',
'disableRemoteMute',
'disableRtx',

@ -1,7 +1,5 @@
/* @flow */
import jwtDecode from 'jwt-decode';
import { parseURLParams } from '../util';
/**
@ -24,7 +22,7 @@ export function parseJWTFromURLParams(url: URL = window.location) {
* @returns {string}
*/
export function getJwtName(state: Object) {
const jwtData = jwtDecode(state['features/base/jwt'].jwt);
const { user } = state['features/base/jwt'];
return jwtData?.context?.user?.name || '';
return user?.name || '';
}

@ -126,14 +126,13 @@ class SettingsDialog extends Component<Props> {
*/
function _mapStateToProps(state) {
const configuredTabs = interfaceConfig.SETTINGS_SECTIONS || [];
const jwt = state['features/base/jwt'];
// The settings sections to display.
const showDeviceSettings = configuredTabs.includes('devices');
const moreTabProps = getMoreTabProps(state);
const { showModeratorSettings, showLanguageSettings, showPrejoinSettings } = moreTabProps;
const showProfileSettings
= configuredTabs.includes('profile') && jwt.isGuest;
= configuredTabs.includes('profile') && !state['features/base/config'].disableProfile;
const showCalendarSettings
= configuredTabs.includes('calendar') && isCalendarEnabled(state);
const tabs = [];

@ -120,7 +120,7 @@ class OverflowMenuProfileItem extends Component<Props> {
function _mapStateToProps(state) {
return {
_localParticipant: getLocalParticipant(state),
_unclickable: !state['features/base/jwt'].isGuest
_unclickable: state['features/base/config'].disableProfile
|| !interfaceConfig.SETTINGS_SECTIONS.includes('profile')
};
}

@ -129,14 +129,14 @@ type Props = {
_fullScreen: boolean,
/**
* Whether or not the tile view is enabled.
* Whether or not the profile is disabled.
*/
_tileViewEnabled: boolean,
_isProfileDisabled: boolean,
/**
* Whether or not the current user is logged in through a JWT.
* Whether or not the tile view is enabled.
*/
_isGuest: boolean,
_tileViewEnabled: boolean,
/**
* Whether or not the current meeting belongs to a JaaS user.
@ -993,7 +993,7 @@ class Toolbox extends Component<Props, State> {
* @returns {boolean}
*/
_isProfileVisible() {
return this.props._isGuest && this._shouldShowButton('profile');
return !this.props._isProfileDisabled && this._shouldShowButton('profile');
}
/**
@ -1448,7 +1448,7 @@ function _mapStateToProps(state) {
_desktopSharingDisabledTooltipKey: desktopSharingDisabledTooltipKey,
_dialog: Boolean(state['features/base/dialog'].component),
_feedbackConfigured: Boolean(callStatsID),
_isGuest: state['features/base/jwt'].isGuest,
_isProfileDisabled: Boolean(state['features/base/config'].disableProfile),
_isVpaasMeeting: isVpaasMeeting(state),
_fullScreen: fullScreen,
_tileViewEnabled: shouldDisplayTileView(state),

Loading…
Cancel
Save