X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fweb%2Froot%2Fsrc%2Fmain%2Fresources%2Fjs%2Fopen.js;fp=opendaylight%2Fweb%2Froot%2Fsrc%2Fmain%2Fresources%2Fjs%2Fopen.js;h=dda63be90e35f35f35e9d7a1944b6af1d1b71980;hb=af028c0b2ac4f25f3c7076a977bc30d1766fe782;hp=629d5bbaacffcb42d510d1f8ca56614398d57a30;hpb=b40fd210784f9e50fb1f1311fdf6204fbf388da3;p=controller.git diff --git a/opendaylight/web/root/src/main/resources/js/open.js b/opendaylight/web/root/src/main/resources/js/open.js index 629d5bbaac..dda63be90e 100644 --- a/opendaylight/web/root/src/main/resources/js/open.js +++ b/opendaylight/web/root/src/main/resources/js/open.js @@ -124,13 +124,25 @@ one.main.admin = { form : { name : "one_main_admin_id_modal_add_form_name", role : "one_main_admin_id_modal_add_form_role", - password : "one_main_admin_id_modal_add_form_password" + password : "one_main_admin_id_modal_add_form_password", + verify : "one_main_admin_id_modal_add_form_verify" } }, remove : { user : "one_main_admin_id_modal_remove_user", - close : "one_main_admin_id_modal_remove_close" - } + close : "one_main_admin_id_modal_remove_close", + password : 'one_main_admin_id_modal_remove_password' + }, + password : { + modal : 'one_main_admin_id_modal_password_modal', + submit : 'one_main_admin_id_modal_password_submit', + cancel : 'one_main_admin_id_modal_password_cancel', + form : { + old : 'one_main_admin_id_modal_password_form_old', + set : 'one_main_admin_id_modal_password_form_new', + verify : 'one_main_admin_id_modal_password_form_verify' + } + } }, add : { user : "one_main_admin_id_add_user" @@ -138,7 +150,8 @@ one.main.admin = { }, address : { root : "/admin", - users : "/users" + users : "/users", + password : '/admin/users/password/' }, modal : { initialize : function(callback) { @@ -239,7 +252,7 @@ one.main.admin = { remove : { modal : { initialize : function(id) { - var h3 = "Remove User"; + var h3 = "Edit User"; var footer = one.main.admin.remove.footer(); var $body = one.main.admin.remove.body(); var $modal = one.lib.modal.spawn(one.main.admin.id.modal.user, @@ -278,6 +291,13 @@ one.main.admin = { }); }); + // change password binding + $('#' + one.main.admin.id.modal.remove.password, $modal).click(function() { + one.main.admin.password.initialize(id, function() { + $modal.modal('hide'); + }); + }); + $modal.modal(); }, ajax : function(id, callback) { @@ -297,6 +317,11 @@ one.main.admin = { var $removeButton = one.lib.dashlet.button.button(removeButton); footer.push($removeButton); + var change = one.lib.dashlet.button.single('Change Password', + one.main.admin.id.modal.remove.password, 'btn-success', ''); + var $change = one.lib.dashlet.button.button(change); + footer.push($change); + var closeButton = one.lib.dashlet.button.single("Close", one.main.admin.id.modal.remove.close, "", ""); var $closeButton = one.lib.dashlet.button.button(closeButton); @@ -306,7 +331,7 @@ one.main.admin = { }, body : function() { var $p = $(document.createElement('p')); - $p.append("Remove user?"); + $p.append('Select an action'); return $p; }, }, @@ -364,6 +389,13 @@ one.main.admin = { '#' + one.main.admin.id.modal.add.form.role).find( 'option:selected').attr('value'); + // password check + var verify = $('#'+one.main.admin.id.modal.add.form.verify).val(); + if (user.password != verify) { + alert('Passwords do not match'); + return false; + } + var resource = {}; resource['json'] = JSON.stringify(user); resource['action'] = 'add' @@ -391,6 +423,12 @@ one.main.admin = { $input.attr('id', one.main.admin.id.modal.add.form.password); $input.attr('type', 'password'); $fieldset.append($label).append($input); + // password verify + var $label = one.lib.form.label('Verify Password'); + var $input = one.lib.form.input('Verify Password'); + $input.attr('id', one.main.admin.id.modal.add.form.verify); + $input.attr('type', 'password'); + $fieldset.append($label).append($input); // roles var $label = one.lib.form.label('Roles'); var options = { @@ -418,7 +456,96 @@ one.main.admin = { return footer; } - } + }, + password : { + initialize : function(id, successCallback) { + var h3 = 'Change Password'; + var footer = one.main.admin.password.footer(); + var $body = one.main.admin.password.body(id);; + var $modal = one.lib.modal.spawn(one.main.admin.id.modal.password.modal, + h3, $body, footer); + + // cancel binding + $('#'+one.main.admin.id.modal.password.cancel, $modal).click(function() { + $modal.modal('hide'); + }); + + // change password binding + $('#'+one.main.admin.id.modal.password.submit, $modal).click(function() { + one.main.admin.password.submit(id, $modal, function(result) { + if (result.code == 'SUCCESS') { + $modal.modal('hide'); + successCallback(); + } else { + alert(result.code+': '+result.description); + } + }); + }); + + $modal.modal(); + }, + submit : function(id, $modal, callback) { + var resource = {}; + resource.newPassword = $('#'+one.main.admin.id.modal.password.form.set, $modal).val(); + + // verify password + var verify = $('#'+one.main.admin.id.modal.password.form.verify, $modal).val(); + if (verify != resource.newPassword) { + alert('Passwords do not match'); + return false; + } + + resource.currentPassword = $('#'+one.main.admin.id.modal.password.form.old, $modal).val(); + + $.post(one.main.admin.address.password+id, resource, function(data) { + callback(data); + }); + }, + body : function(id) { + var $form = $(document.createElement('form')); + var $fieldset = $(document.createElement('fieldset')); + // user + var $label = one.lib.form.label('Username'); + var $input = one.lib.form.input(''); + $input.attr('disabled', 'disabled'); + $input.val(id); + $fieldset.append($label) + .append($input); + // old password + var $label = one.lib.form.label('Old Password'); + var $input = one.lib.form.input('Old Password'); + $input.attr('id', one.main.admin.id.modal.password.form.old); + $input.attr('type', 'password'); + $fieldset.append($label).append($input); + // new password + var $label = one.lib.form.label('New Password'); + var $input = one.lib.form.input('New Password'); + $input.attr('id', one.main.admin.id.modal.password.form.set); + $input.attr('type', 'password'); + $fieldset.append($label).append($input); + // verify new password + var $label = one.lib.form.label('Verify Password'); + var $input = one.lib.form.input('Verify Password'); + $input.attr('id', one.main.admin.id.modal.password.form.verify); + $input.attr('type', 'password'); + $fieldset.append($label).append($input); + // return + $form.append($fieldset); + return $form; + }, + footer : function() { + var footer = []; + var submit = one.lib.dashlet.button.single('Submit', + one.main.admin.id.modal.password.submit, 'btn-primary', ''); + var $submit = one.lib.dashlet.button.button(submit); + footer.push($submit); + var cancel = one.lib.dashlet.button.single('Cancel', + one.main.admin.id.modal.password.cancel, '', ''); + var $cancel = one.lib.dashlet.button.button(cancel); + footer.push($cancel); + return footer; + } + } } one.main.dashlet = { @@ -478,4 +605,4 @@ $.ajaxSetup({ }); /** MAIN PAGE LOAD */ -one.main.menu.load(); \ No newline at end of file +one.main.menu.load();