From 1299974e7d91c0c3d0cff4209557534f2f5dbbbd Mon Sep 17 00:00:00 2001 From: Scott Taylor Date: Fri, 18 Sep 2015 20:13:34 +0000 Subject: [PATCH] Profile: when clicking "Cancel" after clicking "Generate Password", request and generate a new password to present to the user. Props adamsilverstein, wonderboymusic. Fixes #33450. git-svn-id: https://develop.svn.wordpress.org/trunk@34312 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/admin-ajax.php | 2 +- src/wp-admin/includes/ajax-actions.php | 9 +++++++++ src/wp-admin/js/user-profile.js | 9 +++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/wp-admin/admin-ajax.php b/src/wp-admin/admin-ajax.php index 225272acbe..238809227c 100644 --- a/src/wp-admin/admin-ajax.php +++ b/src/wp-admin/admin-ajax.php @@ -62,7 +62,7 @@ $core_actions_post = array( 'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs', 'save-user-color-scheme', 'update-widget', 'query-themes', 'parse-embed', 'set-attachment-thumbnail', 'parse-media-shortcode', 'destroy-sessions', 'install-plugin', 'update-plugin', 'press-this-save-post', - 'press-this-add-category', 'crop-image', + 'press-this-add-category', 'crop-image', 'generate-password', ); // Deprecated diff --git a/src/wp-admin/includes/ajax-actions.php b/src/wp-admin/includes/ajax-actions.php index 5dca8d7619..09b3e12e08 100644 --- a/src/wp-admin/includes/ajax-actions.php +++ b/src/wp-admin/includes/ajax-actions.php @@ -3203,3 +3203,12 @@ function wp_ajax_crop_image() { wp_send_json_success( wp_prepare_attachment_for_js( $attachment_id ) ); } + +/** + * Generates a password via ajax. + * + * @since 4.3.1 + */ +function wp_ajax_generate_password() { + wp_send_json_success( wp_generate_password( 24 ) ); +} diff --git a/src/wp-admin/js/user-profile.js b/src/wp-admin/js/user-profile.js index 245d8738fd..02c22b6357 100644 --- a/src/wp-admin/js/user-profile.js +++ b/src/wp-admin/js/user-profile.js @@ -217,6 +217,15 @@ $cancelButton.on( 'click', function () { updateLock = false; + // Clear any entered password. + $pass1Text.val( '' ); + + // Generate a new password. + wp.ajax.post( 'generate-password' ) + .done( function( data ) { + $pass1.data( 'pw', data ); + } ); + $generateButton.show(); $passwordWrapper.hide();