[FIX] Add missing password field back to administration area (#16171)

pull/16181/head
Rodrigo Nascimento 5 years ago committed by Diego Sampaio
parent 30bfa1b4ff
commit c0a7ed7ad1
  1. 11
      app/theme/client/imports/forms/button.css
  2. 19
      app/ui-flextab/client/tabs/userEdit.html
  3. 24
      app/ui-flextab/client/tabs/userEdit.js
  4. 260
      package-lock.json
  5. 2
      packages/rocketchat-i18n/i18n/en.i18n.json
  6. 1
      packages/rocketchat-i18n/i18n/pt-BR.i18n.json

@ -58,17 +58,6 @@
top: -2px;
}
&::before {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
content: "";
cursor: pointer;
}
&:disabled {
cursor: default;

@ -114,14 +114,29 @@
{{#if hasPermission 'edit-other-user-password'}}
<div class="rc-form-group rc-form-group--small rc-form-group--inline" style="position: relative;">
<div class="rc-input rc-form-item-inline">
<label class="rc-input__label">
<div class="rc-input__title">{{_ "Password"}}</div>
<div class="rc-input__wrapper">
<div class="rc-input__icon">
{{> icon icon='key' }}
</div>
<input name="password" class="rc-input__element rc-input__element--small" type="password" id="password" autocomplete="off" value="" disabled="{{requirePasswordChangeDisabled}}" style="padding-right: 70px"/>
</div>
</label>
</div>
<button id="randomPassword" class="rc-button rc-button--primary rc-form-item-inline rc-button--nude rc-button--small" style="right: 0; position: absolute; bottom: 10px; " disabled="{{requirePasswordChangeDisabled}}">{{_ 'Random'}}</button>
</div>
<div class="rc-form-group rc-form-group--small rc-switch">
<label class="rc-switch__label" tabindex="-1">
<input class="rc-switch__input" type="checkbox" id="setRandomPassword" value="1" checked="{{setRandomPassword}}" disabled="{{setRandomPasswordDisabled}}"/>
<input class="rc-switch__input" type="checkbox" id="setRandomPassword" value="1" checked="{{setRandomPassword}}"/>
<span class="rc-switch__button">
<span class="rc-switch__button-inside"></span>
</span>
<span class="rc-switch__text">
{{_ "Set_random_password"}}
{{_ "Set_random_password_and_send_by_email"}}
</span>
</label>
</div>

@ -1,5 +1,6 @@
import { Meteor } from 'meteor/meteor';
import { ReactiveVar } from 'meteor/reactive-var';
import { Random } from 'meteor/random';
import { Template } from 'meteor/templating';
import { TAPi18n } from 'meteor/rocketchat:tap-i18n';
import toastr from 'toastr';
@ -44,12 +45,7 @@ Template.userEdit.helpers({
requirePasswordChangeDisabled() {
// when setting a random password, requiring a password change is mandatory
return !Template.instance().user || Template.instance().requiringPasswordReset.get();
},
setRandomPasswordDisabled() {
// when creating a new user, setting a random password is mandatory
return !Template.instance().user;
return Template.instance().setRandomPassword.get();
},
setRandomPassword() {
@ -98,13 +94,25 @@ Template.userEdit.events({
'change #setRandomPassword'(e, template) {
const requiring = e.currentTarget.checked;
template.requiringPasswordReset.set(requiring);
template.setRandomPassword.set(requiring);
if (requiring) {
$(e.currentTarget.form).find('#changePassword')[0].checked = true;
$(e.currentTarget.form).find('#password')[0].value = '';
}
},
'click #randomPassword'(e) {
e.stopPropagation();
e.preventDefault();
e.target.classList.add('loading');
$('#password').val('');
setTimeout(() => {
$('#password').val(Random.id());
e.target.classList.remove('loading');
}, 1000);
},
'change .js-select-avatar-upload [type=file]'(event, template) {
const e = event.originalEvent || event;
let { files } = e.target;
@ -177,7 +185,7 @@ Template.userEdit.onCreated(function() {
this.roles = this.user ? new ReactiveVar(this.user.roles) : new ReactiveVar([]);
this.avatar = new ReactiveVar();
this.url = new ReactiveVar('');
this.requiringPasswordReset = new ReactiveVar(false);
this.setRandomPassword = new ReactiveVar(!this.user);
Notifications.onLogged('updateAvatar', () => this.avatar.set());

260
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -2867,7 +2867,7 @@
"set-moderator_description": "Permission to set other users as moderator of a channel",
"set-owner": "Set Owner",
"set-owner_description": "Permission to set other users as owner of a channel",
"Set_random_password": "Set random password",
"Set_random_password_and_send_by_email": "Set random password and send by email",
"set-react-when-readonly": "Set React When ReadOnly",
"set-react-when-readonly_description": "Permission to set the ability to react to messages in a read only channel",
"set-readonly": "Set ReadOnly",

@ -2670,6 +2670,7 @@
"set-moderator_description": "Permissão para configurar outros usuários como moderador de um canal",
"set-owner": "Proprietário do Set.",
"set-owner_description": "Permissão para configurar outros usuários como proprietário de um canal",
"Set_random_password_and_send_by_email": "Setar senha aleatória e enviar por email",
"set-react-when-readonly": "Definir Reagir quando ReadOnly",
"set-react-when-readonly_description": "Permissão para configurar a capacidade de reagir a mensagens em um canal somente de leitura",
"set-readonly": "Set ReadOnly",

Loading…
Cancel
Save