From efc22b39075d0b777d0953b77d8f073747d82360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pau=20Ferrer=20Oca=C3=B1a?= Date: Mon, 11 Mar 2024 12:40:50 +0100 Subject: [PATCH] MOBILE-4329 dataprivacy: Add download button when download is ready --- scripts/langindex.json | 3 +- src/core/features/dataprivacy/lang.json | 3 +- .../features/dataprivacy/pages/main/main.html | 88 ++++++++++--------- .../dataprivacy/services/dataprivacy.ts | 1 + .../tests/behat/create_data_request.feature | 2 +- 5 files changed, 54 insertions(+), 43 deletions(-) diff --git a/scripts/langindex.json b/scripts/langindex.json index 3140fadfa2c..009ac93f884 100644 --- a/scripts/langindex.json +++ b/scripts/langindex.json @@ -1684,9 +1684,10 @@ "core.dataprivacy.datarequests": "tool_dataprivacy", "core.dataprivacy.daterequested": "tool_dataprivacy", "core.dataprivacy.deletemyaccount": "tool_dataprivacy", + "core.dataprivacy.download": "tool_dataprivacy", "core.dataprivacy.message": "tool_dataprivacy", "core.dataprivacy.newrequest": "tool_dataprivacy", - "core.dataprivacy.nodatarequests": "tool_dataprivacy", + "core.dataprivacy.nopersonaldatarequests": "tool_dataprivacy", "core.dataprivacy.pluginname": "tool_dataprivacy", "core.dataprivacy.replyto": "tool_dataprivacy", "core.dataprivacy.requestactions": "tool_dataprivacy", diff --git a/src/core/features/dataprivacy/lang.json b/src/core/features/dataprivacy/lang.json index 13f0290bd50..3304876cd52 100644 --- a/src/core/features/dataprivacy/lang.json +++ b/src/core/features/dataprivacy/lang.json @@ -6,9 +6,10 @@ "datarequests": "Data requests", "daterequested": "Date requested", "deletemyaccount": "Delete my account", + "download": "Download", "message": "Message", "newrequest": "New request", - "nodatarequests": "There are no data requests", + "nopersonaldatarequests": "You don't have any personal data requests", "pluginname": "Data privacy", "replyto": "Reply to", "requestactions": "Actions", diff --git a/src/core/features/dataprivacy/pages/main/main.html b/src/core/features/dataprivacy/pages/main/main.html index 5e42746b8e7..38ffc3aa15b 100644 --- a/src/core/features/dataprivacy/pages/main/main.html +++ b/src/core/features/dataprivacy/pages/main/main.html @@ -35,24 +35,27 @@

{{ 'core.dataprivacy.datarequests' | translate }}

- +

{{ 'core.dataprivacy.requestby' | translate }}

{{ request.requestedbyuser.fullname }}

- +

{{ 'core.dataprivacy.message' | translate }}

- + - + {{ 'core.dataprivacy.cancelrequest' | translate }} + + {{ 'core.dataprivacy.download' | translate }} + @@ -90,12 +93,17 @@

{{ 'core.dataprivacy.datarequests' | translate }}

{{ 'core.dataprivacy.cancelrequest' | translate }} + + {{ 'core.dataprivacy.download' | translate }} + - +
@@ -117,44 +125,44 @@

{{ 'core.dataprivacy.datarequests' | translate }}

@switch (request.status) { - @case (0) { - {{'core.dataprivacy.statuspending' | translate }} - } @case (1) { - {{'core.dataprivacy.statuspreprocessing' | translate }} - } @case (2) { - {{'core.dataprivacy.statusawaitingapproval' | translate }} - } @case (3) { - {{'core.dataprivacy.statusapproved' | translate }} - } @case (4) { - {{'core.dataprivacy.statusprocessing' | translate }} - } @case (5) { - {{'core.dataprivacy.statuscomplete' | translate }} - } @case (6) { - {{'core.dataprivacy.statuscancelled' | translate }} - } @case (7) { - {{'core.dataprivacy.statusrejected' | translate }} - } @case (8) { - {{'core.dataprivacy.statusready' | translate }} - } @case (9) { - {{'core.dataprivacy.statusexpired' | translate }} - } @case (10) { - {{'core.dataprivacy.statusdeleted' | translate }} - } @default { - {{request.statuslabel}} - } + @case (0) { + {{'core.dataprivacy.statuspending' | translate }} + } @case (1) { + {{'core.dataprivacy.statuspreprocessing' | translate }} + } @case (2) { + {{'core.dataprivacy.statusawaitingapproval' | translate }} + } @case (3) { + {{'core.dataprivacy.statusapproved' | translate }} + } @case (4) { + {{'core.dataprivacy.statusprocessing' | translate }} + } @case (5) { + {{'core.dataprivacy.statuscomplete' | translate }} + } @case (6) { + {{'core.dataprivacy.statuscancelled' | translate }} + } @case (7) { + {{'core.dataprivacy.statusrejected' | translate }} + } @case (8) { + {{'core.dataprivacy.statusready' | translate }} + } @case (9) { + {{'core.dataprivacy.statusexpired' | translate }} + } @case (10) { + {{'core.dataprivacy.statusdeleted' | translate }} + } @default { + {{request.statuslabel}} + } } @switch (request.type) { - @case (1) { - {{ 'core.dataprivacy.requesttypeexport' | translate }} - } @case (2) { - {{ 'core.dataprivacy.requesttypedelete' | translate }} - } @case (3) { - {{ 'core.dataprivacy.requesttypeothers' | translate }} - } @default { - {{request.typename}} - } + @case (1) { + {{ 'core.dataprivacy.requesttypeexport' | translate }} + } @case (2) { + {{ 'core.dataprivacy.requesttypedelete' | translate }} + } @case (3) { + {{ 'core.dataprivacy.requesttypeothers' | translate }} + } @default { + {{request.typename}} + } } diff --git a/src/core/features/dataprivacy/services/dataprivacy.ts b/src/core/features/dataprivacy/services/dataprivacy.ts index 9305503cbf1..516de5bb49a 100644 --- a/src/core/features/dataprivacy/services/dataprivacy.ts +++ b/src/core/features/dataprivacy/services/dataprivacy.ts @@ -380,4 +380,5 @@ export type CoreDataPrivacyRequest = { approvedeny?: boolean; // Approvedeny. allowfiltering?: boolean; // Allowfiltering. canmarkcomplete?: boolean; // Canmarkcomplete. + downloadlink?: string; // Downloadlink. }; diff --git a/src/core/features/dataprivacy/tests/behat/create_data_request.feature b/src/core/features/dataprivacy/tests/behat/create_data_request.feature index 4be00278772..bd848bcd854 100644 --- a/src/core/features/dataprivacy/tests/behat/create_data_request.feature +++ b/src/core/features/dataprivacy/tests/behat/create_data_request.feature @@ -59,4 +59,4 @@ Feature: Data export and delete from the privacy API When I run all adhoc tasks And I pull to refresh in the app And I should find "Download ready" near "Export all of my personal data" in the app - # TODO: Add download link and test it. + And I press "Download" in the app