[pbs-devel] [PATCH v2 proxmox-backup] gui: user: fix #2898 add dialog to set password
Aaron Lauterer
a.lauterer at proxmox.com
Mon Aug 3 11:56:25 CEST 2020
Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
---
v1->v2:
remove unnecessary getValues() call
www/Makefile | 1 +
www/config/UserView.js | 18 +++++++++++++++++
www/window/UserPassword.js | 41 ++++++++++++++++++++++++++++++++++++++
3 files changed, 60 insertions(+)
create mode 100644 www/window/UserPassword.js
diff --git a/www/Makefile b/www/Makefile
index d8c91a18..edce8cb3 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -18,6 +18,7 @@ JSSRC= \
config/SyncView.js \
config/DataStoreConfig.js \
window/UserEdit.js \
+ window/UserPassword.js \
window/RemoteEdit.js \
window/SyncJobEdit.js \
window/ACLEdit.js \
diff --git a/www/config/UserView.js b/www/config/UserView.js
index 7a869d44..91e7a83a 100644
--- a/www/config/UserView.js
+++ b/www/config/UserView.js
@@ -51,6 +51,18 @@ Ext.define('PBS.config.UserView', {
}).show();
},
+ setPassword: function() {
+ let me = this;
+ let view = me.getView();
+ let selection = view.getSelection();
+
+ if (selection.length < 1) return;
+
+ Ext.create('PBS.window.UserPassword', {
+ url: '/api2/extjs/access/users/' + selection[0].data.userid,
+ }).show();
+ },
+
renderUsername: function(userid) {
return Ext.String.htmlEncode(userid.match(/^(.+)@([^@]+)$/)[1]);
},
@@ -98,6 +110,12 @@ Ext.define('PBS.config.UserView', {
handler: 'editUser',
disabled: true,
},
+ {
+ xtype: 'proxmoxButton',
+ text: gettext('Password'),
+ handler: 'setPassword',
+ disabled: true,
+ },
{
xtype: 'proxmoxStdRemoveButton',
baseurl: '/access/users/',
diff --git a/www/window/UserPassword.js b/www/window/UserPassword.js
new file mode 100644
index 00000000..803ab0b6
--- /dev/null
+++ b/www/window/UserPassword.js
@@ -0,0 +1,41 @@
+Ext.define('PBS.window.UserPassword', {
+ extend: 'Proxmox.window.Edit',
+ alias: 'widget.pbsUserPassword',
+
+ userid: undefined,
+
+ method: 'PUT',
+
+ subject: gettext('User Password'),
+
+ fieldDefaults: { labelWidth: 120 },
+
+ items: [
+ {
+ xtype: 'textfield',
+ inputType: 'password',
+ fieldLabel: gettext('Password'),
+ minLength: 5,
+ allowBlank: false,
+ name: 'password',
+ listeners: {
+ change: function(field) {
+ field.next().validate();
+ },
+ blur: function(field) {
+ field.next().validate();
+ },
+ },
+ },
+ {
+ xtype: 'textfield',
+ inputType: 'password',
+ fieldLabel: gettext('Confirm password'),
+ name: 'verifypassword',
+ vtype: 'password',
+ initialPassField: 'password',
+ allowBlank: false,
+ submitValue: false,
+ },
+ ],
+});
--
2.20.1
More information about the pbs-devel
mailing list