From c8914f591e0ed24ff0d418f2dbffc32821effe32 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Tue, 27 Feb 2018 10:56:52 +0100 Subject: [PATCH 01/35] Add a data_help method in Form --- src/Symfony/Bridge/Twig/Extension/FormExtension.php | 1 + .../Resources/views/Form/bootstrap_4_layout.html.twig | 9 +++++++++ src/Symfony/Bridge/Twig/UndefinedCallableHandler.php | 1 + .../Component/Form/Extension/Core/Type/FormType.php | 3 +++ 4 files changed, 14 insertions(+) diff --git a/src/Symfony/Bridge/Twig/Extension/FormExtension.php b/src/Symfony/Bridge/Twig/Extension/FormExtension.php index e2ddbaf47fdaf..50f4b661273fc 100644 --- a/src/Symfony/Bridge/Twig/Extension/FormExtension.php +++ b/src/Symfony/Bridge/Twig/Extension/FormExtension.php @@ -47,6 +47,7 @@ public function getFunctions() new TwigFunction('form_widget', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), new TwigFunction('form_errors', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), new TwigFunction('form_label', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), + new TwigFunction('form_help', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), new TwigFunction('form_row', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), new TwigFunction('form_rest', null, array('node_class' => 'Symfony\Bridge\Twig\Node\SearchAndRenderBlockNode', 'is_safe' => array('html'))), new TwigFunction('form', null, array('node_class' => 'Symfony\Bridge\Twig\Node\RenderBlockNode', 'is_safe' => array('html'))), diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 2acd7086b0c7e..bc7748420b8fe 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -260,6 +260,7 @@ <{{ element|default('div') }} class="form-group"> {{- form_label(form) -}} {{- form_widget(form) -}} + {{- form_help(form) -}} {%- endblock form_row %} @@ -276,3 +277,11 @@ {%- endif %} {%- endblock form_errors %} + +{# Help #} + +{% block form_help -%} + {% if form.vars.help is not empty %} + {{ form.vars.help|raw }} + {% endif %} +{%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/UndefinedCallableHandler.php b/src/Symfony/Bridge/Twig/UndefinedCallableHandler.php index 77c78ce38f530..9c550a05c5c93 100644 --- a/src/Symfony/Bridge/Twig/UndefinedCallableHandler.php +++ b/src/Symfony/Bridge/Twig/UndefinedCallableHandler.php @@ -34,6 +34,7 @@ class UndefinedCallableHandler 'form_widget' => 'form', 'form_errors' => 'form', 'form_label' => 'form', + 'form_help' => 'form', 'form_row' => 'form', 'form_rest' => 'form', 'form' => 'form', diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php index 1beb6ab806f86..dcf10e80dc903 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php @@ -89,6 +89,7 @@ public function buildView(FormView $view, FormInterface $form, array $options) 'required' => $form->isRequired(), 'size' => null, 'label_attr' => $options['label_attr'], + 'help' => $options['help'], 'compound' => $formConfig->getCompound(), 'method' => $formConfig->getMethod(), 'action' => $formConfig->getAction(), @@ -178,10 +179,12 @@ public function configureOptions(OptionsResolver $resolver) 'attr' => array(), 'post_max_size_message' => 'The uploaded file was too large. Please try to upload a smaller file.', 'upload_max_size_message' => $uploadMaxSizeMessage, // internal + 'help' => '', )); $resolver->setAllowedTypes('label_attr', 'array'); $resolver->setAllowedTypes('upload_max_size_message', array('callable')); + $resolver->setAllowedTypes('help', 'string'); } /** From 1b89f9d9dd132cd7f335ea0c0950a15351854eff Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Tue, 27 Feb 2018 11:06:16 +0100 Subject: [PATCH 02/35] Add a template fot div_layout --- .../Twig/Resources/views/Form/form_div_layout.html.twig | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 583583e189997..29b50414385f9 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -287,6 +287,14 @@ {%- block button_label -%}{%- endblock -%} +{# Help #} + +{% block form_help -%} + {% if form.vars.help is not empty %} +

{{ form.vars.help|raw }}

+ {% endif %} +{%- endblock form_help %} + {# Rows #} {%- block repeated_row -%} @@ -302,6 +310,7 @@ {{- form_label(form) -}} {{- form_errors(form) -}} {{- form_widget(form) -}} + {{- form_help(form) -}} {%- endblock form_row -%} From 8b97c1b51648556969a51c828d2c8ecad18a5061 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Tue, 27 Feb 2018 11:37:16 +0100 Subject: [PATCH 03/35] Use a shortcut to acces help var in Twig template --- .../Twig/Resources/views/Form/bootstrap_4_layout.html.twig | 4 ++-- .../Twig/Resources/views/Form/form_div_layout.html.twig | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index bc7748420b8fe..065d02d719491 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -281,7 +281,7 @@ {# Help #} {% block form_help -%} - {% if form.vars.help is not empty %} - {{ form.vars.help|raw }} + {% if help is not empty %} + {{ help|raw }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 29b50414385f9..91666bbe185e7 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -290,8 +290,8 @@ {# Help #} {% block form_help -%} - {% if form.vars.help is not empty %} -

{{ form.vars.help|raw }}

+ {% if help is not empty %} +

{{ help|raw }}

{% endif %} {%- endblock form_help %} From e311838aedb2a2e87b2d633e11ae706217550353 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Tue, 27 Feb 2018 11:50:22 +0100 Subject: [PATCH 04/35] Remove raw filter for help --- .../Twig/Resources/views/Form/bootstrap_4_layout.html.twig | 2 +- .../Bridge/Twig/Resources/views/Form/form_div_layout.html.twig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 065d02d719491..8a5a028cfa5ac 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -282,6 +282,6 @@ {% block form_help -%} {% if help is not empty %} - {{ help|raw }} + {{ help }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 91666bbe185e7..40e27fef7f255 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -291,7 +291,7 @@ {% block form_help -%} {% if help is not empty %} -

{{ help|raw }}

+

{{ help }}

{% endif %} {%- endblock form_help %} From 831693ad459743405e19c951a179308af31c05e4 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Tue, 27 Feb 2018 11:57:26 +0100 Subject: [PATCH 05/35] Add trans filter --- .../Twig/Resources/views/Form/bootstrap_4_layout.html.twig | 2 +- .../Bridge/Twig/Resources/views/Form/form_div_layout.html.twig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 8a5a028cfa5ac..bd5451fcc5854 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -282,6 +282,6 @@ {% block form_help -%} {% if help is not empty %} - {{ help }} + {{ help|trans }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 40e27fef7f255..bfaf617472076 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -291,7 +291,7 @@ {% block form_help -%} {% if help is not empty %} -

{{ help }}

+

{{ help|trans }}

{% endif %} {%- endblock form_help %} From 2c2c04549f2f8f52e85dd5a50e84ac80a0b69271 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Tue, 27 Feb 2018 13:32:50 +0100 Subject: [PATCH 06/35] Adapt existant tests --- .../Tests/Fixtures/Descriptor/resolved_form_type_1.json | 1 + .../Tests/Fixtures/Descriptor/resolved_form_type_1.txt | 7 ++++--- .../Tests/Fixtures/Descriptor/resolved_form_type_2.json | 1 + .../Tests/Fixtures/Descriptor/resolved_form_type_2.txt | 1 + 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_1.json b/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_1.json index acbb82aa8fe49..444033593219d 100644 --- a/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_1.json +++ b/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_1.json @@ -33,6 +33,7 @@ "by_reference", "data", "disabled", + "help", "inherit_data", "label", "label_attr", diff --git a/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_1.txt b/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_1.txt index 6d698a6171f15..3a0a452fd45cd 100644 --- a/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_1.txt +++ b/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_1.txt @@ -14,9 +14,10 @@ Symfony\Component\Form\Extension\Core\Type\ChoiceType (Block prefix: "choice") choices by_reference csrf_token_manager expanded data group_by disabled - multiple inherit_data - placeholder label - preferred_choices label_attr + multiple help + placeholder inherit_data + preferred_choices label + label_attr label_format mapped method diff --git a/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_2.json b/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_2.json index bdefb5c946626..b0735e7248687 100644 --- a/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_2.json +++ b/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_2.json @@ -14,6 +14,7 @@ "disabled", "empty_data", "error_bubbling", + "help", "inherit_data", "label", "label_attr", diff --git a/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_2.txt b/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_2.txt index 72b13dfef75aa..78a4db0e684f7 100644 --- a/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_2.txt +++ b/src/Symfony/Component/Form/Tests/Fixtures/Descriptor/resolved_form_type_2.txt @@ -16,6 +16,7 @@ Symfony\Component\Form\Extension\Core\Type\FormType (Block prefix: "form") disabled empty_data error_bubbling + help inherit_data label label_attr From d3e3e492dfec15e186831b8c466c57c0b19c4b07 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Tue, 27 Feb 2018 14:36:39 +0100 Subject: [PATCH 07/35] Fix: check translation domain --- .../Twig/Resources/views/Form/bootstrap_4_layout.html.twig | 2 +- .../Bridge/Twig/Resources/views/Form/form_div_layout.html.twig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index bd5451fcc5854..87876a73b4ecc 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -282,6 +282,6 @@ {% block form_help -%} {% if help is not empty %} - {{ help|trans }} + {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index bfaf617472076..977a60449a408 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -291,7 +291,7 @@ {% block form_help -%} {% if help is not empty %} -

{{ help|trans }}

+

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

{% endif %} {%- endblock form_help %} From 067c6815807317c7f6aa4eb884ad9c125f11ad91 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 28 Feb 2018 06:49:05 +0100 Subject: [PATCH 08/35] Template for table, Foundation and Bootstrap 3 --- .../Resources/views/Form/bootstrap_3_layout.html.twig | 9 +++++++++ .../Twig/Resources/views/Form/form_div_layout.html.twig | 2 +- .../Resources/views/Form/form_table_layout.html.twig | 1 + .../Resources/views/Form/foundation_5_layout.html.twig | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig index 0e198aa517cae..afd101177128a 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig @@ -92,6 +92,7 @@
{{- form_label(form) -}} {{- form_widget(form) -}} + {{- form_help(form) -}} {{- form_errors(form) -}}
{%- endblock form_row %} @@ -149,3 +150,11 @@ {% if form is not rootform %}{% else %}{% endif %} {%- endif %} {%- endblock form_errors %} + +{# Help #} + +{% block form_help -%} + {% if help is not empty %} + {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} + {% endif %} +{%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 977a60449a408..60cf52d8bed50 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -291,7 +291,7 @@ {% block form_help -%} {% if help is not empty %} -

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

+

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

{% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig index 39274c6c8d058..b58ee16a95df2 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig @@ -8,6 +8,7 @@ {{- form_errors(form) -}} {{- form_widget(form) -}} + {{- form_help(form) -}} {%- endblock form_row -%} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig index 3035689cc9dff..3fca93fd84dfb 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig @@ -271,6 +271,7 @@
{{ form_label(form) }} {{ form_widget(form) }} + {{ form_help(form) }} {{ form_errors(form) }}
From 8094804522eeea666e3500832db992018ee80c32 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 28 Feb 2018 08:10:48 +0100 Subject: [PATCH 09/35] Add Tests --- ...ExtensionBootstrap3HorizontalLayoutTest.php | 5 +++++ .../FormExtensionBootstrap3LayoutTest.php | 5 +++++ ...ExtensionBootstrap4HorizontalLayoutTest.php | 5 +++++ .../FormExtensionBootstrap4LayoutTest.php | 5 +++++ .../Extension/FormExtensionDivLayoutTest.php | 5 +++++ .../Extension/FormExtensionTableLayoutTest.php | 5 +++++ .../Tests/AbstractBootstrap3LayoutTest.php | 16 ++++++++++++++++ .../Tests/AbstractBootstrap4LayoutTest.php | 16 ++++++++++++++++ .../Form/Tests/AbstractLayoutTest.php | 18 ++++++++++++++++++ 9 files changed, 80 insertions(+) diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php index e5ee8903efe4a..31fa65360c6f4 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php @@ -69,6 +69,11 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } + protected function renderHelp(FormView $view, array $vars = array()) + { + return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + } + protected function renderErrors(FormView $view) { return (string) $this->renderer->searchAndRenderBlock($view, 'errors'); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php index 5e872b83eb67d..bb96ee6e0dec6 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php @@ -89,6 +89,11 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } + protected function renderHelp(FormView $view, array $vars = array()) + { + return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + } + protected function renderErrors(FormView $view) { return (string) $this->renderer->searchAndRenderBlock($view, 'errors'); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php index 063edd889aed4..1ae3695c5f948 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php @@ -70,6 +70,11 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } + protected function renderHelp(FormView $view, array $vars = array()) + { + return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + } + protected function renderErrors(FormView $view) { return (string) $this->renderer->searchAndRenderBlock($view, 'errors'); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php index d8cbde1017345..e035625bb918f 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php @@ -92,6 +92,11 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } + protected function renderHelp(FormView $view, array $vars = array()) + { + return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + } + protected function renderErrors(FormView $view) { return (string) $this->renderer->searchAndRenderBlock($view, 'errors'); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php index 22a1413f38cbc..a3edf80bf890e 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php @@ -179,6 +179,11 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } + protected function renderHelp(FormView $view, array $vars = array()) + { + return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + } + protected function renderErrors(FormView $view) { return (string) $this->renderer->searchAndRenderBlock($view, 'errors'); diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php index 5119480d90e4c..6fe4afa5d7c7e 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php @@ -90,6 +90,11 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } + protected function renderHelp(FormView $view, array $vars = array()) + { + return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + } + protected function renderErrors(FormView $view) { return (string) $this->renderer->searchAndRenderBlock($view, 'errors'); diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php index 4764117964b61..800518067a37b 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php @@ -102,6 +102,22 @@ public function testLabelWithCustomTextAsOptionAndCustomAttributesPassedDirectly ); } + public function testHelp() + { + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, [ + 'help' => 'Help text test!' + ]); + $view = $form->createView(); + $html = $this->renderHelp($view); + + $this->assertMatchesXpath($html, +'/span + [@class="help-block"] + [.="[trans]Help text test![/trans]"] +' + ); + } + public function testErrors() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php index beabaa21cdb1a..1ab73064172c0 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php @@ -151,6 +151,22 @@ public function testLegendOnExpandedType() ); } + public function testHelp() + { + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, [ + 'help' => 'Help text test!' + ]); + $view = $form->createView(); + $html = $this->renderHelp($view); + + $this->assertMatchesXpath($html, +'/small + [@class="form-text text-muted"] + [.="[trans]Help text test![/trans]"] +' + ); + } + public function testErrors() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index be295a302efe8..be869a57f865a 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -113,6 +113,8 @@ abstract protected function renderForm(FormView $view, array $vars = array()); abstract protected function renderLabel(FormView $view, $label = null, array $vars = array()); + abstract protected function renderHelp(FormView $view, array $vars = array()); + abstract protected function renderErrors(FormView $view); abstract protected function renderWidget(FormView $view, array $vars = array()); @@ -408,6 +410,22 @@ public function testLabelFormatOnButtonId() ); } + public function testHelp() + { + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, [ + 'help' => 'Help text test!' + ]); + $view = $form->createView(); + $html = $this->renderHelp($view); + + $this->assertMatchesXpath($html, +'/p + [@class="help-text"] + [.="[trans]Help text test![/trans]"] +' + ); + } + public function testErrors() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); From c934e496d22354885160a348470898ae7a1b3013 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 28 Feb 2018 08:17:22 +0100 Subject: [PATCH 10/35] Add test without help set --- src/Symfony/Component/Form/Tests/AbstractLayoutTest.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index be869a57f865a..f49d336d86ca4 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -426,6 +426,15 @@ public function testHelp() ); } + public function testHelpNotSet() + { + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); + $view = $form->createView(); + $html = $this->renderHelp($view); + + $this->assertMatchesXpath($html, ''); + } + public function testErrors() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); From f15bc79df1b50c1ebde88263d6722cf8c3f8201c Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 28 Feb 2018 08:19:01 +0100 Subject: [PATCH 11/35] Fix coding standards --- .../Component/Form/Tests/AbstractBootstrap3LayoutTest.php | 2 +- .../Component/Form/Tests/AbstractBootstrap4LayoutTest.php | 2 +- src/Symfony/Component/Form/Tests/AbstractLayoutTest.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php index 800518067a37b..be73e6ab1a3dc 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php @@ -105,7 +105,7 @@ public function testLabelWithCustomTextAsOptionAndCustomAttributesPassedDirectly public function testHelp() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, [ - 'help' => 'Help text test!' + 'help' => 'Help text test!', ]); $view = $form->createView(); $html = $this->renderHelp($view); diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php index 1ab73064172c0..09165f5eed7ea 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php @@ -154,7 +154,7 @@ public function testLegendOnExpandedType() public function testHelp() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, [ - 'help' => 'Help text test!' + 'help' => 'Help text test!', ]); $view = $form->createView(); $html = $this->renderHelp($view); diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index f49d336d86ca4..0cef7a9034162 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -413,7 +413,7 @@ public function testLabelFormatOnButtonId() public function testHelp() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, [ - 'help' => 'Help text test!' + 'help' => 'Help text test!', ]); $view = $form->createView(); $html = $this->renderHelp($view); From 4f2581d7da9884d15e6e7e396c171a5c63f468ec Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 28 Feb 2018 08:22:14 +0100 Subject: [PATCH 12/35] Use array long syntax --- .../Component/Form/Tests/AbstractBootstrap3LayoutTest.php | 4 ++-- .../Component/Form/Tests/AbstractBootstrap4LayoutTest.php | 4 ++-- src/Symfony/Component/Form/Tests/AbstractLayoutTest.php | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php index be73e6ab1a3dc..439d39b01ea25 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php @@ -104,9 +104,9 @@ public function testLabelWithCustomTextAsOptionAndCustomAttributesPassedDirectly public function testHelp() { - $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, [ + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, array( 'help' => 'Help text test!', - ]); + )); $view = $form->createView(); $html = $this->renderHelp($view); diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php index 09165f5eed7ea..63aef7d923255 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php @@ -153,9 +153,9 @@ public function testLegendOnExpandedType() public function testHelp() { - $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, [ + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, array( 'help' => 'Help text test!', - ]); + )); $view = $form->createView(); $html = $this->renderHelp($view); diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index 0cef7a9034162..cb3df7b369588 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -412,9 +412,9 @@ public function testLabelFormatOnButtonId() public function testHelp() { - $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, [ + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, array( 'help' => 'Help text test!', - ]); + )); $view = $form->createView(); $html = $this->renderHelp($view); From ba798dfdf4098ece08ad16bade54491fde3a2be0 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 28 Feb 2018 08:54:30 +0100 Subject: [PATCH 13/35] FrameworkBundle Tests --- .../Resources/views/Form/form_help.html.php | 3 +++ .../Resources/views/Form/form_row.html.php | 1 + .../Resources/views/FormTable/form_row.html.php | 1 + .../Templating/Helper/FormHelper.php | 13 +++++++++++++ .../Templating/Helper/FormHelperDivLayoutTest.php | 5 +++++ .../Templating/Helper/FormHelperTableLayoutTest.php | 5 +++++ 6 files changed, 28 insertions(+) create mode 100644 src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php new file mode 100644 index 0000000000000..654bf8c92f40a --- /dev/null +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php @@ -0,0 +1,3 @@ + +

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help) ?>

+ diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php index a4f86d0223184..11869b422a3fb 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php @@ -2,4 +2,5 @@ label($form) ?> errors($form) ?> widget($form) ?> + help($form); ?> diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php index e2f03ff2b7064..8948084cd68fb 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php @@ -5,5 +5,6 @@ errors($form); ?> widget($form); ?> + help($form); ?> diff --git a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php index 0ad1ff85b24a5..5dbc58631e58e 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php +++ b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php @@ -169,6 +169,19 @@ public function label(FormView $view, $label = null, array $variables = array()) return $this->renderer->searchAndRenderBlock($view, 'label', $variables); } + /** + * Renders the help of the given view. + * + * @param FormView $view The parent view + * @param array $variables An array of variables + * + * @return string The HTML markup + */ + public function help(FormView $view, array $variables = array()) + { + return $this->renderer->searchAndRenderBlock($view, 'help', $variables); + } + /** * Renders the errors of the given view. * diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php index b86d54b78cdb4..3c0d3064dc8c0 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php @@ -91,6 +91,11 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->engine->get('form')->label($view, $label, $vars); } + protected function renderHelp(FormView $view, array $vars = array()) + { + return (string) $this->engine->get('form')->help($view); + } + protected function renderErrors(FormView $view) { return (string) $this->engine->get('form')->errors($view); diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php index 8dd6fffa79f41..8c8c8e0b78b7f 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php @@ -92,6 +92,11 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->engine->get('form')->label($view, $label, $vars); } + protected function renderHelp(FormView $view, array $vars = array()) + { + return (string) $this->engine->get('form')->help($view); + } + protected function renderErrors(FormView $view) { return (string) $this->engine->get('form')->errors($view); From 6ea7a2054b3922996d1566d4c99de52fc8864018 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 28 Feb 2018 10:52:42 +0100 Subject: [PATCH 14/35] Remove vars option from form_help --- .../FormExtensionBootstrap3HorizontalLayoutTest.php | 4 ++-- .../Tests/Extension/FormExtensionBootstrap3LayoutTest.php | 4 ++-- .../FormExtensionBootstrap4HorizontalLayoutTest.php | 4 ++-- .../Tests/Extension/FormExtensionBootstrap4LayoutTest.php | 4 ++-- .../Twig/Tests/Extension/FormExtensionDivLayoutTest.php | 4 ++-- .../Twig/Tests/Extension/FormExtensionTableLayoutTest.php | 4 ++-- .../Bundle/FrameworkBundle/Templating/Helper/FormHelper.php | 5 ++--- .../Tests/Templating/Helper/FormHelperDivLayoutTest.php | 2 +- .../Tests/Templating/Helper/FormHelperTableLayoutTest.php | 2 +- src/Symfony/Component/Form/Tests/AbstractLayoutTest.php | 2 +- 10 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php index 31fa65360c6f4..9c9ea12ab2b97 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3HorizontalLayoutTest.php @@ -69,9 +69,9 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } - protected function renderHelp(FormView $view, array $vars = array()) + protected function renderHelp(FormView $view) { - return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + return (string) $this->renderer->searchAndRenderBlock($view, 'help'); } protected function renderErrors(FormView $view) diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php index bb96ee6e0dec6..e99c1e6fc7622 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap3LayoutTest.php @@ -89,9 +89,9 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } - protected function renderHelp(FormView $view, array $vars = array()) + protected function renderHelp(FormView $view) { - return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + return (string) $this->renderer->searchAndRenderBlock($view, 'help'); } protected function renderErrors(FormView $view) diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php index 1ae3695c5f948..8ad680710a588 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4HorizontalLayoutTest.php @@ -70,9 +70,9 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } - protected function renderHelp(FormView $view, array $vars = array()) + protected function renderHelp(FormView $view) { - return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + return (string) $this->renderer->searchAndRenderBlock($view, 'help'); } protected function renderErrors(FormView $view) diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php index e035625bb918f..c34e6e3f32389 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionBootstrap4LayoutTest.php @@ -92,9 +92,9 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } - protected function renderHelp(FormView $view, array $vars = array()) + protected function renderHelp(FormView $view) { - return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + return (string) $this->renderer->searchAndRenderBlock($view, 'help'); } protected function renderErrors(FormView $view) diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php index a3edf80bf890e..ddf4e389ebfa6 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php @@ -179,9 +179,9 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } - protected function renderHelp(FormView $view, array $vars = array()) + protected function renderHelp(FormView $view) { - return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + return (string) $this->renderer->searchAndRenderBlock($view, 'help'); } protected function renderErrors(FormView $view) diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php index 6fe4afa5d7c7e..99d29f717b335 100644 --- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php @@ -90,9 +90,9 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->renderer->searchAndRenderBlock($view, 'label', $vars); } - protected function renderHelp(FormView $view, array $vars = array()) + protected function renderHelp(FormView $view) { - return (string) $this->renderer->searchAndRenderBlock($view, 'help', $vars); + return (string) $this->renderer->searchAndRenderBlock($view, 'help'); } protected function renderErrors(FormView $view) diff --git a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php index 5dbc58631e58e..c8336653539d1 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php +++ b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php @@ -173,13 +173,12 @@ public function label(FormView $view, $label = null, array $variables = array()) * Renders the help of the given view. * * @param FormView $view The parent view - * @param array $variables An array of variables * * @return string The HTML markup */ - public function help(FormView $view, array $variables = array()) + public function help(FormView $view) { - return $this->renderer->searchAndRenderBlock($view, 'help', $variables); + return $this->renderer->searchAndRenderBlock($view, 'help'); } /** diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php index 3c0d3064dc8c0..3507729c79f5b 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperDivLayoutTest.php @@ -91,7 +91,7 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->engine->get('form')->label($view, $label, $vars); } - protected function renderHelp(FormView $view, array $vars = array()) + protected function renderHelp(FormView $view) { return (string) $this->engine->get('form')->help($view); } diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php index 8c8c8e0b78b7f..dcec5b300245c 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php +++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/FormHelperTableLayoutTest.php @@ -92,7 +92,7 @@ protected function renderLabel(FormView $view, $label = null, array $vars = arra return (string) $this->engine->get('form')->label($view, $label, $vars); } - protected function renderHelp(FormView $view, array $vars = array()) + protected function renderHelp(FormView $view) { return (string) $this->engine->get('form')->help($view); } diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index cb3df7b369588..a87fb833caf59 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -113,7 +113,7 @@ abstract protected function renderForm(FormView $view, array $vars = array()); abstract protected function renderLabel(FormView $view, $label = null, array $vars = array()); - abstract protected function renderHelp(FormView $view, array $vars = array()); + abstract protected function renderHelp(FormView $view); abstract protected function renderErrors(FormView $view); From 058489d7df5c4c886bbe2451a5fc4900a8a49d24 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 06:51:00 +0100 Subject: [PATCH 15/35] Add an id to the help --- .../Twig/Resources/views/Form/bootstrap_3_layout.html.twig | 2 +- .../Twig/Resources/views/Form/bootstrap_4_layout.html.twig | 2 +- .../Bridge/Twig/Resources/views/Form/form_div_layout.html.twig | 2 +- .../FrameworkBundle/Resources/views/Form/form_help.html.php | 2 +- .../Component/Form/Tests/AbstractBootstrap3LayoutTest.php | 1 + .../Component/Form/Tests/AbstractBootstrap4LayoutTest.php | 1 + src/Symfony/Component/Form/Tests/AbstractLayoutTest.php | 1 + 7 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig index afd101177128a..6fc8153d62a13 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig @@ -155,6 +155,6 @@ {% block form_help -%} {% if help is not empty %} - {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} + {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 87876a73b4ecc..3a80659bcad56 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -282,6 +282,6 @@ {% block form_help -%} {% if help is not empty %} - {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} + {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 60cf52d8bed50..09bd5eb7abe05 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -291,7 +291,7 @@ {% block form_help -%} {% if help is not empty %} -

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

+

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

{% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php index 654bf8c92f40a..947ef7eea7b9d 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php @@ -1,3 +1,3 @@ -

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help) ?>

+

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help) ?>

diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php index 439d39b01ea25..6fa45e69e13ed 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php @@ -112,6 +112,7 @@ public function testHelp() $this->assertMatchesXpath($html, '/span + [@id="name_help"] [@class="help-block"] [.="[trans]Help text test![/trans]"] ' diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php index 63aef7d923255..cf729176d5c1b 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php @@ -161,6 +161,7 @@ public function testHelp() $this->assertMatchesXpath($html, '/small + [@id="name_help"] [@class="form-text text-muted"] [.="[trans]Help text test![/trans]"] ' diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index a87fb833caf59..f71b90cba2c29 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -420,6 +420,7 @@ public function testHelp() $this->assertMatchesXpath($html, '/p + [@id="name_help"] [@class="help-text"] [.="[trans]Help text test![/trans]"] ' From 1f3a15e33b346f040f77e7e41c13d7cebc4b96f2 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 07:09:49 +0100 Subject: [PATCH 16/35] Rename id --- .../Twig/Resources/views/Form/bootstrap_3_layout.html.twig | 2 +- .../Twig/Resources/views/Form/bootstrap_4_layout.html.twig | 2 +- .../Bridge/Twig/Resources/views/Form/form_div_layout.html.twig | 2 +- .../FrameworkBundle/Resources/views/Form/form_help.html.php | 2 +- .../Component/Form/Tests/AbstractBootstrap3LayoutTest.php | 2 +- .../Component/Form/Tests/AbstractBootstrap4LayoutTest.php | 2 +- src/Symfony/Component/Form/Tests/AbstractLayoutTest.php | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig index 6fc8153d62a13..38cf50bd3467f 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig @@ -155,6 +155,6 @@ {% block form_help -%} {% if help is not empty %} - {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} + {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 3a80659bcad56..27a11ac1309d7 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -282,6 +282,6 @@ {% block form_help -%} {% if help is not empty %} - {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} + {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 09bd5eb7abe05..4ffc8a187fdf6 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -291,7 +291,7 @@ {% block form_help -%} {% if help is not empty %} -

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

+

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

{% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php index 947ef7eea7b9d..580f2cbdd7771 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php @@ -1,3 +1,3 @@ -

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help) ?>

+

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help) ?>

diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php index 6fa45e69e13ed..6984e7dc3539a 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php @@ -112,7 +112,7 @@ public function testHelp() $this->assertMatchesXpath($html, '/span - [@id="name_help"] + [@id="nameHelpBlock"] [@class="help-block"] [.="[trans]Help text test![/trans]"] ' diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php index cf729176d5c1b..6721cfb293e1c 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php @@ -161,7 +161,7 @@ public function testHelp() $this->assertMatchesXpath($html, '/small - [@id="name_help"] + [@id="nameHelpBlock"] [@class="form-text text-muted"] [.="[trans]Help text test![/trans]"] ' diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index f71b90cba2c29..e57a4d4d4d337 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -420,7 +420,7 @@ public function testHelp() $this->assertMatchesXpath($html, '/p - [@id="name_help"] + [@id="nameHelpBlock"] [@class="help-text"] [.="[trans]Help text test![/trans]"] ' From bf4d08c5aefed7bc15ab76cac0434f5790b90e57 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 08:06:19 +0100 Subject: [PATCH 17/35] Add aria-describedBy on input --- .../views/Form/form_div_layout.html.twig | 3 +- .../Resources/views/Form/form_row.html.php | 4 +- .../views/Form/widget_attributes.html.php | 3 +- .../Form/Tests/AbstractLayoutTest.php | 56 +++++++++++++++++++ 4 files changed, 62 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 4ffc8a187fdf6..27a0d21ab6e57 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -309,7 +309,7 @@
{{- form_label(form) -}} {{- form_errors(form) -}} - {{- form_widget(form) -}} + {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} {{- form_help(form) -}}
{%- endblock form_row -%} @@ -397,6 +397,7 @@ id="{{ id }}" name="{{ full_name }}" {%- if disabled %} disabled="disabled"{% endif -%} {%- if required %} required="required"{% endif -%} + {%- if helpBlockDisplayed is defined and helpBlockDisplayed and help is not empty %} aria-describedby="{{ id }}HelpBlock"{% endif -%} {{ block('attributes') }} {%- endblock widget_attributes -%} diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php index 11869b422a3fb..db843b7ebdc97 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php @@ -1,6 +1,6 @@
label($form) ?> errors($form) ?> - widget($form) ?> - help($form); ?> + widget($form, array('helpBlockDisplayed' => true)) ?> + help($form) ?>
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php index 41c0cc7bfe8ba..bd8e0f2ce5f93 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php @@ -1,3 +1,4 @@ id="escape($id) ?>" name="escape($full_name) ?>" disabled="disabled" required="required" -block($form, 'attributes') : '' ?> + aria-describedby="escape($id) ?>HelpBlock" +block($form, 'attributes') : '' ?> \ No newline at end of file diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index e57a4d4d4d337..c41029d5a372a 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -436,6 +436,62 @@ public function testHelpNotSet() $this->assertMatchesXpath($html, ''); } + public function testHelpSetLinkFromWidget() + { + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, array( + 'help' => 'Help text test!', + )); + $view = $form->createView(); + $html = $this->renderWidget($view, array('helpBlockDisplayed' => true)); + + $this->assertMatchesXpath($html, +'/input + [@aria-describedby="nameHelpBlock"] +' + ); + } + + public function testHelpSetNotLinkedFromWidget() + { + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, array( + 'help' => 'Help text test!', + )); + $view = $form->createView(); + $html = $this->renderWidget($view); + + $this->assertMatchesXpath($html, + '/input + [not(@aria-describedby)] +' + ); + } + + public function testHelpNotSetLinkFromWidget() + { + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); + $view = $form->createView(); + $html = $this->renderWidget($view, array('helpBlockDisplayed' => true)); + + $this->assertMatchesXpath($html, + '/input + [not(@aria-describedby)] +' + ); + } + + public function testHelpNotSetNotLinkedFromWidget() + { + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); + $view = $form->createView(); + $html = $this->renderWidget($view); + + $this->assertMatchesXpath($html, + '/input + [not(@aria-describedby)] +' + ); + } + public function testErrors() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); From 30deaa9b28263433906734f2e711564874bece1e Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 08:08:06 +0100 Subject: [PATCH 18/35] PSR fix --- .../Bundle/FrameworkBundle/Templating/Helper/FormHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php index c8336653539d1..5428aa0e79cef 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php +++ b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php @@ -172,7 +172,7 @@ public function label(FormView $view, $label = null, array $variables = array()) /** * Renders the help of the given view. * - * @param FormView $view The parent view + * @param FormView $view The parent view * * @return string The HTML markup */ From 77fa3178bd5adad6fcbbcc9c17d193af52c5d0a6 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 08:14:12 +0100 Subject: [PATCH 19/35] Fix Test --- src/Symfony/Component/Form/Tests/AbstractLayoutTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index c41029d5a372a..2adc4a9cad485 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -433,7 +433,7 @@ public function testHelpNotSet() $view = $form->createView(); $html = $this->renderHelp($view); - $this->assertMatchesXpath($html, ''); + $this->assertMatchesXpath($html, '/p', 0); } public function testHelpSetLinkFromWidget() From f948147e38aac7fa5be994fdbec8bf80fe8df5c0 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 09:42:27 +0100 Subject: [PATCH 20/35] Rename help id (snake_case) --- .../Twig/Resources/views/Form/bootstrap_3_layout.html.twig | 2 +- .../Twig/Resources/views/Form/bootstrap_4_layout.html.twig | 2 +- .../Twig/Resources/views/Form/form_div_layout.html.twig | 4 ++-- .../FrameworkBundle/Resources/views/Form/form_help.html.php | 2 +- .../Resources/views/Form/widget_attributes.html.php | 2 +- .../Component/Form/Tests/AbstractBootstrap3LayoutTest.php | 2 +- .../Component/Form/Tests/AbstractBootstrap4LayoutTest.php | 2 +- src/Symfony/Component/Form/Tests/AbstractLayoutTest.php | 4 ++-- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig index 38cf50bd3467f..6fc8153d62a13 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig @@ -155,6 +155,6 @@ {% block form_help -%} {% if help is not empty %} - {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} + {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 27a11ac1309d7..3a80659bcad56 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -282,6 +282,6 @@ {% block form_help -%} {% if help is not empty %} - {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} + {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} {% endif %} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 27a0d21ab6e57..3b3b47c249dc0 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -291,7 +291,7 @@ {% block form_help -%} {% if help is not empty %} -

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

+

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

{% endif %} {%- endblock form_help %} @@ -397,7 +397,7 @@ id="{{ id }}" name="{{ full_name }}" {%- if disabled %} disabled="disabled"{% endif -%} {%- if required %} required="required"{% endif -%} - {%- if helpBlockDisplayed is defined and helpBlockDisplayed and help is not empty %} aria-describedby="{{ id }}HelpBlock"{% endif -%} + {%- if helpBlockDisplayed is defined and helpBlockDisplayed is same as(true) and help is not empty %} aria-describedby="{{ id }}_help"{% endif -%} {{ block('attributes') }} {%- endblock widget_attributes -%} diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php index 580f2cbdd7771..947ef7eea7b9d 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php @@ -1,3 +1,3 @@ -

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help) ?>

+

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help) ?>

diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php index bd8e0f2ce5f93..cab8307748a86 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php @@ -1,4 +1,4 @@ id="escape($id) ?>" name="escape($full_name) ?>" disabled="disabled" required="required" - aria-describedby="escape($id) ?>HelpBlock" + aria-describedby="escape($id) ?>_help" block($form, 'attributes') : '' ?> \ No newline at end of file diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php index 6984e7dc3539a..6fa45e69e13ed 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap3LayoutTest.php @@ -112,7 +112,7 @@ public function testHelp() $this->assertMatchesXpath($html, '/span - [@id="nameHelpBlock"] + [@id="name_help"] [@class="help-block"] [.="[trans]Help text test![/trans]"] ' diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php index 6721cfb293e1c..cf729176d5c1b 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php @@ -161,7 +161,7 @@ public function testHelp() $this->assertMatchesXpath($html, '/small - [@id="nameHelpBlock"] + [@id="name_help"] [@class="form-text text-muted"] [.="[trans]Help text test![/trans]"] ' diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index 2adc4a9cad485..2980a77da6bfd 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -420,7 +420,7 @@ public function testHelp() $this->assertMatchesXpath($html, '/p - [@id="nameHelpBlock"] + [@id="name_help"] [@class="help-text"] [.="[trans]Help text test![/trans]"] ' @@ -446,7 +446,7 @@ public function testHelpSetLinkFromWidget() $this->assertMatchesXpath($html, '/input - [@aria-describedby="nameHelpBlock"] + [@aria-describedby="name_help"] ' ); } From aada72c5d48e06eade33fe68ad9ac0ca6d1b2f3c Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 09:56:13 +0100 Subject: [PATCH 21/35] Set help option on nul as default --- src/Symfony/Component/Form/Extension/Core/Type/FormType.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php index dcf10e80dc903..8a8da45c30b0c 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php @@ -179,12 +179,12 @@ public function configureOptions(OptionsResolver $resolver) 'attr' => array(), 'post_max_size_message' => 'The uploaded file was too large. Please try to upload a smaller file.', 'upload_max_size_message' => $uploadMaxSizeMessage, // internal - 'help' => '', + 'help' => null, )); $resolver->setAllowedTypes('label_attr', 'array'); $resolver->setAllowedTypes('upload_max_size_message', array('callable')); - $resolver->setAllowedTypes('help', 'string'); + $resolver->setAllowedTypes('help', ['string', 'NULL']); } /** From edb95f8e440b78aa5dfeb8a32996938daeeb7074 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 09:58:28 +0100 Subject: [PATCH 22/35] Use array long syntax --- src/Symfony/Component/Form/Extension/Core/Type/FormType.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php index 8a8da45c30b0c..755e75f891043 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php @@ -184,7 +184,7 @@ public function configureOptions(OptionsResolver $resolver) $resolver->setAllowedTypes('label_attr', 'array'); $resolver->setAllowedTypes('upload_max_size_message', array('callable')); - $resolver->setAllowedTypes('help', ['string', 'NULL']); + $resolver->setAllowedTypes('help', array('string', 'NULL')); } /** From 98065d38b587fb389db9006ca4ca48f7d002470c Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 10:19:34 +0100 Subject: [PATCH 23/35] fabpot.io fix --- .../Resources/views/Form/form_help.html.php | 17 ++++++++++++++--- .../Resources/views/Form/form_row.html.php | 8 ++++---- .../views/Form/widget_attributes.html.php | 8 ++++---- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php index 947ef7eea7b9d..77f50d8453b40 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php @@ -1,3 +1,14 @@ - -

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help) ?>

- + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +if (!empty($help)): ?> +

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help); ?>

+ diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php index db843b7ebdc97..caa9206cc4d72 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php @@ -1,6 +1,6 @@
- label($form) ?> - errors($form) ?> - widget($form, array('helpBlockDisplayed' => true)) ?> - help($form) ?> + label($form); ?> + errors($form); ?> + widget($form, array('helpBlockDisplayed' => true)); ?> + help($form); ?>
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php index cab8307748a86..1a0de4d422af8 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php @@ -1,4 +1,4 @@ -id="escape($id) ?>" name="escape($full_name) ?>" disabled="disabled" - required="required" - aria-describedby="escape($id) ?>_help" -block($form, 'attributes') : '' ?> \ No newline at end of file +id="escape($id); ?>" name="escape($full_name); ?>" disabled="disabled" + required="required" + aria-describedby="escape($id); ?>_help" +block($form, 'attributes') : ''; ?> \ No newline at end of file From fd53bc579ab3b631f6bc5faa0c001ad29ef074c4 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 1 Mar 2018 11:46:46 +0100 Subject: [PATCH 24/35] Enable aria-described in row for all Templates --- .../Twig/Resources/views/Form/bootstrap_3_layout.html.twig | 2 +- .../Twig/Resources/views/Form/bootstrap_4_layout.html.twig | 2 +- .../Twig/Resources/views/Form/form_table_layout.html.twig | 2 +- .../Twig/Resources/views/Form/foundation_5_layout.html.twig | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig index 6fc8153d62a13..990f820017f04 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig @@ -91,7 +91,7 @@ {% block form_row -%}
{{- form_label(form) -}} - {{- form_widget(form) -}} + {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} {{- form_help(form) -}} {{- form_errors(form) -}}
diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 3a80659bcad56..093bbfdc4ad0c 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -259,7 +259,7 @@ {%- endif -%} <{{ element|default('div') }} class="form-group"> {{- form_label(form) -}} - {{- form_widget(form) -}} + {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} {{- form_help(form) -}} {%- endblock form_row %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig index b58ee16a95df2..75f6715a91f0c 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig @@ -7,7 +7,7 @@ {{- form_errors(form) -}} - {{- form_widget(form) -}} + {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} {{- form_help(form) -}} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig index 3fca93fd84dfb..6942ed2e23d49 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig @@ -270,7 +270,7 @@
{{ form_label(form) }} - {{ form_widget(form) }} + {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} {{ form_help(form) }} {{ form_errors(form) }}
From 69ded67643183f4f6094169fad1f735a96087d0d Mon Sep 17 00:00:00 2001 From: Nyholm Date: Sun, 18 Mar 2018 11:16:46 +0100 Subject: [PATCH 25/35] Added form_help on horizontal design and removed special variable --- .../bootstrap_3_horizontal_layout.html.twig | 7 +++- .../views/Form/bootstrap_3_layout.html.twig | 6 +++- .../bootstrap_4_horizontal_layout.html.twig | 14 ++++++-- .../views/Form/bootstrap_4_layout.html.twig | 6 +++- .../views/Form/form_div_layout.html.twig | 7 ++-- .../views/Form/form_table_layout.html.twig | 6 +++- .../views/Form/foundation_5_layout.html.twig | 6 +++- .../Resources/views/Form/form_help.html.php | 13 +------ .../Resources/views/Form/form_row.html.php | 3 +- .../views/Form/widget_attributes.html.php | 1 - .../Form/Tests/AbstractLayoutTest.php | 36 +++---------------- 11 files changed, 50 insertions(+), 55 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig index d6b08f76375c4..b082d9236b927 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig @@ -23,10 +23,15 @@ col-sm-2 {# Rows #} {% block form_row -%} + {%- set widget_attr = {} -%} + {%- if help is not empty -%} + {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} + {%- endif -%}
{{- form_label(form) -}}
- {{- form_widget(form) -}} + {{- form_widget(form, widget_attr) -}} + {{- form_help(form) -}} {{- form_errors(form) -}}
{##}
diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig index 990f820017f04..42ecfa543b43e 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig @@ -89,9 +89,13 @@ {# Rows #} {% block form_row -%} + {%- set widget_attr = {} -%} + {%- if help is not empty -%} + {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} + {%- endif -%}
{{- form_label(form) -}} - {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} + {{- form_widget(form, widget_attr) -}} {{- form_help(form) -}} {{- form_errors(form) -}}
diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig index e23e6f8a29d09..ca40981ec8524 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig @@ -24,21 +24,31 @@ col-sm-2 {%- if expanded is defined and expanded -%} {{ block('fieldset_form_row') }} {%- else -%} + {%- set widget_attr = {} -%} + {%- if help is not empty -%} + {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} + {%- endif -%}
{{- form_label(form) -}}
- {{- form_widget(form) -}} + {{- form_widget(form, widget_attr) -}} + {{- form_help(form) -}}
{##}
{%- endif -%} {%- endblock form_row %} {% block fieldset_form_row -%} + {%- set widget_attr = {} -%} + {%- if help is not empty -%} + {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} + {%- endif -%}
{{- form_label(form) -}}
- {{- form_widget(form) -}} + {{- form_widget(form, widget_attr) -}} + {{- form_help(form) -}}
{##}
diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 093bbfdc4ad0c..448fb2cdcb645 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -257,9 +257,13 @@ {%- if compound is defined and compound -%} {%- set element = 'fieldset' -%} {%- endif -%} + {%- set widget_attr = {} -%} + {%- if help is not empty -%} + {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} + {%- endif -%} <{{ element|default('div') }} class="form-group"> {{- form_label(form) -}} - {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} + {{- form_widget(form, widget_attr) -}} {{- form_help(form) -}} {%- endblock form_row %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 3b3b47c249dc0..721ebb5fbadd7 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -306,10 +306,14 @@ {%- endblock repeated_row -%} {%- block form_row -%} + {%- set widget_attr = {} -%} + {%- if help is not empty -%} + {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} + {%- endif -%}
{{- form_label(form) -}} {{- form_errors(form) -}} - {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} + {{- form_widget(form, widget_attr) -}} {{- form_help(form) -}}
{%- endblock form_row -%} @@ -397,7 +401,6 @@ id="{{ id }}" name="{{ full_name }}" {%- if disabled %} disabled="disabled"{% endif -%} {%- if required %} required="required"{% endif -%} - {%- if helpBlockDisplayed is defined and helpBlockDisplayed is same as(true) and help is not empty %} aria-describedby="{{ id }}_help"{% endif -%} {{ block('attributes') }} {%- endblock widget_attributes -%} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig index 75f6715a91f0c..10eaf566d097d 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_table_layout.html.twig @@ -1,13 +1,17 @@ {% use "form_div_layout.html.twig" %} {%- block form_row -%} + {%- set widget_attr = {} -%} + {%- if help is not empty -%} + {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} + {%- endif -%} {{- form_label(form) -}} {{- form_errors(form) -}} - {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} + {{- form_widget(form, widget_attr) -}} {{- form_help(form) -}} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig index 6942ed2e23d49..07644899c8f7c 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig @@ -267,10 +267,14 @@ {# Rows #} {% block form_row -%} + {%- set widget_attr = {} -%} + {%- if help is not empty -%} + {%- set widget_attr = {attr: {'aria-describedby': id ~"_help"}} -%} + {%- endif -%}
{{ form_label(form) }} - {{- form_widget(form, { 'helpBlockDisplayed': true }) -}} + {{- form_widget(form, widget_attr) -}} {{ form_help(form) }} {{ form_errors(form) }}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php index 77f50d8453b40..6113c00dea9b1 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_help.html.php @@ -1,14 +1,3 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -if (!empty($help)): ?> +

escape(false !== $translation_domain ? $view['translator']->trans($help, array(), $translation_domain) : $help); ?>

diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php index caa9206cc4d72..32ce794afa5b6 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php @@ -1,6 +1,7 @@
+ ['aria-describedby'=> $id.'_help']]; ?> label($form); ?> errors($form); ?> - widget($form, array('helpBlockDisplayed' => true)); ?> + widget($form, $widgetAtt); ?> help($form); ?>
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php index 1a0de4d422af8..a2c87e3f12eb1 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php @@ -1,4 +1,3 @@ id="escape($id); ?>" name="escape($full_name); ?>" disabled="disabled" required="required" - aria-describedby="escape($id); ?>_help" block($form, 'attributes') : ''; ?> \ No newline at end of file diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index 2980a77da6bfd..2a08f7ae41515 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -442,51 +442,23 @@ public function testHelpSetLinkFromWidget() 'help' => 'Help text test!', )); $view = $form->createView(); - $html = $this->renderWidget($view, array('helpBlockDisplayed' => true)); + $html = $this->renderRow($view); $this->assertMatchesXpath($html, -'/input +'//input [@aria-describedby="name_help"] ' ); } - public function testHelpSetNotLinkedFromWidget() - { - $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', null, array( - 'help' => 'Help text test!', - )); - $view = $form->createView(); - $html = $this->renderWidget($view); - - $this->assertMatchesXpath($html, - '/input - [not(@aria-describedby)] -' - ); - } - - public function testHelpNotSetLinkFromWidget() - { - $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); - $view = $form->createView(); - $html = $this->renderWidget($view, array('helpBlockDisplayed' => true)); - - $this->assertMatchesXpath($html, - '/input - [not(@aria-describedby)] -' - ); - } - public function testHelpNotSetNotLinkedFromWidget() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); $view = $form->createView(); - $html = $this->renderWidget($view); + $html = $this->renderRow($view); $this->assertMatchesXpath($html, - '/input +'//input [not(@aria-describedby)] ' ); From f1d13a860ceaa686d43d3f5c73ee323709fbd2d3 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Tue, 20 Mar 2018 14:23:13 +0100 Subject: [PATCH 26/35] Fix Fabpot.io --- .../FrameworkBundle/Resources/views/Form/form_row.html.php | 2 +- .../Component/Form/Tests/AbstractBootstrap4LayoutTest.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php index 32ce794afa5b6..8491460398e17 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php @@ -1,5 +1,5 @@
- ['aria-describedby'=> $id.'_help']]; ?> + array('aria-describedby' => $id.'_help')); ?> label($form); ?> errors($form); ?> widget($form, $widgetAtt); ?> diff --git a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php index cf729176d5c1b..f7784927941ee 100644 --- a/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractBootstrap4LayoutTest.php @@ -195,7 +195,7 @@ public function testErrors() public function testErrorWithNoLabel() { - $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', array('label'=>false)); + $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType', array('label' => false)); $form->addError(new FormError('[trans]Error 1[/trans]')); $view = $form->createView(); $html = $this->renderLabel($view); From 075fcfd07cae26a0a6aa1e4447296ad7a515eb5c Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Tue, 20 Mar 2018 17:57:01 +0100 Subject: [PATCH 27/35] [FrameworkBundle] Add widgetAtt to formTable/form_row --- .../Resources/views/FormTable/form_row.html.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php index 8948084cd68fb..4a60c9081d167 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php @@ -1,10 +1,11 @@ + array('aria-describedby' => $id.'_help')); ?> label($form); ?> errors($form); ?> - widget($form); ?> + widget($form, $widgetAtt); ?> help($form); ?> From d84be700b2f438502c8d3cd508545bf106a43ebc Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 21 Mar 2018 18:33:50 +0100 Subject: [PATCH 28/35] Update composer files --- src/Symfony/Bridge/Twig/composer.json | 4 ++-- src/Symfony/Bundle/FrameworkBundle/composer.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Bridge/Twig/composer.json b/src/Symfony/Bridge/Twig/composer.json index 402c4ed9a8020..14c80b21a33e2 100644 --- a/src/Symfony/Bridge/Twig/composer.json +++ b/src/Symfony/Bridge/Twig/composer.json @@ -23,7 +23,7 @@ "symfony/asset": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", "symfony/finder": "~3.4|~4.0", - "symfony/form": "^3.4.7|^4.0.7", + "symfony/form": "^4.1", "symfony/http-foundation": "~3.4|~4.0", "symfony/http-kernel": "~3.4|~4.0", "symfony/polyfill-intl-icu": "~1.0", @@ -41,7 +41,7 @@ "symfony/workflow": "~3.4|~4.0" }, "conflict": { - "symfony/form": "<3.4.7|<4.0.7,>=4.0", + "symfony/form": "<4.1", "symfony/console": "<3.4" }, "suggest": { diff --git a/src/Symfony/Bundle/FrameworkBundle/composer.json b/src/Symfony/Bundle/FrameworkBundle/composer.json index 1272f8d07c260..f91fb24f9691a 100644 --- a/src/Symfony/Bundle/FrameworkBundle/composer.json +++ b/src/Symfony/Bundle/FrameworkBundle/composer.json @@ -39,7 +39,7 @@ "symfony/dom-crawler": "~3.4|~4.0", "symfony/polyfill-intl-icu": "~1.0", "symfony/security": "~3.4|~4.0", - "symfony/form": "~3.4|~4.0", + "symfony/form": "^4.1", "symfony/expression-language": "~3.4|~4.0", "symfony/process": "~3.4|~4.0", "symfony/security-core": "~3.4|~4.0", @@ -65,7 +65,7 @@ "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", "symfony/asset": "<3.4", "symfony/console": "<3.4", - "symfony/form": "<3.4", + "symfony/form": "<4.1", "symfony/property-info": "<3.4", "symfony/serializer": "<4.1", "symfony/stopwatch": "<3.4", From 437b77e81a6e15d5d4a28e38980cca4778a240fd Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 21 Mar 2018 19:15:43 +0100 Subject: [PATCH 29/35] Skip renderHelp test as skipped if not override --- src/Symfony/Component/Form/Tests/AbstractLayoutTest.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index 2a08f7ae41515..f4ba56cbba48e 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -113,7 +113,10 @@ abstract protected function renderForm(FormView $view, array $vars = array()); abstract protected function renderLabel(FormView $view, $label = null, array $vars = array()); - abstract protected function renderHelp(FormView $view); + protected function renderHelp(FormView $view) + { + $this->markTestSkipped(sprintf('Legacy %s::renderHelp() is not implemented.', get_class($this))); + } abstract protected function renderErrors(FormView $view); From 32bf1f68ad3f9d3b687dd9dacca5e9829619f565 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 21 Mar 2018 21:19:13 +0100 Subject: [PATCH 30/35] Test the renderHelp method in all Tests about help to skip them if necessary. --- .../Form/Tests/AbstractLayoutTest.php | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index f4ba56cbba48e..ff9bee21e580b 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Form\Tests; +use PHPUnit\Framework\SkippedTestError; use Symfony\Component\Form\FormError; use Symfony\Component\Form\FormView; use Symfony\Component\Form\Extension\Csrf\CsrfExtension; @@ -115,7 +116,7 @@ abstract protected function renderLabel(FormView $view, $label = null, array $va protected function renderHelp(FormView $view) { - $this->markTestSkipped(sprintf('Legacy %s::renderHelp() is not implemented.', get_class($this))); + $this->markTestSkipped(sprintf('%s::renderHelp() is not implemented.', get_class($this))); } abstract protected function renderErrors(FormView $view); @@ -445,6 +446,15 @@ public function testHelpSetLinkFromWidget() 'help' => 'Help text test!', )); $view = $form->createView(); + + // Test if renderHelp method is implemented + try { + $this->renderHelp($view); + } + catch (SkippedTestError $error) { + return $error; + } + $html = $this->renderRow($view); $this->assertMatchesXpath($html, @@ -458,6 +468,15 @@ public function testHelpNotSetNotLinkedFromWidget() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); $view = $form->createView(); + + // Test if renderHelp method is implemented + try { + $this->renderHelp($view); + } + catch (SkippedTestError $error) { + return $error; + } + $html = $this->renderRow($view); $this->assertMatchesXpath($html, From 8b937ff43fb7fd8e16aa7062890e7958e18686c6 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Wed, 21 Mar 2018 21:42:38 +0100 Subject: [PATCH 31/35] Try without try/catch --- .../Form/Tests/AbstractLayoutTest.php | 24 +++++-------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index ff9bee21e580b..93a9f25d357b0 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -446,17 +446,11 @@ public function testHelpSetLinkFromWidget() 'help' => 'Help text test!', )); $view = $form->createView(); - - // Test if renderHelp method is implemented - try { - $this->renderHelp($view); - } - catch (SkippedTestError $error) { - return $error; - } - $html = $this->renderRow($view); + // Test if renderHelp method is implemented (throw SkippedTestError if not) + $this->renderHelp($view); + $this->assertMatchesXpath($html, '//input [@aria-describedby="name_help"] @@ -468,17 +462,11 @@ public function testHelpNotSetNotLinkedFromWidget() { $form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\TextType'); $view = $form->createView(); - - // Test if renderHelp method is implemented - try { - $this->renderHelp($view); - } - catch (SkippedTestError $error) { - return $error; - } - $html = $this->renderRow($view); + // Test if renderHelp method is implemented (throw SkippedTestError if not) + $this->renderHelp($view); + $this->assertMatchesXpath($html, '//input [not(@aria-describedby)] From c74e0dc2da4a013ace83eec28163dfe5a1861001 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Thu, 22 Mar 2018 18:23:35 +0100 Subject: [PATCH 32/35] Use spaceless balises in Twig templates --- .../Twig/Resources/views/Form/bootstrap_3_layout.html.twig | 4 ++-- .../Twig/Resources/views/Form/bootstrap_4_layout.html.twig | 4 ++-- .../Twig/Resources/views/Form/form_div_layout.html.twig | 4 ++-- .../Twig/Resources/views/Form/foundation_5_layout.html.twig | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig index 42ecfa543b43e..3d3627853c5e0 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig @@ -158,7 +158,7 @@ {# Help #} {% block form_help -%} - {% if help is not empty %} + {%- if help is not empty -%} {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} - {% endif %} + {%- endif -%} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 448fb2cdcb645..51db619446458 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -285,7 +285,7 @@ {# Help #} {% block form_help -%} - {% if help is not empty %} + {%- if help is not empty -%} {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} - {% endif %} + {%- endif -%} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 721ebb5fbadd7..739ccb2b846bc 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -290,9 +290,9 @@ {# Help #} {% block form_help -%} - {% if help is not empty %} + {%- if help is not empty -%}

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

- {% endif %} + {%- endif -%} {%- endblock form_help %} {# Rows #} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig index 07644899c8f7c..9e1261e3adafb 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/foundation_5_layout.html.twig @@ -273,10 +273,10 @@ {%- endif -%}
- {{ form_label(form) }} + {{- form_label(form) -}} {{- form_widget(form, widget_attr) -}} - {{ form_help(form) }} - {{ form_errors(form) }} + {{- form_help(form) -}} + {{- form_errors(form) -}}
{%- endblock form_row %} From d723756331caffe12526a2edbcadca74a0e94a46 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Fri, 23 Mar 2018 10:14:41 +0100 Subject: [PATCH 33/35] Fix some mistakes --- .../bootstrap_3_horizontal_layout.html.twig | 20 ++++++++--------- .../views/Form/bootstrap_3_layout.html.twig | 8 ++++++- .../bootstrap_4_horizontal_layout.html.twig | 22 +++++++++---------- .../views/Form/bootstrap_4_layout.html.twig | 8 ++++++- .../views/Form/form_div_layout.html.twig | 8 ++++++- .../Resources/views/Form/form_row.html.php | 4 ++-- .../views/Form/widget_attributes.html.php | 6 ++--- .../views/FormTable/form_row.html.php | 4 ++-- .../Form/Extension/Core/Type/FormType.php | 2 +- 9 files changed, 50 insertions(+), 32 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig index b082d9236b927..332d97e4a7c0e 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig @@ -34,24 +34,24 @@ col-sm-2 {{- form_help(form) -}} {{- form_errors(form) -}}
-{##}
+
{%- endblock form_row %} {% block submit_row -%} -
{#--#} -
{#--#} +
+
{{- form_widget(form) -}} -
{#--#} +
{%- endblock submit_row %} {% block reset_row -%} -
{#--#} -
{#--#} +
+
{{- form_widget(form) -}} -
{#--#} +
{%- endblock reset_row %} @@ -60,11 +60,11 @@ col-sm-10 {%- endblock form_group_class %} {% block checkbox_row -%} -
{#--#} -
{#--#} +
+
{{- form_widget(form) -}} {{- form_errors(form) -}} -
{#--#} +
{%- endblock checkbox_row %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig index 3d3627853c5e0..f8d230d5fa223 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_layout.html.twig @@ -159,6 +159,12 @@ {% block form_help -%} {%- if help is not empty -%} - {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} + + {%- if translation_domain is same as(false) -%} + {{- help -}} + {%- else -%} + {{- help|trans({}, translation_domain) -}} + {%- endif -%} + {%- endif -%} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig index ca40981ec8524..1ae9e9fa25e67 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig @@ -34,7 +34,7 @@ col-sm-2 {{- form_widget(form, widget_attr) -}} {{- form_help(form) -}} - {##} + {%- endif -%} {%- endblock form_row %} @@ -51,24 +51,24 @@ col-sm-2 {{- form_help(form) -}} -{##} + {%- endblock fieldset_form_row %} {% block submit_row -%} -
{#--#} -
{#--#} +
+
{{- form_widget(form) -}} -
{#--#} +
{%- endblock submit_row %} {% block reset_row -%} -
{#--#} -
{#--#} +
+
{{- form_widget(form) -}} -
{#--#} +
{%- endblock reset_row %} @@ -77,11 +77,11 @@ col-sm-10 {%- endblock form_group_class %} {% block checkbox_row -%} -
{#--#} -
{#--#} +
+
{{- form_widget(form) -}} {{- form_errors(form) -}} -
{#--#} +
{%- endblock checkbox_row %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig index 51db619446458..b8aa6b8cd189e 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_layout.html.twig @@ -286,6 +286,12 @@ {% block form_help -%} {%- if help is not empty -%} - {{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }} + + {%- if translation_domain is same as(false) -%} + {{- help -}} + {%- else -%} + {{- help|trans({}, translation_domain) -}} + {%- endif -%} + {%- endif -%} {%- endblock form_help %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index 739ccb2b846bc..11d5783dd59f5 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -291,7 +291,13 @@ {% block form_help -%} {%- if help is not empty -%} -

{{ translation_domain is same as(false) ? help : help|trans({}, translation_domain) }}

+

+ {%- if translation_domain is same as(false) -%} + {{- help -}} + {%- else -%} + {{- help|trans({}, translation_domain) -}} + {%- endif -%} +

{%- endif -%} {%- endblock form_help %} diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php index 8491460398e17..ba81f45b5d576 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_row.html.php @@ -1,7 +1,7 @@
- array('aria-describedby' => $id.'_help')); ?> + array('aria-describedby' => $id.'_help')); ?> label($form); ?> errors($form); ?> - widget($form, $widgetAtt); ?> + widget($form, $widgetAttr); ?> help($form); ?>
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php index a2c87e3f12eb1..1626a9cc63ff5 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/widget_attributes.html.php @@ -1,3 +1,3 @@ -id="escape($id); ?>" name="escape($full_name); ?>" disabled="disabled" - required="required" -block($form, 'attributes') : ''; ?> \ No newline at end of file +id="escape($id) ?>" name="escape($full_name) ?>" disabled="disabled" + required="required" +block($form, 'attributes') : '' ?> \ No newline at end of file diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php b/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php index 4a60c9081d167..71d606c3d4b42 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/views/FormTable/form_row.html.php @@ -1,11 +1,11 @@ - array('aria-describedby' => $id.'_help')); ?> + array('aria-describedby' => $id.'_help')); ?> label($form); ?> errors($form); ?> - widget($form, $widgetAtt); ?> + widget($form, $widgetAttr); ?> help($form); ?> diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php index 755e75f891043..3f671d8216e38 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php @@ -184,7 +184,7 @@ public function configureOptions(OptionsResolver $resolver) $resolver->setAllowedTypes('label_attr', 'array'); $resolver->setAllowedTypes('upload_max_size_message', array('callable')); - $resolver->setAllowedTypes('help', array('string', 'NULL')); + $resolver->setAllowedTypes('help', array('string', 'null')); } /** From 859ee037857b61f2797a63eee6a181b4e3cef025 Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Fri, 23 Mar 2018 11:01:03 +0100 Subject: [PATCH 34/35] Revert: remove comment line from twig templates --- .../bootstrap_3_horizontal_layout.html.twig | 20 ++++++++--------- .../bootstrap_4_horizontal_layout.html.twig | 22 +++++++++---------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig index 332d97e4a7c0e..b082d9236b927 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_3_horizontal_layout.html.twig @@ -34,24 +34,24 @@ col-sm-2 {{- form_help(form) -}} {{- form_errors(form) -}} - +{##} {%- endblock form_row %} {% block submit_row -%} -
-
+
{#--#} +
{#--#}
{{- form_widget(form) -}} -
+
{#--#}
{%- endblock submit_row %} {% block reset_row -%} -
-
+
{#--#} +
{#--#}
{{- form_widget(form) -}} -
+
{#--#}
{%- endblock reset_row %} @@ -60,11 +60,11 @@ col-sm-10 {%- endblock form_group_class %} {% block checkbox_row -%} -
-
+
{#--#} +
{#--#}
{{- form_widget(form) -}} {{- form_errors(form) -}} -
+
{#--#}
{%- endblock checkbox_row %} diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig index 1ae9e9fa25e67..ca40981ec8524 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/bootstrap_4_horizontal_layout.html.twig @@ -34,7 +34,7 @@ col-sm-2 {{- form_widget(form, widget_attr) -}} {{- form_help(form) -}} - + {##} {%- endif -%} {%- endblock form_row %} @@ -51,24 +51,24 @@ col-sm-2 {{- form_help(form) -}} - +{##} {%- endblock fieldset_form_row %} {% block submit_row -%} -
-
+
{#--#} +
{#--#}
{{- form_widget(form) -}} -
+
{#--#}
{%- endblock submit_row %} {% block reset_row -%} -
-
+
{#--#} +
{#--#}
{{- form_widget(form) -}} -
+
{#--#}
{%- endblock reset_row %} @@ -77,11 +77,11 @@ col-sm-10 {%- endblock form_group_class %} {% block checkbox_row -%} -
-
+
{#--#} +
{#--#}
{{- form_widget(form) -}} {{- form_errors(form) -}} -
+
{#--#}
{%- endblock checkbox_row %} From 585ca28b8aee956ab3c6f6fa78ffed6fb1682d1a Mon Sep 17 00:00:00 2001 From: Mathieu Piot Date: Fri, 23 Mar 2018 11:03:02 +0100 Subject: [PATCH 35/35] Add return type hint --- .../Bundle/FrameworkBundle/Templating/Helper/FormHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php index 5428aa0e79cef..378be904ef78c 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php +++ b/src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php @@ -176,7 +176,7 @@ public function label(FormView $view, $label = null, array $variables = array()) * * @return string The HTML markup */ - public function help(FormView $view) + public function help(FormView $view): string { return $this->renderer->searchAndRenderBlock($view, 'help'); }