Skip to content

Maestro inherit task: inherited data is not available during form preparation #352

Closed

Description

@jekuaitk

Summary

MaestroWebformInheritTask::webformSubmissionFormAlter() (os2forms_forloeb) injects inherited submission data by setting #default_value on the form's render elements during hook_webform_submission_form_alter. The data is never set on the webform submission entity itself. This means any code reading $webformSubmission->getData() during form preparation — before or after the alter — does not see the inherited values.

Motivation

os2forms_nemlogin_openid_connect can restrict access to a form by requiring that a user claim (e.g. CPR) matches the value of a configured form element. Its check runs in hook_webform_submission_prepare_form (WebformHelper::checkAccess()) and reads the expected value from the submission data. In a Maestro flow where that element is filled by inheritance from a previous task, the check always fails with "Expected value not defined", due to data not being available, and the user is denied access to the task's form.

Reproducing in the case of os2forms_nemlogin_openid_connect

  1. Create a Maestro template with a webform task and a "Webform with Inherited submission" task inheriting from it. Both webforms share an element key, e.g. cpr
  2. On the inheriting task's webform, configure the os2forms_nemlogin_openid_connect authentication settings: user claim CPR and element cpr
  3. Submit the start task, then open the inheriting task's form as an authenticated user whose claim matches the inherited value.
  4. Get denied access

Cause

Inheriting happens too late and arguably also on the wrong layer (render array rather then entity data).

Fix

Set the inherited data on the submission entity in hook_entity_prepare_form instead of altering element default values.

Activity

  1. self-assigned this
    on Sep 14, 2026
  2. added theissue type on Sep 14, 2026
  3. jekuaitk commented on Sep 15, 2026

    @jekuaitk
    ContributorAuthor

    @ds-bellcom

    Hermed det issue der overtager for #336 og #338 :-)

  4. ds-bellcom commented on Sep 15, 2026

    @ds-bellcom
    Contributor

    @jekuaitk jeg kan se at der er et PR i både jeres repo og i OS2forms/OS2forms. Er det begge der skal laves review på eller kun det i OS2forms/OS2forms?

    @gBarlach ønsker I et estimat på review af denne?

  5. gBarlach commented on Sep 15, 2026

    @gBarlach

    @ds-bellcom ja tak I må meget gerne estimere review på denne (#353)

  6. jekuaitk commented on Sep 16, 2026

    @jekuaitk
    ContributorAuthor

    @ds-bellcom Jeg kom til at oprette PR'et mod vores fork i første omgang. Det har jeg lukket og i stedet oprettet et mod OS2Forms/OS2Forsm :-) Det er #353!

  7. ds-bellcom commented on Sep 16, 2026

    @ds-bellcom
    Contributor

    @jekuaitk helt i orden. Jeg skulle bare være sikker.

    Kan jeg få dig til at fjerne linket til itk-dev#27 på dette issue. Jeg kan nemlig ikke gøre det, da jeg ikke har rettigheder på jeres repo (hvilket jeg selvfølgelig heller ikke skal). Så er vi nemlig sikre på at der ikke opstår misforståelser.

    På forhånd tak!

  8. gBarlach commented on Sep 16, 2026

    @gBarlach

    @ds-bellcom vil I estimere code review på denne?

  9. ds-bellcom commented on Sep 16, 2026

    @ds-bellcom
    Contributor

    @gBarlach Ja, det vil vi gerne. Jeg vender retur.

  10. ds-bellcom commented on Sep 17, 2026

    @ds-bellcom
    Contributor

    @gBarlach vi estimerer 2 timer til code review på denne opgave. Vil du vende retur med om det er noget vi skal udføre?

  11. gBarlach commented on Sep 17, 2026

    @gBarlach

    @ds-bellcom I må meget gerne lave code review på denne.

  12. ds-bellcom commented on Sep 24, 2026

    @ds-bellcom
    Contributor

    @gBarlach Stan har lavet review (i går) på denne, så den må I gerne merge ind, når I har løst konflikterne.

  13. gBarlach commented on Sep 24, 2026

    @gBarlach

    @MadNicGit vil I se på denne? Finansieres via ITK klippekortet

  14. jekuaitk commented on Sep 24, 2026

    @jekuaitk
    ContributorAuthor

    @ds-bellcom Er vi ikke enige om at vi lige skal have Drupal 11 releasen ud før vi merger noget?

  15. ds-bellcom commented on Sep 25, 2026

    @ds-bellcom
    Contributor

    @jekuaitk jo, det har du helt klar en pointe med. Vent gerne med at merge til vi har fået Drupal 11 merget over i master-branch. Jeg noterer det lige på den andre issues også :)

  16. ds-bellcom commented on Oct 2, 2026

    @ds-bellcom
    Contributor

    @jekuaitk Du/I må nu gerne merge dette PR ind i develop: #353

  17. gBarlach commented on Oct 21, 2026

    @gBarlach

    Hermed godkendt til efterårsrelease 2, 2026

  18. ds-bellcom commented on Oct 22, 2026

    @ds-bellcom
    Contributor

    @MadNicGit vil I kigge på at få dette PR merged ind? Vi har også brug for at få tilsendt en testvejledning, således at vi kan lave en testguide til Koordinationsgruppen, som skal teste Efterårsreleasen. Deadline for at få det merged og en testvejledning er den 4/11-2026.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions