Privacy: Ensure that sending email, and remove data follow the same user experience.

Both personal data request processes should follow the same convention.

Fixes: #43974.
Props: garrett-eclipse, kjellr, Kerfred, birgire, marybaum, SergeyBiryukov.



Built from https://develop.svn.wordpress.org/trunk@46412


git-svn-id: http://core.svn.wordpress.org/trunk@46210 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
whyisjake 2019-10-06 06:56:02 +00:00
parent 4269998771
commit ea5d76fbb2
4 changed files with 11 additions and 3 deletions

View File

@ -71,7 +71,13 @@ jQuery( document ).ready( function( $ ) {
clearResultsAfterRow( $requestRow );
function onExportDoneSuccess( zipUrl ) {
var summaryMessage = strings.emailSent;
setActionState( $action, 'export-personal-data-success' );
appendResultsAfterRow( $requestRow, 'notice-success', summaryMessage, [] );
$this.hide();
if ( 'undefined' !== typeof zipUrl ) {
window.location = zipUrl;
} else if ( ! sendAsEmail ) {
@ -168,7 +174,8 @@ jQuery( document ).ready( function( $ ) {
classes = 'notice-warning';
}
}
appendResultsAfterRow( $requestRow, 'notice-success', summaryMessage, messages );
appendResultsAfterRow( $requestRow, classes, summaryMessage, messages );
$this.hide();
}
function onErasureFailure() {

View File

@ -1 +1 @@
jQuery(document).ready(function(v){var f=window.privacyToolsL10n||{};function h(e,t){e.children().addClass("hidden"),e.children("."+t).removeClass("hidden")}function g(e){e.removeClass("has-request-results"),e.next().hasClass("request-results")&&e.next().remove()}function x(e,t,a,o){var n="",s="request-results";g(e),o.length&&(v.each(o,function(e,t){n=n+"<li>"+t+"</li>"}),n="<ul>"+n+"</ul>"),e.addClass("has-request-results"),e.hasClass("status-request-confirmed")&&(s+=" status-request-confirmed"),e.hasClass("status-request-failed")&&(s+=" status-request-failed"),e.after(function(){return'<tr class="'+s+'"><th colspan="5"><div class="notice inline notice-alt '+t+'"><p>'+a+"</p>"+n+"</div></td></tr>"})}v(".export-personal-data-handle").click(function(e){var t=v(this),s=t.parents(".export-personal-data"),a=t.parents("tr"),r=s.data("request-id"),i=s.data("nonce"),d=s.data("exporters-count"),c=!!s.data("send-as-email");function l(e){h(s,"export-personal-data-failed"),e&&x(a,"notice-error",f.exportError,[e])}e.preventDefault(),e.stopPropagation(),s.blur(),g(a),h(s,"export-personal-data-processing"),function a(o,n){v.ajax({url:window.ajaxurl,data:{action:"wp-privacy-export-personal-data",exporter:o,id:r,page:n,security:i,sendAsEmail:c},method:"post"}).done(function(e){var t=e.data;e.success?t.done?o<d?setTimeout(a(o+1,1)):function(e){h(s,"export-personal-data-success"),void 0!==e?window.location=e:c||l(f.noExportFile)}(t.url):setTimeout(a(o,n+1)):l(e.data)}).fail(function(e,t,a){l(a)})}(1,1)}),v(".remove-personal-data-handle").click(function(e){var t=v(this),s=t.parents(".remove-personal-data"),r=t.parents("tr"),i=s.data("request-id"),d=s.data("nonce"),c=s.data("erasers-count"),l=!1,u=!1,p=[];function m(){h(s,"remove-personal-data-failed"),x(r,"notice-error",f.removalError,[])}e.stopPropagation(),s.blur(),g(r),h(s,"remove-personal-data-processing"),function a(o,n){v.ajax({url:window.ajaxurl,data:{action:"wp-privacy-erase-personal-data",eraser:o,id:i,page:n,security:d},method:"post"}).done(function(e){var t=e.data;e.success?(t.items_removed&&(l=l||t.items_removed),t.items_retained&&(u=u||t.items_retained),t.messages&&(p=p.concat(t.messages)),t.done?o<c?setTimeout(a(o+1,1)):function(){var e=f.noDataFound;h(s,"remove-personal-data-success"),e=!1===l?!1===u?f.noDataFound:f.noneRemoved:!1===u?f.foundAndRemoved:f.someNotRemoved,x(r,"notice-success",e,p)}():setTimeout(a(o,n+1))):m()}).fail(function(){m()})}(1,1)}),v(document).on("click",function(e){var t,a,o,n=v(e.target);if(n.is("button.privacy-text-copy")&&((a=(t=n.parent().parent()).find("div.wp-suggested-text")).length||(a=t.find("div.policy-text")),a.length))try{window.getSelection().removeAllRanges(),o=document.createRange(),a.addClass("hide-privacy-policy-tutorial"),o.selectNodeContents(a[0]),window.getSelection().addRange(o),document.execCommand("copy"),a.removeClass("hide-privacy-policy-tutorial"),window.getSelection().removeAllRanges()}catch(e){}})});
jQuery(document).ready(function(v){var f=window.privacyToolsL10n||{};function h(e,t){e.children().addClass("hidden"),e.children("."+t).removeClass("hidden")}function g(e){e.removeClass("has-request-results"),e.next().hasClass("request-results")&&e.next().remove()}function x(e,t,a,n){var o="",s="request-results";g(e),n.length&&(v.each(n,function(e,t){o=o+"<li>"+t+"</li>"}),o="<ul>"+o+"</ul>"),e.addClass("has-request-results"),e.hasClass("status-request-confirmed")&&(s+=" status-request-confirmed"),e.hasClass("status-request-failed")&&(s+=" status-request-failed"),e.after(function(){return'<tr class="'+s+'"><th colspan="5"><div class="notice inline notice-alt '+t+'"><p>'+a+"</p>"+o+"</div></td></tr>"})}v(".export-personal-data-handle").click(function(e){var s=v(this),r=s.parents(".export-personal-data"),i=s.parents("tr"),t=r.data("request-id"),d=r.data("nonce"),c=r.data("exporters-count"),l=!!r.data("send-as-email");function u(e){h(r,"export-personal-data-failed"),e&&x(i,"notice-error",f.exportError,[e])}e.preventDefault(),e.stopPropagation(),r.blur(),g(i),h(r,"export-personal-data-processing"),function a(n,o){v.ajax({url:window.ajaxurl,data:{action:"wp-privacy-export-personal-data",exporter:n,id:t,page:o,security:d,sendAsEmail:l},method:"post"}).done(function(e){var t=e.data;e.success?t.done?n<c?setTimeout(a(n+1,1)):function(e){var t=f.emailSent;h(r,"export-personal-data-success"),x(i,"notice-success",t,[]),s.hide(),void 0!==e?window.location=e:l||u(f.noExportFile)}(t.url):setTimeout(a(n,o+1)):u(e.data)}).fail(function(e,t,a){u(a)})}(1,1)}),v(".remove-personal-data-handle").click(function(e){var s=v(this),r=s.parents(".remove-personal-data"),i=s.parents("tr"),t=r.data("request-id"),d=r.data("nonce"),c=r.data("erasers-count"),l=!1,u=!1,p=[];function m(){h(r,"remove-personal-data-failed"),x(i,"notice-error",f.removalError,[])}e.stopPropagation(),r.blur(),g(i),h(r,"remove-personal-data-processing"),function a(n,o){v.ajax({url:window.ajaxurl,data:{action:"wp-privacy-erase-personal-data",eraser:n,id:t,page:o,security:d},method:"post"}).done(function(e){var t=e.data;e.success?(t.items_removed&&(l=l||t.items_removed),t.items_retained&&(u=u||t.items_retained),t.messages&&(p=p.concat(t.messages)),t.done?n<c?setTimeout(a(n+1,1)):function(){var e=f.noDataFound,t="notice-success";h(r,"remove-personal-data-success"),!1===l?!1===u?e=f.noDataFound:(e=f.noneRemoved,t="notice-warning"):!1===u?e=f.foundAndRemoved:(e=f.someNotRemoved,t="notice-warning"),x(i,t,e,p),s.hide()}():setTimeout(a(n,o+1))):m()}).fail(function(){m()})}(1,1)}),v(document).on("click",function(e){var t,a,n,o=v(e.target);if(o.is("button.privacy-text-copy")&&((a=(t=o.parent().parent()).find("div.wp-suggested-text")).length||(a=t.find("div.policy-text")),a.length))try{window.getSelection().removeAllRanges(),n=document.createRange(),a.addClass("hide-privacy-policy-tutorial"),n.selectNodeContents(a[0]),window.getSelection().addRange(n),document.execCommand("copy"),a.removeClass("hide-privacy-policy-tutorial"),window.getSelection().removeAllRanges()}catch(e){}})});

View File

@ -1801,6 +1801,7 @@ function wp_default_scripts( &$scripts ) {
'noneRemoved' => __( 'Personal data was found for this user but was not erased.' ),
'someNotRemoved' => __( 'Personal data was found for this user but some of the personal data found was not erased.' ),
'removalError' => __( 'An error occurred while attempting to find and erase personal data.' ),
'emailSent' => __( 'The personal data export link for this user was sent.' ),
'noExportFile' => __( 'No personal data export file was generated.' ),
'exportError' => __( 'An error occurred while attempting to export personal data.' ),
)

View File

@ -13,7 +13,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.3-beta2-46411';
$wp_version = '5.3-beta2-46412';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.