Issue #3593926: Fix invalid config name when adding a policy for a legacy hook_mail() module

Fixes the Add policy form for legacy hook_mail() modules (those with no EmailBuilder), which expose a single * ("Unknown") sub-type.

PolicyAddForm::validateForm() built the policy id with implode(., array_filter($id_array)), which kept the truthy * and produced an id like MODULENAME.*. * is illegal in a config object name, so the save threw ConfigNameException.

This change drops empty values and the * wildcard before imploding, so a legacy module maps to a clean type-level id (just the module name).

See the issue for full reproduction steps and root cause.

Merge request reports

Loading