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'); } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy