Commit Graph

2382 Commits

Author SHA1 Message Date
Christian Flothmann
064aedf9e3 Merge branch '2.3' into 2.7
* 2.3:
  [DependencyInjection] Resolve aliases before removing abstract services + add tests
  Fix Dom Crawler select option with empty value
  Remove unnecessary option assignment
  remove unused variable
  [PropertyAccess] Fix regression
2016-04-09 12:56:56 +02:00
Sergey Fedotov
da8a19728b Remove unnecessary option assignment 2016-04-05 23:03:15 +03:00
Fabien Potencier
034f47635c Merge branch '2.3' into 2.7
* 2.3:
  [HttpFoundation] Improve phpdoc
  [Logging] Add support for firefox in ChromePhpHandler
  [Security] Fixed SwitchUserListener when exiting an impersonication with AnonymousToken
  [Form] fix "prototype" not required when parent form is not required
2016-04-05 18:36:43 +02:00
Krzysztof Piasecki
d583ec3543 Lower complexity of Form:isValid() 2016-04-01 09:09:19 +02:00
Jules Pietri
7df9ca2aeb [Form] fix "prototype" not required when parent form is not required 2016-03-31 14:29:18 +02:00
Nicolas Grekas
2f2ce3e637 Merge branch '2.3' into 2.7
* 2.3:
  [Form] NumberToLocalizedStringTransformer should return floats when possible
  [DependencyInjection] Enabled alias for service_container

Conflicts:
	src/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php
2016-03-31 10:05:11 +02:00
Fabien Potencier
2e6982ac67 minor #18316 [Form] remove useless copy in ChoiceType (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] remove useless copy in ChoiceType

| Q             | A
| ------------- | ---
| Branch?       | 2.7+
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | symfony/symfony-docs#6393

`ChoiceListFactoryInterface` expected `$groupBy` to be a callable or null, not an array ([ref](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/Factory/ChoiceListFactoryInterface.php#L111)).

The factory defaults `groupBy` to `ChoiceListInterface::getStructuredValues()` ([ref](https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/Form/ChoiceList/Factory/DefaultChoiceListFactory.php#L122)).

Hence, the copy of the choices array and the recursive flip are useless and may be slowing down performances imho (especially with `EntityType`).

Commits
-------

562f5e4 [Form] remove useless code in ChoiceType
2016-03-30 12:47:40 +02:00
Fabien Potencier
03c28e4012 Merge branch '2.3' into 2.7
* 2.3:
  [ci] Get ICU/intl from github instead of nebm.ist.utl.pt/~glopes
  [Debug] Fix handling of php7 throwables
  [Process] remove dead code
  [ClassLoader] Fix storing not-found classes in APC cache
  [Form] cs fixes in date types
2016-03-30 12:21:35 +02:00
Nicolas Grekas
f5ed09c64c [Form] NumberToLocalizedStringTransformer should return floats when possible 2016-03-30 09:21:26 +02:00
Jules Pietri
bc21828838 [Form] cs fixes in date types 2016-03-27 14:59:14 +02:00
Jules Pietri
562f5e4394 [Form] remove useless code in ChoiceType
`ChoiceListFactoryInterface` expected `$group_by` to be a callable or
null not an array.
The factory defaults `group_by` to
`ChoiceListInterface::getStructuredValues`.
2016-03-26 02:35:52 +01:00
Christian Flothmann
d9be1b4cc4 fix mocks
* check for existance of `setMetadataFactory()` method (this is needed
  for tests run with deps=high as the method was removed in Symfony
  3.0)
* fix mock testing the `EngineInterface` as the `stream()` method cannot
  be mocked when it is does not exist in the mocked interface
2016-03-25 16:52:47 +01:00
Tobias Schultze
0cd725ea42 Merge branch '2.3' into 2.7 2016-03-25 02:39:14 +01:00
Guilliam Xavier
3f6e37efe6 Fix copy-paste in PHPDoc comment text 2016-03-24 10:50:31 +01:00
Nicolas Grekas
c7686a3624 Merge branch '2.3' into 2.7
* 2.3:
  Improved the PHPdoc of FileSystem::copy()
  [Validator] Test DNS Email constraints using checkdnsrr() mock
  [travis] Run real php subprocesses on hhvm for Process component tests
  bug #18161 [Translation] Add support for fuzzy tags in PoFileLoader
  [Form] Fix NumberToLocalizedStringTransformer::reverseTransform with big integers
  [Form] Fix INT64 cast to float in IntegerType.
  [SecurityBundle][PHPDoc] Added method doumentation for SecurityFactoryInterface
  FrameworkBundle: Client: getContainer(): fixed phpdoc
  [Validator] Updating inaccurate docblock comment

Conflicts:
	.travis.yml
	src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
2016-03-16 17:00:15 +01:00
Nicolas Grekas
03c008cdbf [Form] Fix NumberToLocalizedStringTransformer::reverseTransform with big integers 2016-03-15 16:37:19 +01:00
Catalin Dan
6b6073f685 [Form] Fix INT64 cast to float in IntegerType. 2016-03-15 16:37:19 +01:00
Nicolas Grekas
81c50d628e Merge branch '2.3' into 2.7
* 2.3:
  [HttpFoundation] Fix transient test
  [HttpFoundation] Add a dependency on the mbstring polyfill
  add readme files where missing
  Don't use reflections when possible
  [Form] Update form tests after the ICU data update
  [Intl] Update tests and the number formatter to match behaviour of the intl extension
  [Intl] Update the ICU data to version 55
  [Intl] Fix the update-data.php script in preparation for ICU 5.5
  Use constant instead of function call.
  fixed test name
  automatically generate safe fallback filename

Conflicts:
	src/Symfony/Component/Debug/Debug.php
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
2016-03-07 14:45:47 +01:00
Jakub Zalas
fac3de628e [Form] Update form tests after the ICU data update 2016-03-05 13:21:13 +00:00
Fabien Potencier
d66f0ebe35 Merge branch '2.3' into 2.7
* 2.3:
  Updated all the README files
  [TwigBundle] Fix failing test on appveyor
  [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths
  Allow to normalize \Traversable
  Remove _path from query parameters when fragment is a subrequest and request attributes are already set Added tests for _path removal in FragmentListener
  Simplified everything
  Added a test
  Fixed the problem in an easier way
  Fixed a syntax issue
  Improved the error message when a template is not found
  [CodingStandards] Conformed to coding standards
  [TwigBundle] fixed Include file locations in "Template could not be found" exception
2016-03-04 08:52:28 +01:00
Javier Eguiluz
2e812481c9 Updated all the README files 2016-03-04 08:12:06 +01:00
Jules Pietri
bd22c8618a minor [Form] fix tests added by #16886 2016-03-02 18:06:04 +01:00
Fabien Potencier
d6a189b405 bug #16886 [Form] [ChoiceType] Prefer placeholder to empty_value (boite)
This PR was squashed before being merged into the 2.7 branch (closes #16886).

Discussion
----------

[Form] [ChoiceType] Prefer placeholder to empty_value

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

Prefer an explicitly set `placeholder` option (i.e. `false` or a non-empty
string) to an `empty_value` option when both are set.

The fix is to change the behaviour in the placeholder normalizer in
ChoiceType::configureOptions so that the value of the `empty_value` option is
used for placeholder only when the value of `placeholder` is null or an empty
string.

Commits
-------

a4d4c8a [Form] [ChoiceType] Prefer placeholder to empty_value
2016-03-02 10:54:50 +01:00
boite
a4d4c8aa0f [Form] [ChoiceType] Prefer placeholder to empty_value 2016-03-02 10:54:49 +01:00
Jules Pietri
ee5b119ac6 [From] minor fix tests added by #17798 for bootstrap theme 2016-03-01 14:36:27 +01:00
Fabien Potencier
df4cc40082 bug #17568 Improved Bootstrap form theme for hidden fields (javiereguiluz)
This PR was squashed before being merged into the 2.7 branch (closes #17568).

Discussion
----------

Improved Bootstrap form theme for hidden fields

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

Commits
-------

ba5d7f9 Improved Bootstrap form theme for hidden fields
2016-03-01 08:14:37 +01:00
Javier Eguiluz
ba5d7f99e9 Improved Bootstrap form theme for hidden fields 2016-03-01 08:14:36 +01:00
Jules Pietri
017e1d9e6e bug #17798 [Form] allow choice_label option to be false
When `ChoiceType`is expanded, `choice_label` option can be `false`
or return `false` for one or more choices by a callable.
2016-02-26 16:42:52 +01:00
Fabien Potencier
a7f98315f3 bug #17760 [2.7] [Form] fix choice value "false" in ChoiceType (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] [Form] fix choice value "false" in ChoiceType

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

- [x] Add tests for choices with `boolean` and `null` values, and with a placeholder
- [x] Fix FQCN in 2.8 tests, see #17759
- [x] Remove `choices_as_values` in 3.0 tests, see #17886

Commits
-------

8f918e5 [Form] refactor `RadioListMapper::mapDataToForm()`
3eac469 [Form] fix choice value "false" in ChoiceType
2016-02-26 06:04:56 +01:00
Fabien Potencier
6bb1c6d737 Merge branch '2.3' into 2.7
* 2.3:
  Validate XLIFF translation files
  replace alias in factory services
2016-02-23 19:18:09 +01:00
Javier Eguiluz
db0305569d Validate XLIFF translation files 2016-02-23 19:12:35 +01:00
Nicolas Grekas
ba35f3d7bb Merge branch '2.3' into 2.7
* 2.3:
  PhpUnitNoDedicateAssertFixer results
  Improve Norwegian translations
  Simplify markdown for PR template

Conflicts:
	src/Symfony/Bridge/Propel1/Tests/Form/DataTransformer/CollectionToArrayTransformerTest.php
	src/Symfony/Component/Security/Tests/Core/SecurityContextTest.php
2016-02-22 17:12:29 +01:00
Jules Pietri
8f918e5f84 [Form] refactor RadioListMapper::mapDataToForm()
This fixes "false" choice pre selection when `ChoiceType`
is `expanded` and not `multiple`
2016-02-22 16:33:26 +01:00
Jules Pietri
3eac4693ad [Form] fix choice value "false" in ChoiceType 2016-02-22 16:33:26 +01:00
Valentin Jonovs
73a5d6c684 Improve Norwegian translations 2016-02-20 17:42:01 +01:00
Tobias Schultze
00e38198b7 [Form] add test for ArrayChoiceList handling null 2016-02-18 14:16:01 +01:00
Fabien Potencier
d3c55cb3f1 bug #17787 [Form] Fix choice placeholder edge cases (Tobion)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] Fix choice placeholder edge cases

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

Fixing several problems with choice placeholder that enhances #9030 for more edge cases:

- A choice with an empty value manually added in the choices array should only be considered a placeholder when it is the first element in the final choice select.
This is part of the HTML spec and how browsers also behave. If you select a choice with an empty value that is not the first option, it will still pass the "required" check
and thus submit the empty value. So it's not a placeholder.
If in the example below you move the empty option to the first place, the browsers will error on submit that you
must select a value. So only then it is a placeholder to show as initial value.

```html
<select id="form_timezone" name="form[timezone]" required="required">
    <option value="Africa/Abidjan">Abidjan</option>
    <option value="">Empty</option>
</select>
```

Also the validator https://validator.w3.org/nu/ will mark the above code as error:
> The first child option element of a select element with a required attribute, and without a multiple attribute, and without a size attribute whose value is greater than 1, must have either an empty value attribute, or must have no text content. Consider either adding a placeholder option label, or adding a size attribute with a value equal to the number of option elements.

This is fixed by replacing`0 !== count($choiceList->getChoicesForValues(array('')))` with `$view->vars['placeholder_in_choices'] = $choiceListView->hasPlaceholder()`.
Which means, the required attribute is removed automatically because the select form element is required implicitly anyway due to the nature of the choice UI.

- As the above quote mentions, the `size` attribute also has impact. Namely for a select with size > 1 it can be possible to have a required attribute even without placeholder.
This is because when the size > 1, there is no default choice selected (similar to select with "multiple").

- A placeholder for required radio buttons or a select with size > 1 does not make sense as it would just be fake data that can be submitted (similar to the ignored placeholder for multi-select and checkboxes).

Commits
-------

0efbc30 [Form] fix edge cases with choice placeholder
2016-02-18 13:07:46 +01:00
Christian Flothmann
f87558d05e [Form] fix violation mapper tests
This takes into account the changes to the `getErrors()` in Symfony 2.5
(the method rturns a `FormErrorIterator` instead of an array) as well as
the fact that non-submitted forms do not accept errors since #10567
anymore.
2016-02-16 20:52:17 +01:00
Fabien Potencier
457967c6c7 Merge branch '2.3' into 2.7
* 2.3:
  [DependencyInjection] fix dumped YAML snytax
  Remove InputOption::VALUE_REQUIRED mode from $default parameter description as InputOption::setDefault() throws an exception only when called in InputOption::VALUE_NONE mode. In practice the $default value could still be accessed in InputOption::VALUE_REQUIRED mode in case InputOption was never set but accessed from InputDefinition::getOption() method
  [Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path
  [TwigBridge] Symfony 3.1 forward compatibility
2016-02-16 07:07:10 +01:00
Fabien Potencier
d4ac467462 bug #17099 [Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path (alekitto)
This PR was squashed before being merged into the 2.3 branch (closes #17099).

Discussion
----------

[Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path

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

Commits
-------

f005c80 [Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path
2016-02-15 10:19:57 +01:00
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
Fabien Potencier
dc59e42257 Merge branch '2.3' into 2.7
* 2.3:
  [Form] [Validator] Fix locale inconsistencies in Norwegian translations
  fixed CS
  [DependencyInjection] fixed exceptions thrown by get method of ContainerBuilder
  [Form] remove useless code in ResizeFormListener
2016-02-14 14:08:36 +01:00
Valentin Jonovs
67d343fd69 Fix locale and written standard inconsistencies for Norwegian translations 2016-02-14 14:07:55 +01:00
Fabien Potencier
1229b6d9b9 minor #17795 [Form] [Validator] Fix locale inconsistencies in Norwegian translations (valisj)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] [Validator] Fix locale inconsistencies in Norwegian translations

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

See #17785

Commits
-------

ab2ac93 [Form] [Validator] Fix locale inconsistencies in Norwegian translations
2016-02-14 14:06:33 +01:00
Valentin Jonovs
ab2ac93a45 [Form] [Validator] Fix locale inconsistencies in Norwegian translations
| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | yes
| Deprecations? | no
| Tests pass?   | N/A
| License       | MIT
2016-02-14 12:22:09 +01:00
Tobias Schultze
088c20c9b3 [Form] remove useless code in ResizeFormListener 2016-02-13 18:06:22 +01:00
Tobias Schultze
0efbc30304 [Form] fix edge cases with choice placeholder 2016-02-13 13:18:37 +01:00
Fabien Potencier
4598b74906 Merge branch '2.3' into 2.7
* 2.3:
  remove unnecessary retrieval and setting of data
  avoid (string) catchable fatal error for __PHP_Incomplete_Class instances
  sendContent return as parent.
  [FrameworkBundle] Fix a typo
2016-02-12 07:23:50 +01:00
Trent Steel
ea52400097 remove unnecessary retrieval and setting of data 2016-02-12 00:13:18 +01:00
Christian Flothmann
0c4b636c24 [Form] fix option name in changelog 2016-01-30 21:05:11 +01:00