fixed bug with parent property
fix is_required field
fixed subform translation_domain inheritance
some translation_domain inheritance code refactoring
added form type translation_domain inheritance tests
changed methods place in form type test
changed arguments in createNamed method call in FormTypeTest
Commits
-------
8c23d7f [Form] Fixed: "error_mapping" is not an attribute anymore, but an option
Discussion
----------
[Form] Fixed: "error_mapping" is not an attribute anymore, but an option
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #4411
Todo: -
---------------------------------------------------------------------------
by craue at 2012-05-25T14:56:34Z
👍
---------------------------------------------------------------------------
by travisbot at 2012-05-25T14:58:41Z
This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1433732) (merged 8c23d7fd into 023dbf80).
Commits
-------
bc15e2d [Form] Some code cleanup
94f6f77 Restructured Form section of UPGRADE
3d800af [Form] Remove usages of deprecated features
ee803cd [Form] Renamed setVars() to addVars() in FormViewInterface
1c4f632 [Form] Fixed API docs and usage of FormBuilderInterface instead of FormBuilder
2e6cdd1 [Form] Inverted the logic of "single_control" and renamed it to "compound". The opposite is now "simple".
98a7c0c [Form] Consolidated FormInterface, FormBuilderInterface and FormViewInterface
8e128fc [Form][OptionsResolver] Fixed typos
877d8f7 [Form] Reversed the order of $type and $name in FormFactory::createNamed[Builder]()
33fecca [Form] Merged various form events and added class FormEvent
bec8015 [Form] Renamed client and application format to view and model format
8cae328 [Form] setDefaultOptions() is now coded against OptionsResolverInterface
1ecddbc [OptionsResolver] Renamed recommended method to setDefaultOptions()
dc2fa9d [OptionsResolver] Added OptionsResolverInterface
2cd99e8 [Form] Added FormBuilderInterface and FormViewInterface and cleaned up FormTypeInterface and FormTypeExtensionInterface
0ef4066 [Form] Options are now passed to buildView() and buildViewBottomUp()
027259e [Form] Changed getDefaultOptions() to setDefaultOptions(OptionsResolver $resolver) in FormTypeInterface
b4e8bcf [OptionsResolver] Relaxed tests to check that allowed values can also be passed as scalars
97de004 [OptionsResolver] Added option type validation capabilities
0af5f06 [OptionsResolver] Added method setFilters() for augmenting the final option values
Discussion
----------
[Form] Cleaned up the Form API
Bug fix: no
Feature addition: no
Backwards compatibility break: **YES**
Symfony2 tests pass: yes
Fixes the following tickets: #3855, #3879, #4342, #4371, #4375
Todo: -
This PR cleans up the Form API as described in the referenced tickets in order to stabilize and freeze this API in the future. BC is kept wherever possible. After this PR, form types are expected to follow the following interface:
```php
<?php
class MyType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
}
public function buildView(FormViewInterface $view, FormInterface $form, array $options)
{
}
public function finishView(FormViewInterface $view, FormInterface $form, array $options)
{
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
}
public function getParent()
{
return 'form';
}
public function getName()
{
return 'my_type';
}
}
```
Note that the options are now passed to `buildView` and `finishView` (formerly `buildViewBottomUp`) as well, reducing the need for creating form attributes in most cases.
---------------------------------------------------------------------------
by travisbot at 2012-05-23T19:07:44Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1414486) (merged 277f5f78 into e0238071).
---------------------------------------------------------------------------
by bschussek at 2012-05-23T19:51:40Z
The PR now also contains the fix for #4342.
---------------------------------------------------------------------------
by travisbot at 2012-05-23T19:51:55Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1414932) (merged 13d284ba into e0238071).
---------------------------------------------------------------------------
by travisbot at 2012-05-24T06:55:35Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1419776) (merged 5aba0778 into e0238071).
---------------------------------------------------------------------------
by travisbot at 2012-05-24T06:56:28Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1419783) (merged 00c4f7ee into b07fb3c4).
---------------------------------------------------------------------------
by travisbot at 2012-05-24T12:26:25Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1421748) (merged 73cd9f8e into b07fb3c4).
---------------------------------------------------------------------------
by bschussek at 2012-05-24T12:27:32Z
The FormView changes described in #4371 are now contained as well. Invitation for final review.
---------------------------------------------------------------------------
by travisbot at 2012-05-24T14:03:10Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1422116) (merged e1f502b9 into b07fb3c4).
---------------------------------------------------------------------------
by cordoval at 2012-05-25T03:26:05Z
any ETA @bschussek ? I want to use it for tackling the problem of dynamic selects city-state
here http://www.craftitonline.com/2011/08/symfony2-ajax-form-republish/
I am told:
"getDefaultOptions is changed to setDefaultOptions which will allow you to set depenedent values based on other forms"
so I am most interested +300!
---------------------------------------------------------------------------
by bschussek at 2012-05-25T06:08:53Z
@cordoval I think you misunderstood this. The OptionsResolver allows you to set options dependent on other options, but of the same field. Also, this is already possible before this merge by setting an option to a closure as described in the README of the OptionsResolver component.
---------------------------------------------------------------------------
by travisbot at 2012-05-25T06:35:53Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1430534) (merged b61cc555 into b07fb3c4).
---------------------------------------------------------------------------
by vicb at 2012-05-25T06:42:24Z
@bschussek great changes ! I have just sent you a PR with some modifs related to deprecated features. I'll rebase and submit the other one we have already discussed.
---------------------------------------------------------------------------
by travisbot at 2012-05-25T07:16:18Z
This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1430699) (merged e18830da into b07fb3c4).
---------------------------------------------------------------------------
by cordoval at 2012-05-25T07:19:07Z
@bschussek what is already possilble @ "Also, this is already possible before"
I am confused could you link to what you are referring to please?
---------------------------------------------------------------------------
by travisbot at 2012-05-25T07:22:07Z
This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1430727) (merged 20c02a72 into b07fb3c4).
---------------------------------------------------------------------------
by bschussek at 2012-05-25T07:22:29Z
```
public function getDefaultOptions()
{
return array(
'a' => 'foo',
'b' => function (Options $options) {
return 'bar' === $options['a'] ? 'x' : 'y';
}
);
}
---------------------------------------------------------------------------
by travisbot at 2012-05-25T10:38:04Z
This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1431903) (merged bc15e2d6 into 45849ce3).
If there are two firewalls (eg. main and admin), calling an protected admin url
will direct you to the login form of the admin. If I ignore this and go to the login
form of the main firewall directly I will end up being redirected to the stored
admin target url. This is not what you usually want to happen.
Commits
-------
bad4a1f [OptionsResolver] CS fix in LazyOption
a54ea1b [OptionsResolver] small optimization in Options class
104dcf2 [OptionsResolver] fixed bugs concerning required options
1bfcff4 [OptionsResolver] added failing test cases to demonstrate two bugs
37a3a29 [OptionsResolver] optimized validation
Discussion
----------
[OptionsResolver] fixed two bugs and applied optimization
The first commit optimizes the validation in OptionsResolver by removing several unneeded method calls (without changing anything semantically).
Then I recognized two bugs in the current code that I wrote failing test cases for in the second commit.
1. setAllowedValues wrongly validated missing options
2. required options with defaults were considered missing by `resolve` (contrary to the `isRequired` method)
The third commit fixes these bugs.
The forth commit applies a small optimization in Options and uses a static function call for a static function.
---------------------------------------------------------------------------
by travisbot at 2012-05-24T03:39:34Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1418785) (merged a54ea1b6 into b07fb3c4).
---------------------------------------------------------------------------
by travisbot at 2012-05-24T05:22:33Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1419232) (merged bad4a1f7 into b07fb3c4).
---------------------------------------------------------------------------
by bschussek at 2012-05-24T06:20:02Z
I just tested this on my machine, and static calls are a tiny bit faster here, although this is really irrelevant for practical use. Even though I dislike useless micro-optimizations like this, I'm ok with this PR in general.
---------------------------------------------------------------------------
by Tobion at 2012-05-24T13:23:11Z
I didn't say that's an optimization in the first place. (The optimization was the removal of a variable assignment)
I just changed it because in other PRs I've been told, static functions should be called in a static way.
---------------------------------------------------------------------------
by Tobion at 2012-05-24T23:36:13Z
Please merge before 4387
Commits
-------
35b458f fix kernel root, linux dir separator on windows, to fix cache:clear issue
Discussion
----------
Fix cache clear windows 2.0
Hi,
This fix the issue #3453 for the 2.0 branch.
---------------------------------------------------------------------------
by travisbot at 2012-05-25T07:43:47Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1430935) (merged 35b458f6 into f9044e44).
Commits
-------
8da880c Fixed notice in AddCacheWarmerPass if there is no cache warmer defined.
8c6c86c Added unit tests for AddCacheWarmerPass class.
Discussion
----------
[FrameworkBundle] Fix for notice in AddCacheWarmerPass
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #4391
---------------------------------------------------------------------------
by travisbot at 2012-05-24T23:08:48Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1428180) (merged 8da880c3 into 7f93bf1f).
Commits
-------
bcf8cf9 [Process] Refactor the windows handling so it is always executed
0c5aa8b [Process] Add failing test for callbacks on windows
Discussion
----------
[Process] Windows callback handling fix
---------------------------------------------------------------------------
by travisbot at 2012-05-24T18:10:56Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1424957) (merged bcf8cf91 into e2c36c54).
Commits
-------
f2d1695 Force root package version in travis builds
Discussion
----------
Force root package version in travis builds
This hopefully fixes the composer builds. Let's see what travisbot thinks.
---------------------------------------------------------------------------
by travisbot at 2012-05-24T18:45:45Z
This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1425314) (merged f2d16950 into e2c36c54).
---------------------------------------------------------------------------
by Seldaek at 2012-05-24T18:47:09Z
Thank you, @travisbot.
---------------------------------------------------------------------------
by beberlei at 2012-05-24T19:02:33Z
Whats that flag for?
---------------------------------------------------------------------------
by Seldaek at 2012-05-24T19:11:05Z
It just says that the current version of the root package is dev-master, because otherwise since the composer.json file has no version, we can't know, so it tries to guess from git info if it finds any, but in the case of a pull request, the version is not dev-master, so the branch-alias doesn't trigger, so it ends up having a version of symfony/symfony installed that's 1.0.0 - but some of the dependencies require another version, so it sort of conflicts with itself.
Commits
-------
d11af63 avoid showing the web profiler toolbar loading error if status is 0
Discussion
----------
[WebProfilerBundle] avoid showing the web profiler toolbar loading error if status is 0
Currently, such error is also shown if loading the page is manually aborted, e.g. by clicking on a link before the toolbar has been loaded, which is quite annoying.
---------------------------------------------------------------------------
by travisbot at 2012-05-24T14:42:43Z
This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1422610) (merged d11af636 into b07fb3c4).