#43913 closed defect (bug) (fixed)
On sending the personal data export email, the request should be marked COMPLETED
Reported by: | allendav | Owned by: | iandunn |
---|---|---|---|
Milestone: | 4.9.6 | Priority: | normal |
Severity: | normal | Version: | 5.1 |
Component: | Privacy | Keywords: | gdpr fixed-major |
Focuses: | Cc: |
Description (last modified by )
Unfortunately it is not - instead the confirmed timestamp is updated instead - this is because a change in changeset [43008] incorrectly changed the _wp_privacy_completed_request function to update the CONFIRMATION timestamp and post status to CONFIRMED.
_wp_privacy_completed_request should be updated to touch the _wp_user_request_completed_timestamp
and set the post status to request-completed
@desrosj - another 4.9.6 buglet to pick up
Attachments (3)
Change History (18)
This ticket was mentioned in Slack in #gdpr-compliance by allendav. View the logs.
6 years ago
#5
@
6 years ago
The patch is working for me on data export requests. The request is marked as complete after either downloading the data or sending the email (though this is not evident until the screen is refreshed).
Note, though, that it does not fix the same issue in data erasure requests, as described in #43922.
This ticket was mentioned in Slack in #gdpr-compliance by coreymckrill. View the logs.
6 years ago
#8
@
6 years ago
- Keywords has-unit-tests added; needs-unit-tests removed
The 43913.2.diff patch:
- Adds tests.
- Fixes a typo in the docblock (succes -> success).
- Adjusts the description of the docblock (current timestamp instead of datetime).
- Adjusts the docblock according to the Coding Standard.
ps: In general I'm not sure if we should allow a negative ID, by using absint()
. That seems like an invalid input?
Also just want to mention that _wp_user_request_completed_timestamp()
, without an input argument, triggers a PHP error/warning, as expected.
Here's an example:
function some_function( $arg ) { } some_function();
In PHP 7.2:
<b>Fatal error</b>: Uncaught ArgumentCountError: Too few arguments to function some_function(), 0 passed in [...][...] on line 5 and exactly 1 expected in [...][...]:2 Stack trace: #0 [...][...](5): some_function() #1 {main} thrown in <b>[...][...]</b> on line <b>2</b><br />
In PHP 5.6:
<b>Warning</b>: Missing argument 1 for some_function(), called in [...][...] on line 5 and defined in <b>[...][...]</b> on line <b>2</b><br /> <br /> <b>Warning</b>: Missing argument 1 for some_function(), called in [...][...] on line 8 and defined in <b>[...][...]</b> on line <b>2</b><br />
This can be fixed with e.g.
function some_function( $arg = null ) { }
I couldn't find what's preferred in general in core, but both cases are used.
The _wp_user_request_completed_timestamp()
is an internal function, only for core internal use, so in this case it will not matter much, but I'm more thinking about this in core in general :)
This ticket was mentioned in Slack in #core by desrosj. View the logs.
6 years ago
#10
@
6 years ago
- Keywords needs-refresh added
@birgire - the patch almost applies cleanly - the sql query no longer needs that trailing whitespace cleaned up
#11
@
6 years ago
- Keywords needs-refresh removed
@allendav thanks, 43913.3.diff is a refreshed patch.
#12
@
6 years ago
- Owner set to iandunn
- Resolution set to fixed
- Status changed from new to closed
In 43183:
Use completed meta, not confirmed