Commit Graph

11556 Commits

Author SHA1 Message Date
Roman Marintšenko
a1d7437b75 fix typo in test skipped message 2013-08-25 20:21:55 +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
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
33b0a177b5 [Validator] fixed Boolean handling in XML constraint mappings (closes #5603) 2013-08-23 17:55:54 +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
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
cd27e1facb [Form] Extracted ReferencingArrayIterator out of VirtualFormAwareIterator 2013-08-23 13:16: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
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
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
Fabien Potencier
1ad64ee7a3 merged branch fabpot/inline-fragment-format (PR #8821)
This PR was merged into the 2.2 branch.

Discussion
----------

Sets _format attribute only if it wasn't set previously by the user

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

Commits
-------

9bb7a3d fixed request format of sub-requests when explicitely set by the developer (closes #8787)
fa35597 Sets _format attribute only if it wasn't set previously by the user.
2013-08-22 08:30:26 +02:00
Fabien Potencier
8ab368d104 merged branch fabpot/exception-format (PR #8819)
This PR was merged into the 2.2 branch.

Discussion
----------

[HttpKernel] Fix request _format duplication for HttpKernel's ExceptionListener

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8777, #8778
| License       | MIT

This is a better fix for #8777.

Commits
-------

f946108 fixed the format of the request used to render an exception
2013-08-22 08:27:52 +02:00
Fabien Potencier
b72bc0b257 [Locale] fixed build-data exit code in case of an error
When passing a message to the exit() function, PHP returns 0 instead of
an error code.
2013-08-22 08:25:58 +02:00
Fabien Potencier
9bb7a3ddcb fixed request format of sub-requests when explicitely set by the developer (closes #8787) 2013-08-22 07:46:12 +02:00
David Marín
fa35597755 Sets _format attribute only if it wasn't set previously by the user.
Fixes #8787
2013-08-22 07:45:36 +02:00
sumbobyboys
6453c1a018 Exclude little words of 'ee' to 'oo' plural transformation
The plural form of 'bee' and 'fee' are not 'foo' and 'boo'. In general words smaller than 3 letters doesn't change to a 'oo' form.
2013-08-22 06:15:06 +02:00
Fabien Potencier
f946108d65 fixed the format of the request used to render an exception 2013-08-22 05:11:17 +02:00
Nikita Konstantinov
51022c30ae Fix typo in the check_path validator 2013-08-22 04:12:50 +02:00
Fabien Potencier
5f7219e2ab added a missing use statement (closes #8808) 2013-08-21 22:48:51 +02:00
Fabien Potencier
78e5f47849 merged branch tgabi333/2.2 (PR #8815)
This PR was merged into the 2.2 branch.

Discussion
----------

[Process] fix for Process:isSuccessful()

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

This is a rebase of https://github.com/symfony/symfony/pull/8801

If you call isSuccessful() on a running process you would get true because of 0 == null. I think that is not the expected behavior and that is not what phpdoc @return block said so.

Commits
-------

262879d fix for Process:isSuccessful()
2013-08-21 17:32:30 +02:00
Tóth Gábor
262879d8b5 fix for Process:isSuccessful() 2013-08-21 16:50:47 +02:00
Fabien Potencier
9c3c5d493f merged branch astina-forks/swiftmailer_handler (PR #8780)
This PR was merged into the 2.2 branch.

Discussion
----------

[MonologBridge] Allow SwiftMailerHandler to listen to kernel.terminate.event

This PR accompanies symfony/MonologBundle#51. Both are intended to fix symfony/symfony-standard#425.

MonologBundle configures SwiftMailerHandler as a Monolog handler and injects the proper transport service.

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

Commits
-------

62238b8 CS fix
c6ecd83 SwiftMailerHandler in Monolog bridge now able to react to kernel.terminate event
2013-08-21 09:57:29 +02:00
Fabien Potencier
36b5d19d9d merged branch romainneutron/properties-reset (PR #8806)
This PR was merged into the 2.2 branch.

Discussion
----------

[2.2][Process] Use a consistent way to reset data of the process latest run

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

It is actually useful when cloning or running again a process.

Commits
-------

0723c10 [Process] Use a consistent way to reset data of the process latest run
2013-08-21 09:09:53 +02:00
Romain Neutron
0723c10239 [Process] Use a consistent way to reset data of the process latest run
It is actually useful when cloning or running again a process.
2013-08-20 20:43:40 +02:00
Philipp Kräutli
62238b87bc CS fix 2013-08-19 16:09:48 +02:00
Fabien Potencier
98e1795915 merged branch jakzal/bugfix/remove-nonexisting-attr-8387 (PR #8790)
This PR was merged into the 2.2 branch.

Discussion
----------

[HttpFoundation] Fixed removing a nonexisting namespaced attribute

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

Commits
-------

85a9c9d [HttpFoundation] Fixed removing a nonexisting namespaced attribute.
2013-08-19 16:06:24 +02:00
Jakub Zalas
85a9c9d114 [HttpFoundation] Fixed removing a nonexisting namespaced attribute. 2013-08-19 11:17:50 +01:00
Bernhard Schussek
191d3203d0 [Validation] Fixed IdentityTranslator to pass correct Locale to MessageSelector 2013-08-19 12:15:39 +02:00
Philipp Kräutli
c6ecd83b9d SwiftMailerHandler in Monolog bridge now able to react to kernel.terminate event 2013-08-18 12:41:55 +02:00
Fabien Potencier
b46e0ad556 fixed CS 2013-08-17 18:32:21 +02:00
Tom Avery
99adcf1f6a {HttpFoundation] [Session] fixed session compatibility with memcached/redis session storage
Per https://bugs.php.net/bug.php?id=61470, and in fixing #7380, the following error occurs when using a Memcache or Redis session store w/ Symfony security: "Authentication exception occurred; redirecting to authentication entry point (A Token was not found in the SecurityContext.)".  This patch applies the first fix only if the session store is "files"

{HttpFoundation] [Session] fixed session compatibility with memcached/redis session storage

Per https://bugs.php.net/bug.php?id=61470, and in fixing #7380, the following error occurs when using a Memcache or Redis session store w/ Symfony security: "Authentication exception occurred; redirecting to authentication entry point (A Token was not found in the SecurityContext.)".  This patch applies the first fix only if the session store is "files"
2013-08-17 18:31:20 +02:00
Fabien Potencier
bd4488b5c8 fixed CS 2013-08-17 18:29:09 +02:00
Vasily Khayrulin
ab9a96b774 Fixes for hasParameterOption and getParameterOption methods of ArgvInput 2013-08-17 18:27:58 +02:00
Christian Morgan
dbd08551f8 Added sleep() workaround for windows php rename bug 2013-08-15 15:44:11 +02:00
Fabien Potencier
282b05cbc1 [HttpKernel] removed unused variable 2013-08-15 15:02:15 +02:00
Romain Neutron
8c4bae3592 [Process] Revert change 2013-08-14 13:29:25 +02:00
Romain Neutron
8d9c7c6fae [Process] Fix #8746 : slowness added in unit tests since #8741 2013-08-14 12:41:24 +02:00
Fabien Potencier
f6e664d9b9 merged branch romainneutron/process-callbacks-2.2 (PR #8741)
This PR was merged into the 2.2 branch.

Discussion
----------

[Process][2.2] Fix #8739

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

This adds a fix to #8739. Whenever a call is done to to any non-blocking methods (`Process::isRunning`, `Process::isStopped`, `Process::isTerminated`, `Process::getStatus`, `Process::getPid`...), buffers are read, and callback executed.

Such code will now work :

```
$process->start(function ($type, $data) {
    echo $data;
});

while ($process->isRunning()) {
    // some stuff
    // callback is executed
}
```

Commits
-------

fa769a2 [Process] Add more precision to Process::stop timeout
57d4159 [Process] Avoid zombie process in case of unit tests failure
3ef517b [Process] Fix #8739
7716fb2 [Process] Add failing test for #8739
bff6f3c [Process] Fix CS
2013-08-13 22:10:11 +02:00