Skip to content

Commit 8fe5054

Browse files
committed
Merge branch '2.7' into 2.8
* 2.7: Fixed a missing reference added Sam in the core team Propose identical comparison fix some security config examples [Form] Compound option explained
2 parents b9eca45 + 28377f7 commit 8fe5054

File tree

5 files changed

+44
-14
lines changed

5 files changed

+44
-14
lines changed

best_practices/security.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ to the ``Post`` entity that checks if a given user is its author::
177177
*/
178178
public function isAuthor(User $user = null)
179179
{
180-
return $user && $user->getEmail() == $this->getAuthorEmail();
180+
return $user && $user->getEmail() === $this->getAuthorEmail();
181181
}
182182
}
183183

contributing/code/core_team.rst

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,9 @@ Active Core Members
8484
Form_, Serializer_, DependencyInjection_, and HttpKernel_ components;
8585

8686
* **Tobias Nyholm** (`Nyholm`) manages the official and contrib recipes
87-
repositories.
87+
repositories;
88+
89+
* **Samuel Rozé** (`sroze`_) can merge into Messenger_ component.
8890

8991
* **Deciders** (``@symfony/deciders`` on GitHub):
9092

@@ -192,6 +194,7 @@ discretion of the **Project Leader**.
192194
.. _Intl: https://github.com/symfony/intl
193195
.. _LDAP: https://github.com/symfony/ldap
194196
.. _Locale: https://github.com/symfony/locale
197+
.. _Messenger: https://github.com/symfony/messenger
195198
.. _MonologBridge: https://github.com/symfony/monolog-bridge
196199
.. _OptionsResolver: https://github.com/symfony/options-resolver
197200
.. _Process: https://github.com/symfony/process
@@ -227,3 +230,4 @@ discretion of the **Project Leader**.
227230
.. _`chalasr`: https://github.com/chalasr/
228231
.. _`ogizanagi`: https://github.com/ogizanagi/
229232
.. _`Nyholm`: https://github.com/Nyholm
233+
.. _`sroze`: https://github.com/sroze

contributing/community/review-comments.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ Final Words
166166
-----------
167167

168168
Don't feel bad if you "failed" to follow these tips. As long as your
169-
intentions were good and you didn't really offended or insult anyone;
170-
you can explain you misunderstood, you didn't meant to marginalize or
169+
intentions were good and you didn't really offend or insult anyone;
170+
you can explain you misunderstood, you didn't mean to marginalize or
171171
simply failed.
172172

173173
But don't say it "just because", if your apology is not really meant

reference/forms/types/options/compound.rst.inc

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,22 @@ compound
33

44
**type**: ``boolean`` **default**: ``true``
55

6-
This option specifies if a form is compound. This is independent of whether
7-
the form actually has children. A form can be compound but not have any
8-
children at all (e.g. an empty collection form).
6+
If ``true`` this option creates the form as "compound", meaning that it
7+
can contain children and be a parent of other forms.
8+
9+
Most of the time you won't need to override this option.
10+
You might want to control for it when creating a custom form type
11+
with advanced rendering logic.
12+
13+
In a view a compound form is rendered as a ``<div>`` container or
14+
a ``<form>`` element (the whole form is obviously a compound form).
15+
16+
Non-compound forms are always leaves in a form tree, they cannot have children.
17+
18+
A non-compound form is rendered as one of the html form elements: ``<input>``
19+
(``TextType``, ``FileType``, ``HiddenType``), ``<textarea>`` (``TextareaType``)
20+
or ``<select>`` (``ChoiceType``).
21+
22+
An interesting case is the ``ChoiceType``. With ``expanded=false`` it is a non-compound form
23+
and is rendered as a ``<select>`` tag. With ``expanded=true`` the ``ChoiceType`` becomes a
24+
compound form and is rendered as a set of radios or checkboxes.

security/access_control.rst

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,12 @@ pattern so that it is only accessible by requests from the local server itself:
192192
193193
<config>
194194
<!-- ... -->
195+
195196
<!-- the 'ips' option supports IP addresses and subnet masks -->
196-
<rule path="^/internal"
197-
role="IS_AUTHENTICATED_ANONYMOUSLY"
198-
ips="127.0.0.1, ::1, 192.168.0.1/24"
199-
/>
197+
<rule path="^/internal" role="IS_AUTHENTICATED_ANONYMOUSLY">
198+
<ip>127.0.0.1</ip>
199+
<ip>::1</ip>
200+
</rule>
200201
201202
<rule path="^/internal" role="ROLE_NO_ACCESS" />
202203
</config>
@@ -212,7 +213,7 @@ pattern so that it is only accessible by requests from the local server itself:
212213
'path' => '^/internal',
213214
'role' => 'IS_AUTHENTICATED_ANONYMOUSLY',
214215
// the 'ips' option supports IP addresses and subnet masks
215-
'ips' => '127.0.0.1, ::1, 192.168.0.1/24',
216+
'ips' => array('127.0.0.1', '::1'),
216217
),
217218
array(
218219
'path' => '^/internal',
@@ -265,10 +266,19 @@ key:
265266
266267
.. code-block:: xml
267268
268-
<access-control>
269+
<!-- app/config/security.xml -->
270+
<?xml version="1.0" encoding="UTF-8"?>
271+
<srv:container xmlns="http://symfony.com/schema/dic/security"
272+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
273+
xmlns:srv="http://symfony.com/schema/dic/services"
274+
xsi:schemaLocation="http://symfony.com/schema/dic/services
275+
http://symfony.com/schema/dic/services/services-1.0.xsd">
276+
277+
<config>
269278
<rule path="^/_internal/secure"
270279
allow-if="'127.0.0.1' == request.getClientIp() or has_role('ROLE_ADMIN')" />
271-
</access-control>
280+
</config>
281+
</srv:container>
272282
273283
.. code-block:: php
274284

0 commit comments

Comments
 (0)