diff options
Diffstat (limited to 'webapp')
-rw-r--r-- | webapp/action_creators/global_actions.jsx | 9 | ||||
-rw-r--r-- | webapp/action_creators/websocket_actions.jsx | 1 | ||||
-rw-r--r-- | webapp/components/claim/components/email_to_ldap.jsx | 14 | ||||
-rw-r--r-- | webapp/components/root.jsx | 2 | ||||
-rw-r--r-- | webapp/components/suggestion/search_suggestion_list.jsx | 1 | ||||
-rw-r--r-- | webapp/components/user_settings/user_settings_modal.jsx | 14 | ||||
-rw-r--r-- | webapp/components/user_settings/user_settings_security.jsx | 1 | ||||
-rw-r--r-- | webapp/components/user_settings/user_settings_theme.jsx | 13 | ||||
-rw-r--r-- | webapp/root.jsx | 2 | ||||
-rw-r--r-- | webapp/stores/notification_store.jsx (renamed from webapp/stores/notificaiton_store.jsx) | 0 |
10 files changed, 31 insertions, 26 deletions
diff --git a/webapp/action_creators/global_actions.jsx b/webapp/action_creators/global_actions.jsx index ab38532a6..7322f1150 100644 --- a/webapp/action_creators/global_actions.jsx +++ b/webapp/action_creators/global_actions.jsx @@ -264,6 +264,15 @@ export function newLocalizationSelected(locale) { } } +export function loadBrowserLocale() { + let locale = (navigator.languages && navigator.languages.length > 0 ? navigator.languages[0] : + (navigator.language || navigator.userLanguage)).split('-')[0]; + if (!I18n.getLanguages()[locale]) { + locale = 'en'; + } + return newLocalizationSelected(locale); +} + export function viewLoggedIn() { AsyncClient.getChannels(); AsyncClient.getChannelExtraInfo(); diff --git a/webapp/action_creators/websocket_actions.jsx b/webapp/action_creators/websocket_actions.jsx index 611d53bf7..93b12692a 100644 --- a/webapp/action_creators/websocket_actions.jsx +++ b/webapp/action_creators/websocket_actions.jsx @@ -7,6 +7,7 @@ import PostStore from 'stores/post_store.jsx'; import ChannelStore from 'stores/channel_store.jsx'; import BrowserStore from 'stores/browser_store.jsx'; import ErrorStore from 'stores/error_store.jsx'; +import NotificationStore from 'stores/notification_store.jsx'; //eslint-disable-line no-unused-vars import * as Utils from 'utils/utils.jsx'; import * as AsyncClient from 'utils/async_client.jsx'; diff --git a/webapp/components/claim/components/email_to_ldap.jsx b/webapp/components/claim/components/email_to_ldap.jsx index 1f51f9cd5..1ceb42a27 100644 --- a/webapp/components/claim/components/email_to_ldap.jsx +++ b/webapp/components/claim/components/email_to_ldap.jsx @@ -21,7 +21,7 @@ export default class EmailToLDAP extends React.Component { e.preventDefault(); var state = {}; - const password = ReactDOM.findDOMNode(this.refs.password).value.trim(); + const password = ReactDOM.findDOMNode(this.refs.emailpassword).value.trim(); if (!password) { state.error = Utils.localizeMessage('claim.email_to_ldap.pwdError', 'Please enter your password.'); this.setState(state); @@ -105,12 +105,18 @@ export default class EmailToLDAP extends React.Component { }} /> </p> + <input + type='text' + style={{display: 'none'}} + name='fakeusernameremembered' + /> <div className={formClass}> <input type='password' className='form-control' - name='password' - ref='password' + name='emailPassword' + ref='emailpassword' + autoComplete='off' placeholder={Utils.localizeMessage('claim.email_to_ldap.pwd', 'Password')} spellCheck='false' /> @@ -131,6 +137,7 @@ export default class EmailToLDAP extends React.Component { className='form-control' name='ldapId' ref='ldapid' + autoComplete='off' placeholder={Utils.localizeMessage('claim.email_to_ldap.ldapId', 'LDAP ID')} spellCheck='false' /> @@ -141,6 +148,7 @@ export default class EmailToLDAP extends React.Component { className='form-control' name='ldapPassword' ref='ldappassword' + autoComplete='off' placeholder={Utils.localizeMessage('claim.email_to_ldap.ldapPwd', 'LDAP Password')} spellCheck='false' /> diff --git a/webapp/components/root.jsx b/webapp/components/root.jsx index 9963bc5dd..3b85b23fd 100644 --- a/webapp/components/root.jsx +++ b/webapp/components/root.jsx @@ -69,7 +69,7 @@ export default class Root extends React.Component { FastClick.attach(document.body); // Get our localizaiton - GlobalActions.newLocalizationSelected('en'); + GlobalActions.loadBrowserLocale(); } componentWillUnmount() { LocalizationStore.removeChangeListener(this.localizationChanged); diff --git a/webapp/components/suggestion/search_suggestion_list.jsx b/webapp/components/suggestion/search_suggestion_list.jsx index b15cc4243..57aaee8ff 100644 --- a/webapp/components/suggestion/search_suggestion_list.jsx +++ b/webapp/components/suggestion/search_suggestion_list.jsx @@ -2,6 +2,7 @@ // See License.txt for license information. import $ from 'jquery'; +import React from 'react'; import ReactDOM from 'react-dom'; import Constants from 'utils/constants.jsx'; import SuggestionList from './suggestion_list.jsx'; diff --git a/webapp/components/user_settings/user_settings_modal.jsx b/webapp/components/user_settings/user_settings_modal.jsx index d1c1f0fe2..b71547baf 100644 --- a/webapp/components/user_settings/user_settings_modal.jsx +++ b/webapp/components/user_settings/user_settings_modal.jsx @@ -9,7 +9,6 @@ import SettingsSidebar from '../settings_sidebar.jsx'; import UserStore from 'stores/user_store.jsx'; import * as Utils from 'utils/utils.jsx'; -import Constants from 'utils/constants.jsx'; import {Modal} from 'react-bootstrap'; @@ -113,7 +112,6 @@ class UserSettingsModal extends React.Component { return; } - this.resetTheme(); this.deactivateTab(); this.props.onModalDismissed(); return; @@ -220,22 +218,10 @@ class UserSettingsModal extends React.Component { if (!skipConfirm && this.requireConfirm) { this.showConfirmModal(() => this.updateSection(section, true)); } else { - if (this.state.active_section === 'theme' && section !== 'theme') { - this.resetTheme(); - } this.setState({active_section: section}); } } - resetTheme() { - const user = UserStore.getCurrentUser(); - if (user.theme_props == null) { - Utils.applyTheme(Constants.THEMES.default); - } else { - Utils.applyTheme(user.theme_props); - } - } - render() { const {formatMessage} = this.props.intl; if (this.state.currentUser == null) { diff --git a/webapp/components/user_settings/user_settings_security.jsx b/webapp/components/user_settings/user_settings_security.jsx index 283d2c425..f937844ec 100644 --- a/webapp/components/user_settings/user_settings_security.jsx +++ b/webapp/components/user_settings/user_settings_security.jsx @@ -416,6 +416,7 @@ class SecurityTab extends React.Component { let numMethods = 0; numMethods = global.window.mm_config.EnableSignUpWithGitLab === 'true' ? numMethods + 1 : numMethods; numMethods = global.window.mm_config.EnableSignUpWithGoogle === 'true' ? numMethods + 1 : numMethods; + numMethods = global.window.mm_config.EnableLdap === 'true' ? numMethods + 1 : numMethods; if (global.window.mm_config.EnableSignUpWithEmail && numMethods > 0) { signInSection = this.createSignInSection(); diff --git a/webapp/components/user_settings/user_settings_theme.jsx b/webapp/components/user_settings/user_settings_theme.jsx index 3414fe2e2..14991037d 100644 --- a/webapp/components/user_settings/user_settings_theme.jsx +++ b/webapp/components/user_settings/user_settings_theme.jsx @@ -40,7 +40,6 @@ export default class ThemeSetting extends React.Component { this.onChange = this.onChange.bind(this); this.submitTheme = this.submitTheme.bind(this); this.updateTheme = this.updateTheme.bind(this); - this.deactivate = this.deactivate.bind(this); this.resetFields = this.resetFields.bind(this); this.handleImportModal = this.handleImportModal.bind(this); @@ -62,12 +61,17 @@ export default class ThemeSetting extends React.Component { } } componentWillReceiveProps(nextProps) { - if (!this.props.selected && nextProps.selected) { + if (this.props.selected && !nextProps.selected) { this.resetFields(); } } componentWillUnmount() { UserStore.removeChangeListener(this.onChange); + + if (this.props.selected) { + const state = this.getStateFromStores(); + Utils.applyTheme(state.theme); + } } getStateFromStores() { const user = UserStore.getCurrentUser(); @@ -147,11 +151,6 @@ export default class ThemeSetting extends React.Component { updateType(type) { this.setState({type}); } - deactivate() { - const state = this.getStateFromStores(); - - Utils.applyTheme(state.theme); - } resetFields() { const state = this.getStateFromStores(); state.serverError = null; diff --git a/webapp/root.jsx b/webapp/root.jsx index 2318c0682..2fce25532 100644 --- a/webapp/root.jsx +++ b/webapp/root.jsx @@ -119,7 +119,7 @@ function preRenderSetup(callwhendone) { if (global.Intl) { afterIntl(); } else { - I18n.safarifix(afterIntl); + I18n.safariFix(afterIntl); } } diff --git a/webapp/stores/notificaiton_store.jsx b/webapp/stores/notification_store.jsx index 70caffeb6..70caffeb6 100644 --- a/webapp/stores/notificaiton_store.jsx +++ b/webapp/stores/notification_store.jsx |