From 895260b0968e81b8d7e212bfcf0e4f3de5c30056 Mon Sep 17 00:00:00 2001 From: Kuba Orlik Date: Fri, 8 Jul 2022 21:13:50 +0200 Subject: [PATCH] Add Unknown Identity problem Closes #10 --- components/report-window/deduce-problems.tsx | 9 ++- .../problems/unknown-identity.tsx | 60 +++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 components/report-window/problems/unknown-identity.tsx diff --git a/components/report-window/deduce-problems.tsx b/components/report-window/deduce-problems.tsx index 2eb7716..5512aa3 100644 --- a/components/report-window/deduce-problems.tsx +++ b/components/report-window/deduce-problems.tsx @@ -3,6 +3,7 @@ import { ParsedAnswers } from './parse-answers'; import NoInformationAtAllProblem from './problems/no-information-at-all'; import { Problem } from './problems/problem'; import { TransferOutsideEU } from './problems/transfer-outside-eu'; +import { UnknownIdentity } from './problems/unknown-identity'; import { UnknownLegalBasis } from './problems/unknown-legal-basis'; import { UnlawfulCookieAccess } from './problems/unlawful-cookies'; @@ -10,7 +11,13 @@ export default function deduceProblems( answers: ParsedAnswers, clusters: Record ): Problem[] { - return [NoInformationAtAllProblem, UnlawfulCookieAccess, UnknownLegalBasis, TransferOutsideEU] + return [ + NoInformationAtAllProblem, + UnlawfulCookieAccess, + UnknownLegalBasis, + UnknownIdentity, + TransferOutsideEU, + ] .map((c) => new c(answers, clusters)) .filter((p) => p.qualifies()); } diff --git a/components/report-window/problems/unknown-identity.tsx b/components/report-window/problems/unknown-identity.tsx new file mode 100644 index 0000000..4593e7d --- /dev/null +++ b/components/report-window/problems/unknown-identity.tsx @@ -0,0 +1,60 @@ +import { RequestCluster } from '../../../request-cluster'; +import { ExplainerKey } from '../explainers'; +import { ParsedHostAnswers } from '../parse-answers'; +import { v } from '../verbs'; +import { Problem } from './problem'; + +export class UnknownIdentity extends Problem { + getNecessaryExplainers(): ExplainerKey[] { + return ['responsibility_for_third_parties']; + } + + qualifies(): boolean { + return this.answers.administrator_identity_available_before_choice == 'no'; + } + + getEmailContent(mode: 'email' | 'report', tone: 'polite' | 'official') { + const _ = (key: string) => v(key, this.answers.zaimek); + return ( + <> +

Tożsamość administratora

+ {mode == 'email' ? ( +

+ Na Państwa stronie nie {_('znalazłem')} informacji o tym, kto jest + administratorem moich danych osobowych przetwarzanych przez Państwa stronę w + trakcie {_('moich')} odwiedzin. +

+ ) : ( +

+ Na stronie brakuje informacji o tym, kto jest administratorem danych + osobowych osób ją odwiedzających. +

+ )} +

+ Zgodnie z treścią Art. 13 RODO, jeżeli dane osobowe osoby, której dane dotyczą, + zbierane są od tej osoby, administrator podczas pozyskiwania danych osobowych + musi podać jej swoją tożsamość i dane kontaktowe. +

+ {mode == 'email' ? ( + tone == 'official' ? ( +

+ Zwracam się zatem z pytaniem:{' '} + jaka jest tożsamość administratora tej strony? +

+ ) : ( +

+ Apeluję o dodanie do Państwa strony informacji o tym, kto (np. pełna + nazwa firmy + NIP oraz dane kontaktowe) jest administratorem danych + osobowych przetwarzanych przez tę stronę. +

+ ) + ) : ( +

+ Zalecane jest dodanie informacji o administratorze strony (pełna nazwa firmy + + NIP i dane kontaktowe) w łatwo dostępnym miejscu na stronie. +

+ )} + + ); + } +}