summaryrefslogtreecommitdiffstats
path: root/webapp
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2016-05-05 16:36:42 -0400
committerChristopher Speller <crspeller@gmail.com>2016-05-05 16:36:42 -0400
commitf2e788f4b12517759e016a9f48633597bed82e8f (patch)
treeb1881587688460d4f122f012e4f6e0356857f902 /webapp
parentd2ddf40f56191c1770c3ca93d747a7f1b749f26c (diff)
downloadchat-f2e788f4b12517759e016a9f48633597bed82e8f.tar.gz
chat-f2e788f4b12517759e016a9f48633597bed82e8f.tar.bz2
chat-f2e788f4b12517759e016a9f48633597bed82e8f.zip
Allow system admins to switch user accounts to email/password (#2893)
Diffstat (limited to 'webapp')
-rw-r--r--webapp/components/admin_console/reset_password_modal.jsx25
-rw-r--r--webapp/components/admin_console/user_item.jsx48
-rw-r--r--webapp/i18n/en.json4
3 files changed, 59 insertions, 18 deletions
diff --git a/webapp/components/admin_console/reset_password_modal.jsx b/webapp/components/admin_console/reset_password_modal.jsx
index 5133f3f28..c383a4fb8 100644
--- a/webapp/components/admin_console/reset_password_modal.jsx
+++ b/webapp/components/admin_console/reset_password_modal.jsx
@@ -58,7 +58,8 @@ class ResetPasswordModal extends React.Component {
}
render() {
- if (this.props.user == null) {
+ const user = this.props.user;
+ if (user == null) {
return <div/>;
}
@@ -70,6 +71,23 @@ class ResetPasswordModal extends React.Component {
serverError = <div className='form-group has-error'><p className='input__help error'>{this.state.serverError}</p></div>;
}
+ let title;
+ if (user.auth_service) {
+ title = (
+ <FormattedMessage
+ id='admin.reset_password.titleSwitch'
+ defaultMessage='Switch Account to Email/Password'
+ />
+ );
+ } else {
+ title = (
+ <FormattedMessage
+ id='admin.reset_password.titleReset'
+ defaultMessage='Reset Password'
+ />
+ );
+ }
+
return (
<Modal
show={this.props.show}
@@ -77,10 +95,7 @@ class ResetPasswordModal extends React.Component {
>
<Modal.Header closeButton={true}>
<Modal.Title>
- <FormattedMessage
- id='admin.reset_password.title'
- defaultMessage='Reset Password'
- />
+ {title}
</Modal.Title>
</Modal.Header>
<form
diff --git a/webapp/components/admin_console/user_item.jsx b/webapp/components/admin_console/user_item.jsx
index b8f21d77e..660f75a41 100644
--- a/webapp/components/admin_console/user_item.jsx
+++ b/webapp/components/admin_console/user_item.jsx
@@ -366,6 +366,7 @@ export default class UserItem extends React.Component {
}
let authServiceText;
+ let passwordReset;
if (user.auth_service) {
authServiceText = (
<FormattedHTMLMessage
@@ -376,6 +377,21 @@ export default class UserItem extends React.Component {
}}
/>
);
+
+ passwordReset = (
+ <li role='presentation'>
+ <a
+ role='menuitem'
+ href='#'
+ onClick={this.handleResetPassword}
+ >
+ <FormattedMessage
+ id='admin.user_item.switchToEmail'
+ defaultMessage='Switch to Email/Password'
+ />
+ </a>
+ </li>
+ );
} else {
authServiceText = (
<FormattedHTMLMessage
@@ -383,6 +399,25 @@ export default class UserItem extends React.Component {
defaultMessage=', <strong>Sign-in Method:</strong> Email'
/>
);
+
+ passwordReset = (
+ <li role='presentation'>
+ <a
+ role='menuitem'
+ href='#'
+ onClick={this.handleResetPassword}
+ >
+ <FormattedMessage
+ id='admin.user_item.resetPwd'
+ defaultMessage='Reset Password'
+ />
+ </a>
+ </li>
+ );
+ }
+
+ if (global.window.mm_config.EnableSignInWithEmail !== 'true') {
+ passwordReset = null;
}
const me = UserStore.getCurrentUser();
@@ -474,18 +509,7 @@ export default class UserItem extends React.Component {
{makeNotActive}
{makeSystemAdmin}
{mfaReset}
- <li role='presentation'>
- <a
- role='menuitem'
- href='#'
- onClick={this.handleResetPassword}
- >
- <FormattedMessage
- id='admin.user_item.resetPwd'
- defaultMessage='Reset Password'
- />
- </a>
- </li>
+ {passwordReset}
</ul>
</div>
</div>
diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json
index 7fbe464c1..63669d546 100644
--- a/webapp/i18n/en.json
+++ b/webapp/i18n/en.json
@@ -378,7 +378,8 @@
"admin.reset_password.newPassword": "New Password",
"admin.reset_password.select": "Select",
"admin.reset_password.submit": "Please enter at least {chars} characters.",
- "admin.reset_password.title": "Reset Password",
+ "admin.reset_password.titleReset": "Reset Password",
+ "admin.reset_password.titleSwitch": "Switch Account to Email/Password",
"admin.select_team.close": "Close",
"admin.select_team.select": "Select",
"admin.select_team.selectTeam": "Select Team",
@@ -563,6 +564,7 @@
"admin.user_item.mfaYes": ", <strong>MFA</strong>: Yes",
"admin.user_item.resetMfa": "Remove MFA",
"admin.user_item.resetPwd": "Reset Password",
+ "admin.user_item.switchToEmail": "Switch to Email/Password",
"admin.user_item.sysAdmin": "System Admin",
"admin.user_item.teamAdmin": "Team Admin",
"analytics.chart.loading": "Loading...",