Call parent::buildConfigurationForm

Created on 24 August 2025, 1 day ago

Problem/Motivation

ProfileForm::buildConfigurationForm does not call parent, resulting all parent fields and configuration not being displayed or saved.

The display_label field is present in the CheckoutPaneBase and does not to be provided at this level of the class too.

Empty validation function without calling parent means parent validation is never run.

Steps to reproduce

  1. Install module
  2. Add new profile type and add fields to it
  3. Activate the profile checkout pane
  4. Edit the settings for the pane
  5. Only the form mode and display label fields are present

Proposed resolution

  • Let parent handle display_label form item
  • Call parent during buildConfigurationForm
  • Remove validateConfigurationForm and let parent handle it
  • Remove display_label from submitConfigurationForm
  • Let parent produce the parent summary parts


Supplemental changes

  • Remove unnecessary quoting in yaml files
  • Fix Drupal 9 compatability by not including commas at end of wrapped functions
  • Add void return type hint to tests
  • Add strict typing to module files

Remaining tasks

  • Patch
  • Review
  • Merge

User interface changes

Settings form for profile pane now includes:

  • Checkbox to Override the display label
  • Choose the Wrapper element

API changes

none

Data model changes

none

🐛 Bug report
Status

Active

Version

1.0

Component

User interface

Created by

🇦🇺Australia elc

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @elc
  • 🇬🇧United Kingdom joachim

    > Supplemental changes

    These should go in separate commits. For fixes like these, feel free to just make commits to the branch, you don't need an issue and an MR (unless you want to run tests!).

  • 🇦🇺Australia elc

    Now that the supplemental have survived a full green test they can be separated out. I'm always nervous about pushing straight to main branch, even after running tests locally, without knowing what outcome on d.o is. Nothing quite so embarrassing as pushing a change to production that's missing a semicolon and then pushing a further few commits that don't fix it either.

  • 🇦🇺Australia elc
Production build 0.71.5 2024