Commit Graph

873 Commits

Author SHA1 Message Date
Alessandro Chitolina
f005c80bc5 [Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path 2016-02-15 10:19:56 +01:00
Tobias Schultze
0efbc30304 [Form] fix edge cases with choice placeholder 2016-02-13 13:18:37 +01:00
Fabien Potencier
8967076e50 bug #17511 [Form] ArrayChoiceList can now deal with a null in choices (issei-m)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] ArrayChoiceList can now deal with a null in choices

re-create for mistaken #17502

---

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

Documentation says, since 2.7, choice value is treated as corresponding item value (if `choices_as_values` option is true). Null as well.

```php
$builder->add('attending', 'choice', array(
    'choices' => array(
        'yes' => true,
        'no' => false,
        'maybe' => null,
    ),
    'choices_as_values' => true,
));
```

But actually null doesn't work as expected since `ArrayChoiceList::getChoicesForValues()` uses `isset` to check whether given value exists in its choices.

It should use `array_key_exists` instead to do so here.

Commits
-------

68292bb [Form] ArrayChoiceList can now deal with a null in choices
2016-01-27 08:59:57 +01:00
Fabien Potencier
1876b4f1c8 Merge branch '2.3' into 2.7
* 2.3:
  Static code analysis
  Update AnnotationDirectoryLoader.php
  [FrameworkBundle] Fix template location for PHP templates
  [FrameworkBundle] Add path verification to the template parsing test cases
2016-01-27 06:09:39 +01:00
Fabien Potencier
89e86197c1 minor #17480 Static code analysis (Koc)
This PR was merged into the 2.3 branch.

Discussion
----------

Static code analysis

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

Things that done:
* fix case in method calls
* removed unused imports
* use shorter concat where it possible
* optimize some css
* removed duplicated array keys
* removed redurant return statements
* removed one-time variables
* do not pass arguments that not used in functions

Commits
-------

8db691a Static code analysis
2016-01-27 05:57:57 +01:00
Christian Flothmann
e791fa0405 [Form] fix tests 2016-01-26 08:10:13 +01:00
Konstantin.Myakshin
8db691ab94 Static code analysis 2016-01-25 19:00:36 +02:00
Fabien Potencier
2173c78da2 Merge branch '2.3' into 2.7
* 2.3:
  [Request] Ignore invalid IP addresses sent by proxies
  Able to load big xml files with DomCrawler
  fixed typo
  [Form] Fix constraints could be null if not set
  [Finder] Check PHP version before applying a workaround for a PHP bug
  fixed CS
  sort bundles in config:dump-reference command
  Fixer findings.
2016-01-25 10:55:53 +01:00
Fabien Potencier
898f3890ff fixed typo 2016-01-25 09:20:12 +01:00
Fabien Potencier
07d99c2b6f bug #16897 [Form] Fix constraints could be null if not set (DZunke)
This PR was squashed before being merged into the 2.3 branch (closes #16897).

Discussion
----------

[Form] Fix constraints could be null if not set

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

If the form options has no key for constraints the default should be an empty array to be ignored by the loop in the FormValidator. The default without this fix is ```null``` and foreach will throw an error.

The "Bug" also still exists in master-Branch.

Commits
-------

f80e0eb [Form] Fix constraints could be null if not set
2016-01-25 09:19:47 +01:00
DZunke
f80e0eb143 [Form] Fix constraints could be null if not set 2016-01-25 09:19:45 +01:00
Issei.M
68292bb52b [Form] ArrayChoiceList can now deal with a null in choices 2016-01-23 17:56:23 +09:00
Possum
d7b730f3e5 Fixer findings. 2016-01-22 08:50:32 +01:00
Fabien Potencier
06b958a17e fixed CS 2016-01-21 09:40:25 +01:00
Paráda József
be056fd0bf [Form] ChoiceType: Fix a notice when 'choices' normalizer is replaced 2016-01-19 13:18:13 +01:00
mantulo
0f8da347f8 Update AbstractChoiceListTest.php
fixed phpdoc namespace
2016-01-11 11:03:27 +01:00
Tobias Schultze
fff265d451 Merge branch '2.3' into 2.7 2016-01-04 15:49:16 +01:00
Adrien LUCAS
be20e892c2 Fix Form's DateTimeType tests. 2016-01-04 15:27:01 +01:00
Gladhon
f3c2a9beda [Form] fix Catchable Fatal Error if choices is not an array 2015-12-30 10:03:36 +01:00
Fabien Potencier
6a92f4e03f Merge branch '2.3' into 2.7
* 2.3:
  [Form] fix #15544 when a collection type attribute "required" is false, "prototype" should too
  updated validators.bg.xlf
  [Security] Enable bcrypt validation and result length tests on all PHP versions
  [Security] Verify if a password encoded with bcrypt is no longer than 72 characters
  [Console] Avoid extra blank lines when rendering exceptions
  [Yaml] do not remove "comments" in scalar blocks
2015-12-18 17:59:46 +01:00
Fabien Potencier
baa5b7db29 bug #16959 [Form] fix #15544 when a collection type attribute "required" is false, "prototype" should too (HeahDude)
This PR was squashed before being merged into the 2.3 branch (closes #16959).

Discussion
----------

[Form] fix #15544 when a collection type attribute "required" is false, "prototype" should too

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

Commits
-------

b4b5d63 [Form] fix #15544 when a collection type attribute "required" is false, "prototype" should too
2015-12-18 17:43:49 +01:00
Jules Pietri
b4b5d63660 [Form] fix #15544 when a collection type attribute "required" is false, "prototype" should too 2015-12-18 17:43:43 +01:00
Tobias Schultze
88d586b447 Merge branch '2.3' into 2.7 2015-12-15 02:31:17 +01:00
Nicolas Grekas
99535506e8 Clean useless deprecation silencing 2015-12-10 15:12:08 +01:00
Nicolas Grekas
6001644ffe [Form] Fix tests and reference usage 2015-11-28 17:53:21 +01:00
Pieter
a35d3d44d0 [WIP] [Form] [TwigBridge] Bootstrap horizontal theme missing tests 2015-11-28 11:44:04 +01:00
Nicolas Grekas
d628d925c1 bug #16685 [Form] Fixed: Duplicate choice labels are remembered when using "choices_as_values" = false (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed: Duplicate choice labels are remembered when using "choices_as_values" = false

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

Commits
-------

1179f07 [Form] Fixed: Duplicate choice labels are remembered when using "choices_as_values" = false
2015-11-27 23:37:53 +01:00
Bernhard Schussek
1179f0727b [Form] Fixed: Duplicate choice labels are remembered when using "choices_as_values" = false 2015-11-27 15:25:47 +01:00
Nicolas Grekas
2a16e87aec [Form] Fix missing choices_as_values=true in tests 2015-11-27 14:50:51 +01:00
Bernhard Schussek
3ab8189080 [Form] Deprecated setting "choices_as_values" to "false" 2015-11-27 10:37:24 +01:00
Bernhard Schussek
f495410d25 [Form] Disabled view data validation if "data_class" is set to null 2015-11-26 10:11:54 +01:00
Fabien Potencier
d3008b420a removed @covers annotations in tests 2015-11-02 21:25:31 +01:00
Fabien Potencier
ced865deb1 Merge branch '2.3' into 2.7
* 2.3:
  fixed YAML files missing quotes when a string starts with @
  [Routing] mark internal classes
  [Translation][Csv file] remove unnecessary statements, for better readability.
  [Form] remove validation of FormRegistry::getType as FormRegistry::hasType does not validate either
2015-10-27 08:38:06 -07:00
Tobias Schultze
d37b9e699d [Form] remove validation of FormRegistry::getType as FormRegistry::hasType does not validate either
also developers do not work with the registry directly anyway but through the factory. and the factory already validates the value.
2015-10-22 02:46:43 +02:00
Nicolas Grekas
7e848fba84 Merge branch '2.3' into 2.7
* 2.3:
  [appveyor] fix ini matrix race conditions
  [Http*] Mock time() to fix transient tests
  [ci] Cache phpunit install
  [WebProfiler] [toolbar] Changed profiler toolbar color to comply with WCAG 2.0AA contrast standards

Conflicts:
	appveyor.yml
	src/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php
2015-10-13 18:05:47 +02:00
Nicolas Grekas
fa604d3c6f [Http*] Mock time() to fix transient tests 2015-10-13 16:19:21 +02:00
Nicolas Grekas
9d9c252c89 Merge branch '2.3' into 2.7
* 2.3:
  [ci] Fix tests requirements

Conflicts:
	src/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
2015-10-12 11:20:33 +02:00
Nicolas Grekas
3c0b441371 [ci] Fix tests requirements 2015-10-12 11:06:32 +02:00
Nicolas Grekas
309ad43b71 Merge branch '2.3' into 2.7
* 2.3:
  [tests] Use @requires annotation when possible
  [ci] Enable collecting and replaying skipped tests
  [Process] Workaround buggy PHP warning
  [Console] Add additional ways to detect OS400 platform
  [Yaml] Allow tabs before comments at the end of a line

Conflicts:
	composer.json
	src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Asset/composer.json
	src/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/composer.json
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/Intl/composer.json
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/composer.json
	src/Symfony/Component/Templating/composer.json
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/composer.json
2015-10-10 11:26:25 +02:00
Nicolas Grekas
4061d37e87 [tests] Use @requires annotation when possible 2015-10-10 10:57:40 +02:00
Nicolas Grekas
525e63d68c [Form] Fix merge 2015-09-29 11:59:39 +02:00
MatTheCat
ed9c6103f8 [Twig][Bridge] force space between widget and label in checkbox_radio_label 2015-09-28 11:09:38 +02:00
Fabien Potencier
3ba54c1c31 Merge branch '2.3' into 2.7
* 2.3:
  Detect Mintty for color support on Windows
  Add a group for tests of the finder against the FTP server
  Fix license headers
  Forbid serializing a Crawler
  Fix phpdoc block of NativeSessionStorage class
  Added exception when setAutoInitialize is called when locked
  [FrameworkBundle] Advanced search templates of bundles
  [Security] Allow user providers to be defined in many files
  Use random_bytes function if it is available for random number generation
2015-09-27 12:08:38 +02:00
Gábor Egyed
db8239ffab Fix license headers 2015-09-26 14:15:17 +02:00
Gábor Egyed
b03bcb34ec Fix license headers 2015-09-26 13:59:49 +02:00
Tobias Schultze
4ecbc7053d Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Component/Form/Tests/FormFactoryTest.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-09-09 20:00:08 +02:00
Evgeniy Sokolov
0ffcc4f53d drop unused private methods 2015-09-09 09:30:09 +02:00
Nicolas Grekas
e49739c469 [2.7] Clean deprecated interfaces 2015-09-04 22:16:46 +02:00
Abdellatif Ait boudad
835aa788d4 [Form][2.7][ Choice type] fixed groups with empty array. 2015-08-31 20:22:13 +00:00
Nicolas Grekas
464a1b3152 Various fixes esp. on Windows 2015-08-27 08:45:45 +02:00
Christophe Coevoet
5df64dca52 Fix the retrieval of the value with property path when using a loader 2015-08-26 18:42:09 +02:00
Christophe Coevoet
f31fa8c786 Fix the handling of values for multiple choice types
Choice values must always be strings, but a place was missing the
casting, breaking the comparison of selected choices when the callback
does not return a string.
2015-08-25 11:17:05 +02:00
Fabien Potencier
c0e4495b66 fixes CS 2015-08-24 09:13:45 +02:00
origaminal
12a7dd1714 [Form] fixed BC-break on grouped choice lists 2015-08-22 09:11:02 +02:00
Nicolas Grekas
3d7d378cbc Merge branch '2.3' into 2.7
* 2.3:
  Fix security-acl deps
  Fix doctrine mapping validation type error
  Remove skipping of tests based on ICU data version whenever possible
  Fix the handling of null as locale in the stub intl classes
  do not dump leading backslashes in class names
  Skip ::class constant
  [Config] type specific check for emptiness

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Config/Tests/Definition/ScalarNodeTest.php
	src/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
	src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTimeTypeTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php
	src/Symfony/Component/Locale/Tests/LocaleTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php
	src/Symfony/Component/Validator/Tests/Constraints/CountryValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/CurrencyValidatorTest.php
2015-08-01 11:05:17 +02:00
Christophe Coevoet
7994513e04 Remove skipping of tests based on ICU data version whenever possible
Many tests being skipped based on the ICU data version don't actually
need it. They might be testing code paths not relying on Intl, or not
performing assertions on the values depending on the ICU data and so not
dependant on the exact ICU version being used.
2015-07-30 18:05:29 +02:00
Nicolas Grekas
eb179f9032 Merge branch '2.6' into 2.7
* 2.6:
  [2.6] Towards 100% HHVM compat
  [Security/Http] Fix test
  [Stopwatch] Fix test
  Minor fixes
  Towards 100% HHVM compat
  unify default AccessDeniedExeption message
  trigger event with right user (add test)
  [Security] Initialize SwitchUserEvent::targetUser on attemptExitUser
  [Form] Fixed: Data mappers always receive forms indexed by their names

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
	src/Symfony/Component/VarDumper/Tests/CliDumperTest.php
	src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php
2015-07-01 13:25:50 +02:00
Nicolas Grekas
c53ee35a2e Merge branch '2.3' into 2.6
* 2.3:
  Minor fixes
  Towards 100% HHVM compat
  trigger event with right user (add test)
  [Security] Initialize SwitchUserEvent::targetUser on attemptExitUser
  [Form] Fixed: Data mappers always receive forms indexed by their names

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/Filesystem/Filesystem.php
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
2015-06-30 18:10:16 +02:00
Fabien Potencier
0020680d92 bug #15146 Towards 100% HHVM compat (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

Towards 100% HHVM compat

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

Failing components:
- [x] Debug
- [x] DependencyInjection
- [x] Filesystem
- [x] Form
- [x] HttpFoundation
- [x] Process
- [x] Routing

Related HHVM issues:
- https://github.com/facebook/hhvm/issues/5562
- https://github.com/facebook/hhvm/issues/5561
- https://github.com/facebook/hhvm/issues/5330
- https://github.com/facebook/hhvm/issues/3558
- https://github.com/facebook/hhvm/issues/4901

Commits
-------

b9a76ba Towards 100% HHVM compat
2015-06-30 17:31:35 +02:00
Nicolas Grekas
b9a76bab5c Towards 100% HHVM compat 2015-06-30 15:39:12 +02:00
Fabien Potencier
b16fc6c2f6 bug #15061 [Form] Fixed handling of choices passed in choice groups (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed handling of choices passed in choice groups

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

I introduced a bug in the 2.7 ChoiceList implementation when choices are passed as groups:

```
$form->add('response', 'choice', array(
    'choices' => array(
        'Decided' => array($yesObj, $noObj),
        'Undecided' => array($maybeObj),
    ),
    // use getName() for the labels
    'choice_label' => 'name',
    'choices_as_values' => true,
));
```

In this example, since the choices `$yesObj` and `$maybeObj` have the same array index `0`, the same label is displayed for the two options. The problem is that we rely on the keys passed in the "choices" option to identify choices in a choice list (which are, as you see, not guaranteed to be free of duplicates).

This PR changes the new choice list implementation to identify choices by values instead. We already have the guarantee that choices can be identified uniquely by their string values.

This PR should be included in 2.7.2 to fix the regression.

Unfortunately, a few BC breaks in the new implementation are necessary to make this fix:

* The legacy `ChoiceListInterface` was reverted to how it was in 2.6 and does *not* extend the new `ChoiceListInterface` anymore.
* As a consequence, legacy choice lists need to be wrapped into a `LegacyChoiceListAdapter` when they are passed to any place in the framework where a new choice list is expected.
* The new `ChoiceListInterface` has two additional methods `getStructuredValues()` and `getOriginalKeys()` now.
* `ArrayKeyChoiceList::toArrayKey()` was marked as internal.
* `ChoiceListFactoryInterface::createView()` does not accept arrays and Traversables anymore for the `$groupBy` parameter (for simplicity).

@fabpot Where should we document the upgrade path for 2.7.1 => 2.7.2?

Commits
-------

7623dc8 [Form] Fixed handling of choices passed in choice groups
2015-06-30 14:46:52 +02:00
Fabien Potencier
38c08d1fb3 bug #15069 [Form] Fixed: Data mappers always receive forms indexed by their names (webmozart)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Fixed: Data mappers always receive forms indexed by their names

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

This PR facilitates writing domain-specific data mappers, since it guarantees that you can access forms by name in the data mapper methods. Currently, `Form::add()` does not set the index of the array passed to the data mapper to the form's name.

Commits
-------

86b7fe5 [Form] Fixed: Data mappers always receive forms indexed by their names
2015-06-30 07:54:26 +02:00
Jérôme Vasseur
52755ba26d Fix choice translation domain for expanded choice widget 2015-06-29 21:23:41 +02:00
Tobias Schultze
dd504d4adf Merge branch '2.6' into 2.7 2015-06-27 22:17:00 +02:00
Tobias Schultze
cbca187a49 Merge branch '2.3' into 2.6
Conflicts:
	src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/choice_widget_collapsed.html.php
2015-06-27 22:15:38 +02:00
Restless-ET
1a5c4c6c93 [Translation][Form][choice] empty_value shouldn't be translated when it has an empty value 2015-06-27 19:52:55 +02:00
BruceWouaigne
0f185c9fef [Form] [EventListener] fixed sending non array data on submit to ResizeListener 2015-06-26 19:11:54 +02:00
Abdellatif Ait boudad
d1de40e036 Merge remote-tracking branch 'origin/2.6' into 2.7
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
	src/Symfony/Component/Validator/Constraints/EmailValidator.php
2015-06-25 12:52:11 +00:00
Nicolas Grekas
a85ed5097b Merge branch '2.3' into 2.6
* 2.3:
  Fixed the regexp for the validator of Maestro-based credit/debit cards
  [Console] Fix STDERR output text on IBM iSeries OS400
  [HttpFoundation] Use convention to allow throwing from __toString()
  [Form] Fixed: remove quoted strings from Intl date formats (e.g. es_ES full pattern)
  [bugfix][MonologBridge] WebProcessor: passing  to BaseWebProcessor
  [2.3] Static Code Analysis for Components
  [Translation][update cmd] taken account into bundle overrides path.

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php
2015-06-25 13:21:15 +02:00
Bernhard Schussek
86b7fe590b [Form] Fixed: Data mappers always receive forms indexed by their names 2015-06-22 21:00:03 +02:00
Bernhard Schussek
497433cf03 [Form] Fixed: Support objects with __toString() in choice groups 2015-06-22 17:19:42 +02:00
Bernhard Schussek
5571caa305 [Form] Fixed: remove quoted strings from Intl date formats (e.g. es_ES full pattern) 2015-06-22 17:14:39 +02:00
Bernhard Schussek
7623dc87e8 [Form] Fixed handling of choices passed in choice groups 2015-06-22 14:31:47 +02:00
Vladimir Reznichenko
aa5e616511 [2.3] Static Code Analysis for Components 2015-06-21 22:11:32 +02:00
Nicolas Grekas
9eea9eb848 [PhpUnitBridge] Enforce @-silencing of deprecation notices according to new policy 2015-06-18 21:21:56 +02:00
Fabien Potencier
7ac7ed85af fixed CS 2015-06-11 21:09:58 +02:00
Fabien Potencier
58fba34843 minor #14883 [2.7] Improved exception message if custom implementation of OptionsResolverInterface is used (phansys)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Improved exception message if custom implementation of OptionsResolverInterface is used

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

Improved exception message if custom implementation of ```OptionsResolverInterface``` is used within ```AbstractType::setDefaultOptions()``` or ```AbstractTypeExtension::setDefaultOptions()```.

Before:
```
Argument 1 passed to Symfony\Component\Form\AbstractType::configureOptions() must be an instance of Symfony\Component\OptionsResolver\OptionsResolver, instance of Symfony\Component\Form\Tests\Fixtures\CustomOptionsResolver given
```

After:
```
Argument 1 passed to Symfony\Component\Form\AbstractType::setDefaultOptions() must be an instance of Symfony\Component\OptionsResolver\OptionsResolver, instance of Symfony\Component\Form\Tests\Fixtures\CustomOptionsResolver given
```

Commits
-------

aa945d3 [2.7] Improved exception message if custom implementation of ```OptionsResolverInterface``` is used
2015-06-11 21:07:54 +02:00
Javier Spagnoletti
aa945d355f [2.7] Improved exception message if custom implementation of ``OptionsResolverInterface`` is used
| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Improved exception message if custom implementation of ```OptionsResolverInterface```
is used within ```AbstractType::setDefaultOptions()``` or ```AbstractTypeExtension::setDefaultOptions()```.

Before:
```
Argument 1 passed to Symfony\Component\Form\AbstractType::configureOptions() must be an instance of Symfony\Component\OptionsResolver\OptionsResolver, instance of Symfony\Component\Form\Tests\Fixtures\CustomOptionsResolver given
```

After:
```
Argument 1 passed to Symfony\Component\Form\AbstractType::setDefaultOptions() must be an instance of Symfony\Component\OptionsResolver\OptionsResolver, instance of Symfony\Component\Form\Tests\Fixtures\CustomOptionsResolver given
```
2015-06-11 15:21:12 -03:00
Fabien Potencier
eb366b9264 bug #14887 [Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one

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

Commits
-------

909d2b9 [Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one
2015-06-10 20:57:31 +02:00
Nicolas Grekas
909d2b9020 [Form] Swap new ChoiceView constructor arguments to ease migrating from the deprecated one 2015-06-10 17:47:24 +02:00
Nicolas Grekas
e7e48c8b01 bug #14900 Silence deprecation warnings by default (reecefowell)
This PR was merged into the 2.7 branch.

Discussion
----------

[RFC] Fixing Deprecation Warnings

This PR address an issue that causes Symfony to vomit E_DEPRECATED warnings everywhere.

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

Fixes #14899

![http://cdn.meme.am/instances2/500x/125359.jpg](http://cdn.meme.am/instances2/500x/125359.jpg)

Commits
-------

73bbaa6 Silence invasive deprecation warnings, opt-in for warnings
2015-06-10 17:30:22 +02:00
Fabien Potencier
1750330831 Merge branch '2.6' into 2.7
* 2.6:
  [Validator] remove partial deprecation annotation
  Updated UPGRADE-2.4.md
  [Form] Support DateTimeImmutable in transform()
  [Form] add test to avoid regression of #14891
  without this change allways the legacy code get called
  [Form] Fix call to removed method (BC broken in 2.3)
  [HttpFoundation] Get response content as resource several times for PHP >= 5.6
  Improved duplicated code in FileLocator
2015-06-09 17:06:47 +02:00
Fabien Potencier
49d942a2ba Merge branch '2.3' into 2.6
* 2.3:
  [Form] Support DateTimeImmutable in transform()
  [Form] Fix call to removed method (BC broken in 2.3)
  [HttpFoundation] Get response content as resource several times for PHP >= 5.6
  Improved duplicated code in FileLocator
2015-06-09 17:06:34 +02:00
reecefowell
73bbaa6cc7 Silence invasive deprecation warnings, opt-in for warnings 2015-06-08 10:37:21 +01:00
Christian Schmidt
17346c53dc [Form] Support DateTimeImmutable in transform() 2015-06-08 07:38:09 +02:00
Christian Flothmann
12a19c8980 [Form] add test to avoid regression of #14891 2015-06-07 08:50:12 +02:00
Fabien Potencier
d65adc07a9 Merge branch '2.6' into 2.7
* 2.6:
  Improve the config validation in TwigBundle
  [WebProfilerBundle][logger] added missing deprecation message.
  [Security][Acl] enforce string identifiers
  [BrowserKit] Fix bug when uri starts with http.
  bumped Symfony version to 2.3.31
  updated VERSION for 2.3.30
  updated CHANGELOG for 2.3.30
  Php Inspections (EA Extended):     - resolved possible PHP Fatal in \Symfony\Component\BrowserKit\Cookie::__toString     -resolved implicit magic methods calls     -resolved callable name case mismatches
2015-06-04 22:11:48 +02:00
Fabien Potencier
1c4c0435b4 Merge branch '2.3' into 2.6
* 2.3:
  Improve the config validation in TwigBundle
  [Security][Acl] enforce string identifiers
  [BrowserKit] Fix bug when uri starts with http.
  bumped Symfony version to 2.3.31
  updated VERSION for 2.3.30
  updated CHANGELOG for 2.3.30
  Php Inspections (EA Extended):     - resolved possible PHP Fatal in \Symfony\Component\BrowserKit\Cookie::__toString     -resolved implicit magic methods calls     -resolved callable name case mismatches

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
	src/Symfony/Component/HttpKernel/Kernel.php
2015-06-04 22:11:39 +02:00
Vladimir Reznichenko
9eb2b14115 Php Inspections (EA Extended):
- resolved possible PHP Fatal in \Symfony\Component\BrowserKit\Cookie::__toString
    -resolved implicit magic methods calls
    -resolved callable name case mismatches
2015-05-29 19:14:48 +02:00
Fabien Potencier
58efb98c6f Merge branch '2.6' into 2.7
* 2.6: (30 commits)
  [Translation] fixed JSON loader on PHP 7 when file is empty
  Fix typo
  Check instance of FormBuilderInterface instead of FormBuilder
  [Security] TokenBasedRememberMeServices test to show why encoding username is required
  [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts
  fixed typo
  [console][formater] allow format toString object.
  [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo
  Avoid redirection to XHR URIs
  [HttpFoundation] IpUtils::checkIp4() should allow  networks
  [2.6] Fix HTML escaping of to-source links
  Fix HTML escaping of to-source links
  ExceptionHandler: More Encoding
  Fix the rendering of deprecation log messages
  [FrameworkBundle] Removed unnecessary parameter in TemplateController
  [DomCrawler] Throw an exception if a form field path is incomplete.
  Fixed the indentation in the compiled template for the DumpNode
  [Console] Delete duplicate test in CommandTest
  [TwigBundle] Refresh twig paths when resources change.
  WebProfiler break words
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/logger.html.twig
	src/Symfony/Component/Debug/ExceptionHandler.php
2015-05-22 16:54:25 +02:00
Fabien Potencier
dd744c9f53 Merge branch '2.3' into 2.6
* 2.3:
  Fix typo
  Check instance of FormBuilderInterface instead of FormBuilder
  [Security] TokenBasedRememberMeServices test to show why encoding username is required
  [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts
  [console][formater] allow format toString object.
  [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo
  Avoid redirection to XHR URIs
  [HttpFoundation] IpUtils::checkIp4() should allow  networks
  Fix HTML escaping of to-source links
  [FrameworkBundle] Removed unnecessary parameter in TemplateController
  [DomCrawler] Throw an exception if a form field path is incomplete.
  [Console] Delete duplicate test in CommandTest
  [TwigBundle] Refresh twig paths when resources change.
  WebProfiler break words
  fixed typo
  Update README.md
  [HttpKernel] Handle an array vary header in the http cache store
  [Security][Translation] fixes #14584
  [Framework] added test for Router commands.
  Handled bearer authorization header in REDIRECT_ form

Conflicts:
	src/Symfony/Component/Debug/ExceptionHandler.php
2015-05-22 16:53:08 +02:00
Diego Saint Esteben
44469d01d1 Check instance of FormBuilderInterface instead of FormBuilder 2015-05-21 18:12:55 -03:00
Fabien Potencier
e9ecd0e00b bug #14551 [2.7][Form] Fixed ChoiceType with legacy ChoiceList (xelaris)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][Form] Fixed ChoiceType with legacy ChoiceList

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

The "Backwards compatibility" condition doesn't grap (e.g. when passing a `SimpleChoiceList` as `choice_list` on `ChoiceType`), as the default value for the `ChoiceType` option `preferred_choices` is `array()` instead of `null`. So I changed the condition from `null === $preferredChoices` to `empty($preferredChoices)`.
Then there was an issue with accessing `attr` in `form_div_layout.html.twig`, since the deprecated `Symfony\Component\Form\Extension\Core\View\ChoiceView` doesn't provide an `attr` attribute. Since the docblocks of `Symfony\Component\Form\ChoiceList\View\ChoiceListView` state `$choices` and `$preferredChoices` to be instances of `Symfony\Component\Form\ChoiceList\View\ChoiceView` instead of `Symfony\Component\Form\Extension\Core\View\ChoiceView` I fixed the template issue by mapping the deprecated `ChoiceView` objects to the new one with an empty `attr`.

@webmozart Could you have a look at it, please?

Without this PR the following example would render numeric values as labels:
```php
        $formBuilder->add('choices', 'choice', array(
            'choice_list' => new SimpleChoiceList(array(
                'creditcard' => 'Credit card payment',
                'cash' => 'Cash payment'
            ))
        ));
```

Commits
-------

a98e484 [Form] Fix ChoiceType with legacy ChoiceList
2015-05-20 10:29:08 +02:00
Fabien Potencier
87fa40ee54 bug #14644 [Bridge\Twig] Adding a space between the icon and the error message (zmikael, nicolas-grekas)
This PR was merged into the 2.6 branch.

Discussion
----------

[Bridge\Twig] Adding a space between the icon and the error message

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

Commits
-------

d0f6342 [Form] Test for space in AbstractBootstrap3LayoutTest::testErrors
7a1fac2 Adding a space between the icon and the error message
2015-05-15 16:18:15 +02:00
Nicolas Grekas
d0f63429b0 [Form] Test for space in AbstractBootstrap3LayoutTest::testErrors 2015-05-15 15:29:32 +02:00
Nicolas Grekas
8622a7b22a Merge branch '2.6' into 2.7
* 2.6:
  [EventDispatcher] make listeners removable from an executed listener
  [HttpFoundation] Fix volatile MongoDbSessionHandlerTest::testRead()
  Fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator)

Conflicts:
	src/Symfony/Component/Validator/Constraints/FalseValidator.php
	src/Symfony/Component/Validator/Constraints/NullValidator.php
	src/Symfony/Component/Validator/Constraints/TrueValidator.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidatorLegacyApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidatorLegacyApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidator2Dot4ApiTest.php
	src/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidatorLegacyApiTest.php
2015-05-15 11:56:16 +02:00
Nicolas Grekas
1688b2ef4f Merge branch '2.3' into 2.6
* 2.3:
  Fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator)

Conflicts:
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/Validator/CHANGELOG.md
	src/Symfony/Component/Validator/Constraints/FalseValidator.php
	src/Symfony/Component/Validator/Constraints/NullValidator.php
	src/Symfony/Component/Validator/Constraints/TrueValidator.php
	src/Symfony/Component/Validator/Tests/Constraints/IsFalseValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/IsNullValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/IsTrueValidatorTest.php
2015-05-15 11:48:50 +02:00
stefan.r
44edbdf9c0 Fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator) 2015-05-13 11:33:22 +02:00
Bernhard Schussek
e60f715920 bug #14465 [Form] Fixed regression: Empty values were not accepted anymore for collapsed, optional choice fields (webmozart)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fixed regression: Empty values were not accepted anymore for collapsed, optional choice fields

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

Commits
-------

7997f24 [Form] Fixed regression: Empty values were not accepted anymore for collapsed, optional choice fields
2015-05-05 10:54:18 +02:00
Alexander Schwenn
a98e484020 [Form] Fix ChoiceType with legacy ChoiceList 2015-05-05 03:32:51 +02:00