@@ -64,7 +64,10 @@ function os2web_audit_entity_webform_post_load_data(mixed $submissions): void {
6464 $webform = $submission->getWebform();
6565 $elements = $webform->getElementsDecodedAndFlattened();
6666 foreach ($elements as $fieldName => $element) {
67- if (str_contains(strtolower($element['#type']), 'cpr') || str_contains(strtolower($fieldName), 'cpr')) {
67+ if (
68+ str_contains(strtolower($element['#type']), 'cpr')
69+ || str_contains(strtolower($element['#type']), 'os2forms_person_lookup')
70+ || str_contains(strtolower($fieldName), 'cpr')) {
6871 $filterFields[] = $fieldName;
6972 }
7073 }
@@ -76,7 +79,22 @@ function os2web_audit_entity_webform_post_load_data(mixed $submissions): void {
7679 if (!isset($submissionData[$field])) {
7780 continue;
7881 }
79- $cpr = $submissionData[$field];
82+
83+ $fieldValue = $submissionData[$field];
84+
85+ // Handles os2forms_person_lookup (cpr & name validation) element.
86+ if (is_array($fieldValue)) {
87+ // Example:
88+ // [
89+ // 'cpr_number' => 1234567890,
90+ // 'name' => Eksempel Eksempelsen,
91+ // ].
92+ $cpr = $fieldValue['cpr_number'] ?? NULL;
93+ }
94+ else {
95+ $cpr = $fieldValue;
96+ }
97+
8098 $personal .= sprintf(' CPR "%s" in field "%s".', $cpr ?: 'null', $field);
8199 }
82100 }
0 commit comments