Skip to content

Commit c32cd88

Browse files
committed
#186: Avoid multiple saves when handling name and address protection
1 parent df6abdd commit c32cd88

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

modules/os2forms_nemid/os2forms_nemid.module

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,5 +469,4 @@ function os2forms_nemid_submission_set_address_protected(array $form, FormStateI
469469
$data = $webformSubmission->getData();
470470
$data['os2forms_nemid_elements_nemid_address_protected'] = TRUE;
471471
$webformSubmission->setData($data);
472-
$webformSubmission->save();
473472
}

modules/os2forms_nemid/src/Plugin/WebformElement/NemidAddress.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,19 @@ public function alterForm(array &$element, array &$form, FormStateInterface $for
4747
// Only manipulate element on submission create form.
4848
if (!$webformSubmission->isCompleted()) {
4949
if ($cprLookupResult && $cprLookupResult->isNameAddressProtected()) {
50+
// TODO: What is this used for?
5051
$element['#info_message'] = 'adresse beskyttelse';
5152
NestedArray::setValue($form['elements'], $element['#webform_parents'], $element);
52-
$form['actions']['submit']['#submit'][] = 'os2forms_nemid_submission_set_address_protected';
53+
54+
// It is important that the 'os2forms_nemid_submission_set_address_protected' submit action is executed before the 'save' action.
55+
// Otherwise, submissions are both created and completed, resulting in unexpected behavior, e.g., handlers being run twice.
56+
if (isset($form['actions']['submit']['#submit']) && is_array($form['actions']['submit']['#submit'])) {
57+
array_unshift($form['actions']['submit']['#submit'], 'os2forms_nemid_submission_set_address_protected');
58+
}
59+
else {
60+
$form['actions']['submit']['#submit'][] = 'os2forms_nemid_submission_set_address_protected';
61+
}
62+
5363
}
5464
}
5565
else {

0 commit comments

Comments
 (0)