diff --git a/install/ui/user.js b/install/ui/user.js
index baca334b8..14d28deea 100644
--- a/install/ui/user.js
+++ b/install/ui/user.js
@@ -321,68 +321,43 @@ IPA.user_password_widget = function(spec) {
width: 400
});
- dialog.create = function() {
+ var password1 = dialog.add_field(IPA.text_widget({
+ name: 'password1',
+ label: IPA.messages.objects.user.new_password,
+ type: 'password',
+ undo: false
+ }));
- var dl = $('
', {
- 'class': 'modal'
- }).appendTo(dialog.container);
-
- $('', {
- html: IPA.messages.objects.user.new_password
- }).appendTo(dl);
-
- var dd = $('').appendTo(dl);
-
- dialog.password1 = $('', {
- type: 'password'
- }).appendTo(dd);
-
- $('', {
- html: IPA.messages.objects.user.repeat_password
- }).appendTo(dl);
-
- dd = $('').appendTo(dl);
-
- dialog.password2 = $('', {
- type: 'password'
- }).appendTo(dd);
- };
+ var password2 = dialog.add_field(IPA.text_widget({
+ name: 'password2',
+ label: IPA.messages.objects.user.repeat_password,
+ type: 'password',
+ undo: false
+ }));
dialog.add_button(IPA.messages.objects.user.reset_password, function() {
- var new_password = dialog.password1.val();
- var repeat_password = dialog.password2.val();
+ var record = {};
+ dialog.save(record);
+
+ var new_password = record.password1;
+ var repeat_password = record.password2;
if (new_password != repeat_password) {
alert(IPA.messages.objects.user.password_must_match);
return;
}
- var user_pkey = IPA.nav.get_state('user-pkey');
-
- var args;
- if (user_pkey === IPA.whoami.uid[0]) {
- args = [];
- } else {
- args = [user_pkey];
- }
-
- var command = IPA.command({
- method: 'passwd',
- args: args,
- options: {
- password: new_password
- },
- on_success: function(data, text_status, xhr) {
+ that.set_password(
+ new_password,
+ function(data, text_status, xhr) {
alert(IPA.messages.objects.user.password_change_complete);
dialog.close();
},
- on_error: function(xhr, text_status, error_thrown) {
+ function(xhr, text_status, error_thrown) {
dialog.close();
}
- });
-
- command.execute();
+ );
});
dialog.add_button(IPA.messages.buttons.cancel, function() {
@@ -392,5 +367,28 @@ IPA.user_password_widget = function(spec) {
dialog.open(that.container);
};
+ that.set_password = function(password, on_success, on_error) {
+ var user_pkey = IPA.nav.get_state('user-pkey');
+
+ var args;
+ if (user_pkey === IPA.whoami.uid[0]) {
+ args = [];
+ } else {
+ args = [user_pkey];
+ }
+
+ var command = IPA.command({
+ method: 'passwd',
+ args: args,
+ options: {
+ password: password
+ },
+ on_success: on_success,
+ on_error: on_error
+ });
+
+ command.execute();
+ };
+
return that;
};