Commit Graph

14844 Commits

Author SHA1 Message Date
Fabien Potencier
d75a35ef12 Merge branch '2.2' into 2.3
* 2.2:
  bumped Symfony version to 2.2.7
  updated VERSION for 2.2.6
  update CONTRIBUTORS for 2.2.6
  updated CHANGELOG for 2.2.6
  clearToken exception is thrown at wrong place.

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-08-27 10:54:20 +02:00
Fabien Potencier
d73500b6eb bumped Symfony version to 2.2.7 2013-08-26 22:59:17 +02:00
Fabien Potencier
4059720232 updated VERSION for 2.2.6 2013-08-26 21:27:24 +02:00
Fabien Potencier
8b51765058 update CONTRIBUTORS for 2.2.6 2013-08-26 21:27:07 +02:00
Fabien Potencier
cb883a6975 updated CHANGELOG for 2.2.6 2013-08-26 21:26:38 +02:00
Fabien Potencier
c0f56f8353 merged branch xkobal/master (PR #8830)
This PR was submitted for the master branch but it was merged into the 2.2 branch instead (closes #8830).

Discussion
----------

clearToken exception is thrown at wrong place.

The PR https://github.com/symfony/symfony/pull/8528 has added a problem when logger is enabled.

The log message for clearToken exception throw actually a fatal error because $failed doesn't exist in clearToken method. I have moved the log message to the handle method.

Commits
-------

701c25b clearToken exception is thrown at wrong place.
2013-08-26 16:47:55 +02:00
Xavier HAUSHERR
f936b41a90 clearToken exception is thrown at wrong place. 2013-08-26 16:47:55 +02:00
Fabien Potencier
4ec3cd03db Merge branch '2.2' into 2.3
* 2.2:
  fix typo in test skipped message
  [Form] Fixed Form::all() signature for PHP 5.3.3
  [Translation] Grammar fix
  [Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used

Conflicts:
	src/Symfony/Component/Form/Util/VirtualFormAwareIterator.php
2013-08-26 07:49:51 +02:00
Fabien Potencier
c5514578d5 merged branch bschussek/dereference-all-2.3 (PR #8852)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Form] Dereferenced Form::&all() since it is not supported for PHP <= 5.3.3

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

see 00bc2708bc and #8851

Commits
-------

fd09484 [Form] Fixed Form::all() signature for PHP 5.3.3
2013-08-26 07:49:08 +02:00
Fabien Potencier
be9f00af3d merged branch bschussek/dereference-all-2.2 (PR #8851)
This PR was merged into the 2.2 branch.

Discussion
----------

[2.2][Form] Dereferenced Form::&all() since it is not supported for PHP <= 5.3.3

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

see 00bc2708bc

Commits
-------

ea480bd [Form] Fixed Form::all() signature for PHP 5.3.3
2013-08-26 07:48:24 +02:00
Fabien Potencier
4585cf6d9d merged branch Inori/2.1 (PR #8855)
This PR was submitted for the 2.1 branch but it was merged into the 2.2 branch instead (closes #8855).

Discussion
----------

[HttpFoundation] [Tests] fix typo in Memcached tests skipped message

| Q             | A
| ------------- | ---
| Typo fix | yes
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT
| Fixed tickets | -
| Doc PR        | -

Commits
-------

83e4fcf fix typo in test skipped message
2013-08-25 20:21:56 +02:00
Roman Marintšenko
a1d7437b75 fix typo in test skipped message 2013-08-25 20:21:55 +02:00
Bernhard Schussek
fd09484a61 [Form] Fixed Form::all() signature for PHP 5.3.3 2013-08-25 14:07:23 +02:00
Bernhard Schussek
ea480bda3b [Form] Fixed Form::all() signature for PHP 5.3.3 2013-08-25 13:59:08 +02:00
Fabien Potencier
e71608339f merged branch bschussek/issue8789-regression (PR #8837)
This PR was merged into the 2.2 branch.

Discussion
----------

[Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

There was one regression introduced by #8789, namely when exactly one message is passed to `transChoice()`. Before, the following code was perfectly valid:

```php
$translator = new IdentityTranslator(new MessageSelector());

echo $translator->transChoice('There are two apples', 2, array('%count%' => 2));
```

This didn't fail, because internally, the locale `null` was passed to `MessageSelector`, which always returned the index `0` in that case.

Now, the user's locale is passed, and if the selector returns anything but `0`, an exception is thrown.

I removed this exception for the case that exactly one standard message (without explicit interval) is passed. In that case, this message is returned (just like from `trans()`). If the message key contains more than one message, or if the message has explicit intervals, the exception will still be thrown. See the tests for clarification.

A use case for why no exception should be thrown is validation:

```php
/**
 * @Assert\Length(min=2, minMessage="Please enter at least two characters")
 */
```

Commits
-------

2b3dcb9 [Translation] Grammar fix
0951b8d [Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used
2013-08-24 17:28:40 +02:00
Fabien Potencier
fcb51c97dd merged branch bschussek/fix-locale-2.3 (PR #8847)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3][Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Same as #8846 for 2.3+.

Commits
-------

e1f40f2 [Locale] Fixed: Locale::setDefault() throws no exception when "en" is passed
2013-08-24 17:27:17 +02:00
Fabien Potencier
b8381cdd62 Merge branch '2.2' into 2.3
* 2.2:
  [Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed
  [Yaml] fixed embedded folded string parsing
  [Validator] fixed Boolean handling in XML constraint mappings (closes #5603)

Conflicts:
	src/Symfony/Component/Locale/Stub/StubLocale.php
	src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php
2013-08-24 17:26:22 +02:00
Fabien Potencier
ebf3ceca56 merged branch bschussek/fix-locale-2.2 (PR #8846)
This PR was merged into the 2.2 branch.

Discussion
----------

[2.2][Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This is necessary to fix `IntlTestHelper::requireIntl()` when ICU is not installed and the Icu component 1.0.0 is used instead. In that case, `IntlTestHelper::requireIntl()` calls `\Locale::setDefault('en')` and fails. Consequently, the Form component test cases are partially red when running without ICU installed.

This PR fixes that.

Commits
-------

d0faf55 [Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed
2013-08-24 17:25:11 +02:00
Bernhard Schussek
e1f40f28c5 [Locale] Fixed: Locale::setDefault() throws no exception when "en" is passed
Conflicts:
	src/Symfony/Component/Locale/Stub/StubLocale.php
	src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php
2013-08-24 16:32:55 +02:00
Bernhard Schussek
d0faf5531d [Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed 2013-08-24 16:25:01 +02:00
Bernhard Schussek
2b3dcb9171 [Translation] Grammar fix 2013-08-24 14:29:44 +02:00
Fabien Potencier
b2cbc67289 merged branch jfsimon/issue-8472 (PR #8841)
This PR was merged into the 2.2 branch.

Discussion
----------

[Yaml] fixed embedded folded string parsing

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8779

Commits
-------

566d79c [Yaml] fixed embedded folded string parsing
2013-08-24 08:58:46 +02:00
Jean-François Simon
566d79c2f8 [Yaml] fixed embedded folded string parsing 2013-08-24 08:36:00 +02:00
Fabien Potencier
c3301dde87 merged branch fabpot/validator-xml-loader (PR #8831)
This PR was merged into the 2.2 branch.

Discussion
----------

[Validator] fixed Boolean handling in XML constraint mappings

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #5603
| License       | MIT
| Doc PR        | n/a

ping @bschussek

Commits
-------

33b0a17 [Validator] fixed Boolean handling in XML constraint mappings (closes #5603)
2013-08-24 08:02:05 +02:00
Fabien Potencier
33b0a177b5 [Validator] fixed Boolean handling in XML constraint mappings (closes #5603) 2013-08-23 17:55:54 +02:00
Fabien Potencier
6610a7c80e Merge branch '2.2' into 2.3
* 2.2:
  fixed request format when forwarding a request
  [HttpKernel] added a comment to warn about possible inconsistencies
  added a functional test for locale handling in sub-requests
  Fixed issue #6932 - Inconsistent locale handling in subrequests
  fixed locale of sub-requests when explicitely set by the developer (refs #8821)

Conflicts:
	src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
2013-08-23 17:31:47 +02:00
Fabien Potencier
2165d5dffb merged branch fabpot/format-forward (PR #8829)
This PR was merged into the 2.2 branch.

Discussion
----------

fixed request format when forwarding a request

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6932
| License       | MIT
| Doc PR        | n/a

When calling forward() in a controller, the format is not the same as for the master request.

Commits
-------

7e87eb1 fixed request format when forwarding a request
2013-08-23 17:30:05 +02:00
Fabien Potencier
dac6e3dfc2 merged branch fabpot/fragment-locale (PR #8822)
This PR was merged into the 2.2 branch.

Discussion
----------

fixed locale management in sub-requests

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #6932, #5532, #8604
| License       | MIT
| Doc PR        | n/a

Same fix as #8821 but for `_locale`, and a rebase of #8604.

Commits
-------

7117328 [HttpKernel] added a comment to warn about possible inconsistencies
c4636e1 added a functional test for locale handling in sub-requests
05fdb12 Fixed issue #6932 - Inconsistent locale handling in subrequests
b3c3159 fixed locale of sub-requests when explicitely set by the developer (refs #8821)
2013-08-23 17:29:43 +02:00
Bernhard Schussek
0951b8de16 [Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used 2013-08-23 17:24:14 +02:00
Fabien Potencier
39f59b0fe9 Merge branch '2.2' into 2.3
* 2.2:
  [Routing] fix phpdoc
  [Yaml] Fix comment containing a colon on a scalar line being parsed as a hash.
2013-08-23 17:14:07 +02:00
Fabien Potencier
6f5a163991 merged branch bschussek/form-submit-2.3 (PR #8828)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form][2.3] Fixed Form::submit() and Form::setData() to react to dynamic form modifications

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

ref #3767, #3768, #4548, #8748
cc @Burgov

This PR ensures that fields that are added during the submission process of a form are submitted as well. For example:

```php
$builder = $this->createFormBuilder()
    ->add('country', 'choice', ...)
    ->getForm();

$builder->get('country')->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
    $form = $event->getForm()->getParent();
    $country = $event->getForm()->getData();

    $form->add('province', 'choice', /* ... something with $country ... */);
});
```

Currently, the field "province" will not be submitted, because the submission loop uses `foreach`, which ignores changes in the underyling array.

Contrary to #8827 (for 2.2), this PR also allows dynamic modifications during `setData()`:

```php
$builder = $this->createFormBuilder()
    ->add('country', 'choice', ...)
    ->getForm();

$builder->get('country')->addEventListener(FormEvents::POST_SET_DATA, function (FormEvent $event) {
    $form = $event->getForm()->getParent();
    $country = $event->getData();

    $form->add('province', 'choice', /* ... something with $country ... */);
});
```

For 2.2, this fix is not possible, because it would require changing the signature `DataMapperInterface::mapDataToForms($data, array $forms)` to `DataMapperInterface::mapDataToForms($data, array &$forms)`, which would be a BC break. For 2.3, this change is not necessary (instead of an array we now pass an iterator, which is passed by reference anyway).

Additionally, this PR ensures that `setData()` is called on *every* element of a form (except those inheriting their parent data) when `setData()` is called on the root element (i.e., during initialization). Currently, when some of the intermediate nodes (e.g. embedded forms) are submitted with an empty value, `setData()` won't be called on the nodes below (i.e. the fields of the embedded form) until `get*Data()` is called on them. If `getData()` is *not* called before `createView()`, any effects of `*_DATA` event listeners attached to those fields will not be visible in the view.

Commits
-------

7a34d96 Merge branch 'form-submit-2.2' into form-submit-2.3
cd27e1f [Form] Extracted ReferencingArrayIterator out of VirtualFormAwareIterator
3cb8a80 [Form] Added a test that ensures that setData() reacts to dynamic modifications of a form's children
07d14e5 [Form] Removed exception in Button::setData(): setData() is now always called for all elements in the form tree during the initialization of the tree
b9a3770 [Form] Removed call to deprecated method
878e27c Merge branch 'form-submit-2.2' into form-submit-2.3
ccaaedf [Form] PropertyPathMapper::mapDataToForms() *always* calls setData() on every child to ensure that all *_DATA events were fired when the initialization phase is over (except for virtual forms)
19b483f [Form] Removed superfluous reset() call
5d60a4f Merge branch 'form-submit-2.2' into form-submit-2.3
00bc270 [Form] Fixed: submit() reacts to dynamic modifications of the form children
2013-08-23 17:13:57 +02:00
Fabien Potencier
599aab424a merged branch bschussek/form-submit-2.2 (PR #8827)
This PR was merged into the 2.2 branch.

Discussion
----------

[Form][2.2] Fixed Form::submit() to react to dynamic form modifications

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

ref #3767, #3768, #4548, #8748
cc @Burgov

This PR ensures that fields that are added during the submission process of a form are submitted as well. For example:

```php
$builder = $this->createFormBuilder()
    ->add('country', 'choice', ...)
    ->getForm();

$builder->get('country')->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
    $form = $event->getForm()->getParent();
    $country = $event->getForm()->getData();

    $form->add('province', 'choice', /* ... something with $country ... */);
});
```

Currently, the field "province" will not be submitted, because the submission loop uses `foreach`, which ignores changes in the underyling array.

Additionally, this PR ensures that `setData()` is called on *every* element of a form (except those inheriting their parent data) when `setData()` is called on the root element (i.e., during initialization). Currently, when some of the intermediate nodes (e.g. embedded forms) are submitted with an empty value, `setData()` won't be called on the nodes below (i.e. the fields of the embedded form) until `get*Data()` is called on them. If `getData()` is *not* called before `createView()`, any effects of `*_DATA` event listeners attached to those fields will not be visible in the view.

Commits
-------

cd27e1f [Form] Extracted ReferencingArrayIterator out of VirtualFormAwareIterator
ccaaedf [Form] PropertyPathMapper::mapDataToForms() *always* calls setData() on every child to ensure that all *_DATA events were fired when the initialization phase is over (except for virtual forms)
19b483f [Form] Removed superfluous reset() call
00bc270 [Form] Fixed: submit() reacts to dynamic modifications of the form children
2013-08-23 17:11:03 +02:00
Tobias Schultze
ee3cb88ec7 [Routing] fix phpdoc 2013-08-23 16:06:02 +02:00
Bernhard Schussek
7a34d96dcd Merge branch 'form-submit-2.2' into form-submit-2.3
Conflicts:
	src/Symfony/Component/Form/Util/VirtualFormAwareIterator.php
2013-08-23 13:18:39 +02:00
Bernhard Schussek
cd27e1facb [Form] Extracted ReferencingArrayIterator out of VirtualFormAwareIterator 2013-08-23 13:16:42 +02:00
Fabien Potencier
228ecb96d0 merged branch oscherler/yaml-comment-colon-fix (PR #8824)
This PR was squashed before being merged into the 2.2 branch (closes #8824).

Discussion
----------

[Yaml] Fix comment containing a colon on a scalar line being parsed as a hash.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

Note: I only ran the Yaml Component tests.

This PR fixes a bug in YAML parsing where a comment containing a colon followed by a space, like this:

    foo # warning: this is a scalar with a comment, not a hash

was parsed as a hash, resulting in:

    array( 'foo # warning' => 'this is a scalar with a comment, not a hash' )

instead of:

    'foo'

Commits
-------

4563f1b [Yaml] Fix comment containing a colon on a scalar line being parsed as a hash.
2013-08-22 15:12:42 +02:00
Olivier
4563f1ba20 [Yaml] Fix comment containing a colon on a scalar line being parsed as a hash. 2013-08-22 15:12:42 +02:00
Fabien Potencier
7e87eb1fdf fixed request format when forwarding a request 2013-08-22 14:43:23 +02:00
Bernhard Schussek
3cb8a804f4 [Form] Added a test that ensures that setData() reacts to dynamic modifications of a form's children 2013-08-22 14:21:53 +02:00
Bernhard Schussek
07d14e5ff2 [Form] Removed exception in Button::setData(): setData() is now always called for all elements in the
form tree during the initialization of the tree
2013-08-22 14:19:04 +02:00
Bernhard Schussek
b9a37703a6 [Form] Removed call to deprecated method 2013-08-22 14:18:47 +02:00
Bernhard Schussek
878e27cd99 Merge branch 'form-submit-2.2' into form-submit-2.3
Conflicts:
	src/Symfony/Component/Form/Extension/Core/DataMapper/PropertyPathMapper.php
2013-08-22 14:12:19 +02:00
Bernhard Schussek
ccaaedfcbb [Form] PropertyPathMapper::mapDataToForms() *always* calls setData() on every child to ensure
that all *_DATA events were fired when the initialization phase is over (except for virtual forms)
2013-08-22 14:10:15 +02:00
Bernhard Schussek
19b483f2ea [Form] Removed superfluous reset() call 2013-08-22 13:38:57 +02:00
Bernhard Schussek
5d60a4fa0a Merge branch 'form-submit-2.2' into form-submit-2.3
Conflicts:
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/Form/Tests/AbstractFormTest.php
	src/Symfony/Component/Form/Tests/CompoundFormTest.php
	src/Symfony/Component/Form/Util/VirtualFormAwareIterator.php
2013-08-22 13:28:18 +02:00
Bernhard Schussek
00bc2708bc [Form] Fixed: submit() reacts to dynamic modifications of the form children 2013-08-22 13:20:04 +02:00
Fabien Potencier
7117328bd7 [HttpKernel] added a comment to warn about possible inconsistencies 2013-08-22 09:01:15 +02:00
Fabien Potencier
c4636e1252 added a functional test for locale handling in sub-requests 2013-08-22 08:57:44 +02:00
Charles Sarrazin
05fdb12ad9 Fixed issue #6932 - Inconsistent locale handling in subrequests
The fix consists in passing the locale in the controller reference,
inside the routablefragment renderer.
2013-08-22 08:57:23 +02:00
Fabien Potencier
b3c31593c7 fixed locale of sub-requests when explicitely set by the developer (refs #8821) 2013-08-22 08:48:41 +02:00