Commit Graph

6870 Commits

Author SHA1 Message Date
Fabien Potencier
a29e818a3f minor #18025 [2.7] Don't use reflection when possible (Ener-Getick)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7] Don't use reflection when possible

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

See https://github.com/symfony/symfony/pull/18021

Commits
-------

35be501 Don't use reflections when possible
2016-03-06 11:26:36 +01:00
Ener-Getick
35be5017e7 Don't use reflections when possible 2016-03-05 18:34:36 +01:00
Fabien Potencier
f5cf886500 Merge branch '3.0'
* 3.0:
  Updated all the README files
  [TwigBundle] Fix failing test on appveyor
  Improved the error message when using "@" in a decorated service
  Improve error reporting in router panel of web profiler
  [DoctrineBridge][Form] Fix performance regression in EntityType
  [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths
  Allow to normalize \Traversable
  minor [Form] fix tests added by #16886
  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:56:56 +01:00
Fabien Potencier
4a08c88755 Merge branch '2.8' into 3.0
* 2.8:
  Updated all the README files
  [TwigBundle] Fix failing test on appveyor
  Improved the error message when using "@" in a decorated service
  Improve error reporting in router panel of web profiler
  [DoctrineBridge][Form] Fix performance regression in EntityType
  [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths
  Allow to normalize \Traversable
  minor [Form] fix tests added by #16886
  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:55:57 +01:00
Fabien Potencier
0f3e1a3c34 Merge branch '2.7' into 2.8
* 2.7:
  Updated all the README files
  [TwigBundle] Fix failing test on appveyor
  Improved the error message when using "@" in a decorated service
  Improve error reporting in router panel of web profiler
  [DoctrineBridge][Form] Fix performance regression in EntityType
  [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths
  Allow to normalize \Traversable
  minor [Form] fix tests added by #16886
  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:54:35 +01: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
Fabien Potencier
5ebeccafa5 feature #17887 Show more information in the security profiler (javiereguiluz)
This PR was squashed before being merged into the 3.1-dev branch (closes #17887).

Discussion
----------

Show more information in the security profiler

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

This is an early prototype to explore the feature of displaying more information in the security panel. Example:

![profiler_security](https://cloud.githubusercontent.com/assets/73419/13221929/0235fc46-d97e-11e5-981a-249b7148f3a6.png)

Commits
-------

b12152d Show more information in the security profiler
2016-03-04 08:25:19 +01:00
Javier Eguiluz
b12152d1eb Show more information in the security profiler 2016-03-04 08:25:17 +01:00
Nicolas Grekas
d5bbc3c6cb [TwigBundle] Fix failing test on appveyor 2016-03-03 18:24:01 +01:00
Fabien Potencier
37569be45f bug #17434 Improved the error message when a template is not found (rvanginneken, javiereguiluz)
This PR was merged into the 2.3 branch.

Discussion
----------

Improved the error message when a template is not found

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

### Before

![template_error_before](https://cloud.githubusercontent.com/assets/73419/12414237/7db29212-be94-11e5-85b4-c6444aa853f8.png)

### After

![template_error_after](https://cloud.githubusercontent.com/assets/73419/12414242/80ed1eca-be94-11e5-992e-a0596a1e95ca.png)

This seems to work in the browser ... but I can't make tests pass. Could anybody please help me? Thanks!

Commits
-------

0134d76 Simplified everything
19bfa2e Added a test
88b913b Fixed the problem in an easier way
35f082f Fixed a syntax issue
968476b Improved the error message when a template is not found
e9d951a [CodingStandards] Conformed to coding standards
d3fe07b [TwigBundle] fixed Include file locations in "Template could not be found" exception
2016-03-03 15:31:15 +01:00
Fabien Potencier
0e5ac97ee2 feature #17642 [FrameworkBundle] [DX] Add Controller::json method to make it easy to send json (mcfedr)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] [DX] Add `Controller::json` method to make it easy to send json

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

Its currently a awkward to use Serializer component to send a `JsonResponse`.

I have tried two approaches

1. use `Serializer::normalize` and `JsonResponse`
1. use `Serializer::serialize` and a plain `Response`, and set the `content-type`

In either cases there is need for a custom `json` function so as not to repeat yourself and there are disadvantages.

1. In the first case you are only partly using `Serializer` and any custom `Encoder` would be skipped
1. In the second you are not making use of `JsonResponse`, particular disadvantage if you want to support JSONP.

This new `json` method uses the serializer component is enabled it is used to generate the json data, and falls back to normal `JsonResponse` when its not.

Commits
-------

f904a2b Add a Controller function to make it easy to return json
2016-03-03 14:18:37 +01:00
Fabien Potencier
9d58ad92fe bug #17744 Improve error reporting in router panel of web profiler (javiereguiluz)
This PR was squashed before being merged into the 2.7 branch (closes #17744).

Discussion
----------

Improve error reporting in router panel of web profiler

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

### Problem

If you define a route condition like this:

```yaml
app:
    resource: '@AppBundle/Controller/'
    type:     annotation
    condition: "request.server.get('HTTP_HOST') matches '/.*\.dev/'"
```

When browsing the Routing panel in the web profiler, you see an exception:

![problem](https://cloud.githubusercontent.com/assets/73419/12930027/553eeb08-cf76-11e5-90b1-ab0de6175d4e.png)

#### Why?

Because the route condition uses the `request` object, but the special `TraceableUrlMatcher` class doesn't get access to the real `request` object but to the special object obtained via:

```php
$request = $profile->getCollector('request');
```

These are the contents of this pseudo-request:

![cause](https://cloud.githubusercontent.com/assets/73419/12930052/804ea248-cf76-11e5-9c38-2e43e1654065.png)

`request.server.get(...)` condition fails because `request.server` is `null`. The full exception message shows this:

![exception](https://cloud.githubusercontent.com/assets/73419/12930079/9c7d6058-cf76-11e5-8eeb-45f5059c824c.png)

### Solution

I propose to catch all exceptions in `TraceableUrlMatcher` and display an error message with some details of the exception:

![error_message](https://cloud.githubusercontent.com/assets/73419/12930106/b29e31d2-cf76-11e5-868c-98d8b0cc4e5b.png)

Commits
-------

1001554 Improve error reporting in router panel of web profiler
2016-03-03 14:12:45 +01:00
Javier Eguiluz
10015546b0 Improve error reporting in router panel of web profiler 2016-03-03 14:12:44 +01:00
Fabien Potencier
eee9bfbef6 bug #17894 [FrameworkBundle] Fix a regression in handling absolute template paths (jakzal)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Fix a regression in handling absolute template paths

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

Regression introduced by #15272.

Commits
-------

d8c493f [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths
2016-03-03 13:59:03 +01:00
Jakub Zalas
d8c493f076 [FrameworkBundle] Fix a regression in handling absolute and namespaced template paths 2016-03-03 08:16:18 +00:00
Fabien Potencier
38c36c2f67 Merge branch '3.0'
* 3.0:
  fixed CS
  [DomCrawler] Dont use LIBXML_PARSEHUGE by default
  [Filesystem] Reduce complexity of ->remove()
  added tests for non-trusted proxies
  add 'guid' to list of exception to filter out
  Ensure backend slashes for symlinks on Windows systems
  [Filesystem] Try to delete broken symlinks
  fixed tests
  [FrameworkBundle] Test that ObjectNormalizer is registered
2016-03-02 16:26:30 +01:00
Fabien Potencier
897d813f99 Merge branch '2.8' into 3.0
* 2.8:
  fixed CS
  [DomCrawler] Dont use LIBXML_PARSEHUGE by default
  [Filesystem] Reduce complexity of ->remove()
  added tests for non-trusted proxies
  add 'guid' to list of exception to filter out
  Ensure backend slashes for symlinks on Windows systems
  [Filesystem] Try to delete broken symlinks
  fixed tests
  [FrameworkBundle] Test that ObjectNormalizer is registered
2016-03-02 16:25:36 +01:00
Fabien Potencier
ef08c07329 Merge branch '2.7' into 2.8
* 2.7:
  fixed CS
  [DomCrawler] Dont use LIBXML_PARSEHUGE by default
  [Filesystem] Reduce complexity of ->remove()
  added tests for non-trusted proxies
  add 'guid' to list of exception to filter out
  Ensure backend slashes for symlinks on Windows systems
  [Filesystem] Try to delete broken symlinks
  fixed tests
  [FrameworkBundle] Test that ObjectNormalizer is registered
2016-03-02 16:25:29 +01:00
Fred Cox
f904a2ba99 Add a Controller function to make it easy to return json
If the serializer component is enabled it is used to generate the json
data, if not the standard `json_encode`  function is used
2016-03-02 16:31:41 +02:00
Fabien Potencier
5c34ae4678 feature #17484 [FrameworkBundle][DX] Add Levenshtein suggesters to AbstractConfigCommand (kix)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle][DX] Add Levenshtein suggesters to AbstractConfigCommand

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

It could be helpful to output the best guesses for bundle names and container extension aliases when one could not be found by the exact query.

Perhaps, I could regroup the logic so that it only looks through bundle names if the `Bundle` suffix is present, but I guess this might narrow the use case scope here.

Commits
-------

3c0b0ae Add Levenshtein suggesters to AbstractConfigCommand
2016-03-02 15:18:11 +01:00
Fabien Potencier
bcf0e91a68 feature #17690 [FrameworkBundle] Use canBeEnabled() instead of canBeUnset() for consistency (Ener-Getick)
This PR was squashed before being merged into the 3.1-dev branch (closes #17690).

Discussion
----------

[FrameworkBundle] Use canBeEnabled() instead of canBeUnset() for consistency

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/13703
| License       | MIT

I'm not sure if we should consider this as a bug fix or as a new feature.

Commits
-------

39723c5 [FrameworkBundle] Use canBeEnabled() instead of canBeUnset() for consistency
2016-03-02 14:24:23 +01:00
Ener-Getick
39723c5126 [FrameworkBundle] Use canBeEnabled() instead of canBeUnset() for consistency 2016-03-02 14:24:22 +01:00
Fabien Potencier
9851928f9b fixed tests 2016-03-02 13:43:59 +01:00
Fabien Potencier
11a8524742 minor #17632 [FrameworkBundle] Test that ObjectNormalizer is registered (dunglas)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Test that ObjectNormalizer is registered

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

Commits
-------

129b140 [FrameworkBundle] Test that ObjectNormalizer is registered
2016-03-02 13:42:07 +01:00
Fabien Potencier
20362f70c7 feature #17852 Improved the logger panel when the log context is very long (javiereguiluz)
This PR was squashed before being merged into the 3.1-dev branch (closes #17852).

Discussion
----------

Improved the logger panel when the log context is very long

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

### Problem

When the context of a log message is long, it's very hard to read it:

![long_context](https://cloud.githubusercontent.com/assets/73419/13177340/d0205bbe-d718-11e5-9ba4-243aea0358bb.png)

### Solution

Add a toggle which displays the context properly formatted in several lines:

![logger_expand_context](https://cloud.githubusercontent.com/assets/73419/13177347/e12a723c-d718-11e5-8461-f1827d6dcd8c.gif)

To avoid cluttering the logs, this toggle is only displayed for really long contexts. For example, these three short contexts don't display that link:

![short_context](https://cloud.githubusercontent.com/assets/73419/13177374/fc9f97cc-d718-11e5-8245-8b308c48ebcf.png)

Commits
-------

33f0e5e Improved the logger panel when the log context is very long
2016-03-02 13:19:29 +01:00
Javier Eguiluz
33f0e5e146 Improved the logger panel when the log context is very long 2016-03-02 13:19:20 +01:00
Fabien Potencier
11e1aa8d7c Merge branch '3.0'
* 3.0:
  fix debug toolbar rendering by removing inadvertently added links
  [Form] minor fix tests of Bootstrap layout
  [From] minor fix tests added by #17798 for bootstrap theme
  simplified code
  Allow variadic controller parameters to be resolved.
2016-03-01 18:43:34 +01:00
Fabien Potencier
3a07636729 Merge branch '2.8' into 3.0
* 2.8:
  fix debug toolbar rendering by removing inadvertently added links
  [Form] minor fix tests of Bootstrap layout
  [From] minor fix tests added by #17798 for bootstrap theme
  simplified code
  Allow variadic controller parameters to be resolved.
2016-03-01 18:42:47 +01:00
Fabien Potencier
70bb9bb27f Merge branch '2.7' into 2.8
* 2.7:
  fix debug toolbar rendering by removing inadvertently added links
  simplified code
  Allow variadic controller parameters to be resolved.
2016-03-01 18:35:28 +01:00
Fabien Potencier
c6b68924a0 Merge branch '2.3' into 2.7
* 2.3:
  fix debug toolbar rendering by removing inadvertently added links
  simplified code
  Allow variadic controller parameters to be resolved.
2016-03-01 18:34:38 +01:00
Christian Raue
a0ddfc4246 fix debug toolbar rendering by removing inadvertently added links 2016-03-01 17:26:04 +01:00
Javier Eguiluz
0134d76785 Simplified everything 2016-03-01 15:47:09 +01:00
Fabien Potencier
2a92050125 Merge branch '3.0'
* 3.0:
  Improved Bootstrap form theme for hidden fields
  [WebProfilerBundle] Fix design issue in profiler when having errors in forms
  bumped Symfony version to 3.0.4
  updated VERSION for 3.0.3
  updated CHANGELOG for 3.0.3
  bumped Symfony version to 2.8.4
  updated VERSION for 2.8.3
  updated CHANGELOG for 2.8.3
  bumped Symfony version to 2.7.11
  updated VERSION for 2.7.10
  updated CHANGELOG for 2.7.10
2016-03-01 08:33:16 +01:00
Fabien Potencier
e93ad7d030 Merge branch '2.8' into 3.0
* 2.8:
  Improved Bootstrap form theme for hidden fields
  [WebProfilerBundle] Fix design issue in profiler when having errors in forms
  bumped Symfony version to 2.8.4
  updated VERSION for 2.8.3
  updated CHANGELOG for 2.8.3
  bumped Symfony version to 2.7.11
  updated VERSION for 2.7.10
  updated CHANGELOG for 2.7.10
2016-03-01 08:32:53 +01:00
Fabien Potencier
bd588a3928 bug #17561 [WebProfilerBundle] Fix design issue in profiler when having errors in forms (Pierstoval)
This PR was squashed before being merged into the 2.8 branch (closes #17561).

Discussion
----------

[WebProfilerBundle] Fix design issue in profiler when having errors in forms

| 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

This error occurs mostly when having long form field names or types,

**Before:**
![before](https://cloud.githubusercontent.com/assets/3369266/12610913/89bddfd8-c4ea-11e5-9372-2b7740d8c4b3.png)

**After:**
![after](https://cloud.githubusercontent.com/assets/3369266/12610915/8ae22a4a-c4ea-11e5-94ce-9257a9409b4a.png)

That said, I don't know what to do about z-index, whether the error count prevails on the type or *vice-versa* 😕

@javiereguiluz, an idea ?

Commits
-------

76e1c0a [WebProfilerBundle] Fix design issue in profiler when having errors in forms
2016-03-01 07:14:52 +01:00
Alex Rock Ancelet
76e1c0aefb [WebProfilerBundle] Fix design issue in profiler when having errors in forms 2016-03-01 07:14:44 +01:00
Kévin Dunglas
89467b529d [FrameworkBundle] Fix PhpDocExtractor registration 2016-02-29 22:59:13 +01:00
Fabien Potencier
c55babaf95 minor #17931 [FrameworkBundle] Fix PropertyInfo registration when using reflection-docblock 3 (dunglas)
This PR was squashed before being merged into the 3.1-dev branch (closes #17931).

Discussion
----------

[FrameworkBundle] Fix PropertyInfo registration when using reflection-docblock 3

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

Currently, the PHPDoc extractor of PropertyInfo is not registered anymore because #17531 was merged.

Commits
-------

6d31365 [FrameworkBundle] Fix PropertyInfo registration when using reflection-docblock 3
2016-02-29 18:26:52 +01:00
Kévin Dunglas
6d31365850 [FrameworkBundle] Fix PropertyInfo registration when using reflection-docblock 3 2016-02-29 18:26:50 +01:00
Fabien Potencier
a99d713b21 Merge branch '3.0'
* 3.0:
  #17676 - making the proxy instantiation compatible with ProxyManager 2.x by detecting proxy features
  #17676 - making the proxy instantiation compatible with ProxyManager 2.x by detecting proxy features
  Fix bug when using an private aliased factory service
  [Form] fix tests added by #17798 by removing `choices_as_values`
  [Form] fix FQCN in tests added by #17798
  [DependencyInjection] Remove unused parameter of private property
  bug #17798 [Form] allow `choice_label` option to be `false`
  [Form] fix tests added by #17760 with FQCN
  ChoiceFormField of type "select" could be "disabled"
  Update contributing docs
  [Console] Fix escaping of trailing backslashes
  Fix constraint validator alias being required
  [DependencyInjection] Simplified code in AutowirePass
  [ci] clone with depth=1 to kill push-forced PRs
  Add check on If-Range header
2016-02-28 17:28:07 +01:00
Fabien Potencier
b9cd91d342 Merge branch '2.8' into 3.0
* 2.8:
  #17676 - making the proxy instantiation compatible with ProxyManager 2.x by detecting proxy features
  Fix bug when using an private aliased factory service
  ChoiceFormField of type "select" could be "disabled"
  Update contributing docs
  [Console] Fix escaping of trailing backslashes
  Fix constraint validator alias being required
  [ci] clone with depth=1 to kill push-forced PRs
  Add check on If-Range header
2016-02-28 17:24:34 +01:00
Fabien Potencier
caf2871b87 Merge branch '2.7' into 2.8
* 2.7:
  #17676 - making the proxy instantiation compatible with ProxyManager 2.x by detecting proxy features
  Fix bug when using an private aliased factory service
  ChoiceFormField of type "select" could be "disabled"
  Update contributing docs
  [Console] Fix escaping of trailing backslashes
  Fix constraint validator alias being required
  [ci] clone with depth=1 to kill push-forced PRs
  Add check on If-Range header
2016-02-28 17:20:50 +01:00
Fabien Potencier
51a71ab74a Merge branch '2.3' into 2.7
* 2.3:
  #17676 - making the proxy instantiation compatible with ProxyManager 2.x by detecting proxy features
  Fix bug when using an private aliased factory service
  ChoiceFormField of type "select" could be "disabled"
  Update contributing docs
  [Console] Fix escaping of trailing backslashes
  Fix constraint validator alias being required
  [ci] clone with depth=1 to kill push-forced PRs
  Add check on If-Range header
2016-02-28 17:19:47 +01:00
Kévin Dunglas
a696107126 [FrameworkBundle] Fix test for JsonSerializableNormalizer 2016-02-26 18:18:07 +01:00
Fabien Potencier
aa770e163d feature #17782 Support autowiring for Doctrine\Common\Annotations\Reader (maryo)
This PR was merged into the 3.1-dev branch.

Discussion
----------

Support autowiring for Doctrine\Common\Annotations\Reader

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

I've added support for autowiring based on `Doctrine\Common\Annotations\Reader` interface simmilar to https://github.com/symfony/symfony/pull/17703/files

The `annotations.cached_reader` service is injected when cache is enabled.

Commits
-------

b325f9c Support autowiring for Doctrine\Common\Annotations\Reader
2016-02-26 06:17:41 +01:00
Fred Cox
a6788813fa Add a normalizer that support JsonSerializable objects
Handles circular references
2016-02-25 21:06:29 +02:00
Tristan Roussel
5136c308f2 Fix constraint validator alias being required 2016-02-23 21:06:57 +01:00
Fabien Potencier
1b85799602 Merge branch '3.0'
* 3.0: (21 commits)
  fixed typo
  fixed typo
  Fixed a minor XML issue in a translation file
  Fix merge
  Fix merge
  Fix merge
  Fix merge
  Update twig.html.twig
  PhpUnitNoDedicateAssertFixer results
  disable the assets helper when assets are disabled
  Improve Norwegian translations
  [2.7] [FrameworkBundle] minor fix tests added by #17569
  Fixed the antialiasing of the toolbar text
  Simplify markdown for PR template
  fixed CS
  fixed CS
  documented the $url parameter better
  [Form] add test for ArrayChoiceList handling null
  [Form] fix edge cases with choice placeholder
  register commands from kernel when accessing list
  ...
2016-02-23 17:17:05 +01:00
Fabien Potencier
6782cfa011 Merge branch '2.8' into 3.0
* 2.8:
  fixed typo
  fixed typo
  Fixed a minor XML issue in a translation file
  Fix merge
  Fix merge
  Fix merge
  Fix merge
  Update twig.html.twig
  PhpUnitNoDedicateAssertFixer results
  Improve Norwegian translations
  [2.7] [FrameworkBundle] minor fix tests added by #17569
  Fixed the antialiasing of the toolbar text
  Simplify markdown for PR template
  fixed CS
  fixed CS
  documented the $url parameter better
  [Form] add test for ArrayChoiceList handling null
  [Form] fix edge cases with choice placeholder
  register commands from kernel when accessing list
  Update FileSystem
2016-02-23 16:16:06 +01:00
Nicolas Grekas
7cab4f24ae Fix merge 2016-02-23 08:42:06 +01:00
Nicolas Grekas
af2d41939d Fix merge 2016-02-22 17:50:46 +01:00
Fabien Potencier
2c6905e890 feature #17630 [FrameworkBundle] Register the DateTimeNormalizer (dunglas)
This PR was squashed before being merged into the 3.1-dev branch (closes #17630).

Discussion
----------

[FrameworkBundle] Register the DateTimeNormalizer

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

Commits
-------

5a76eb2 [FrameworkBundle] Register the DateTimeNormalizer
2016-02-22 16:20:10 +01:00
Kévin Dunglas
5a76eb2b73 [FrameworkBundle] Register the DateTimeNormalizer 2016-02-22 16:18:05 +01:00
Kévin Dunglas
9bd0d31c15 [FrameworkBundle] Register the DataUriNormalizer 2016-02-22 16:14:55 +01:00
Fabien Potencier
5324e5b315 Merge branch '2.7' into 2.8
* 2.7:
  Update twig.html.twig
  [2.7] [FrameworkBundle] minor fix tests added by #17569
  fixed CS
  fixed CS
  documented the $url parameter better
  [Form] add test for ArrayChoiceList handling null
  [Form] fix edge cases with choice placeholder
  register commands from kernel when accessing list
  Update FileSystem
2016-02-22 16:02:30 +01:00
Fabien Potencier
24cdae71a1 minor #17883 Update twig.html.twig (tvlooy)
This PR was merged into the 2.7 branch.

Discussion
----------

Update twig.html.twig

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

Replace base64 template icon with svg version. If you set the Content-Security-Policy you would need to provide "img-src 'self' data:;" just for that icon (or get an error in the console). This should be fixed in the new version of the toolbar but it would be nice to have a fix for 2.7 LTS too.

Commits
-------

d29f04c Update twig.html.twig
2016-02-22 16:01:50 +01:00
Tom Van Looy
d29f04c149 Update twig.html.twig
Replace base64 template icon with svg version. If you set the Content-Security-Policy you would need to provide "img-src 'self' data:;" just for that icon (or get an error in the console). This should be fixed in the new version of the toolbar but it would be nice to have a fix for 2.7 LTS too.
2016-02-22 14:30:57 +01:00
Marek Štípek
b325f9ca80 Support autowiring for Doctrine\Common\Annotations\Reader 2016-02-21 21:36:36 +01:00
Christian Flothmann
c18f781684 disable the assets helper when assets are disabled 2016-02-20 17:58:32 +01:00
Jules Pietri
ce6e5ac5aa [2.7] [FrameworkBundle] minor fix tests added by #17569 2016-02-19 17:41:56 +01:00
Javier Eguiluz
5ad065de96 Fixed the antialiasing of the toolbar text 2016-02-19 17:33:18 +01:00
Fabien Potencier
653428af76 Merge branch '2.3' into 2.7
* 2.3:
  fixed CS
  fixed CS
  documented the $url parameter better
  register commands from kernel when accessing list
  Update FileSystem
2016-02-18 17:03:55 +01:00
Fabien Potencier
a02967c9ee fixed CS 2016-02-18 16:45:01 +01:00
Fabien Potencier
e932baec28 bug #17569 [FrameworkBundle] read commands from bundles when accessing list (havvg)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] read commands from bundles when accessing list

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

This allows access to the list of commands registered by the kernel (bundle and later service ids) programmatically when you do not `run` the application.

Commits
-------

0fe3088 register commands from kernel when accessing list
2016-02-18 16:42:34 +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
6e0d0850f4 Merge branch '3.0'
* 3.0:
  [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
  [Yaml] always restore the error handler in tests
  [FrameworkBundle] fix YAML syntax
  fix YAML syntax in functional tests config
  [HttpFoundation] [Session] Removed unnecessary PHP version check as minimum requirement is now 5.5.9
  [Form] Fixed violation mapping if multiple forms are using the same (or part of the same) property path
  fix FQCN in tests added by #17694
  Fix locale and written standard inconsistencies for Norwegian translations
  [Form] [Validator] Fix locale inconsistencies in Norwegian translations
  [TwigBridge] Symfony 3.1 forward compatibility
  fixed CS
  [DependencyInjection] fixed exceptions thrown by get method of ContainerBuilder
  [Yaml] properly parse lists in object maps
  [FrameworkBundle] Remove unused private method.
  [Form] remove useless code in ResizeFormListener
  [Config] Fix EnumNodeDefinition to allow building enum nodes with one element
  [Form] remove deprecated empty_value_in_choices
  fix choice_value option in EntityType and add some tests
2016-02-16 09:48:00 +01:00
Fabien Potencier
f0dffcb270 Merge branch '2.8' into 3.0
* 2.8:
  [Yaml] always restore the error handler in tests
  [FrameworkBundle] fix YAML syntax
  fix YAML syntax in functional tests config
2016-02-16 08:17:50 +01:00
Fabien Potencier
15ecc7bf63 Merge branch '2.7' into 2.8
* 2.7:
  [FrameworkBundle] fix YAML syntax
  fix YAML syntax in functional tests config
2016-02-16 08:16:12 +01:00
Fabien Potencier
1af6e98851 Merge branch '2.3' into 2.7
* 2.3:
  fix YAML syntax in functional tests config
2016-02-16 08:15:42 +01:00
Fabien Potencier
2128d52cb8 Merge branch '2.8' into 3.0
* 2.8:
  [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
  fix FQCN in tests added by #17694
  Fix locale and written standard inconsistencies for Norwegian translations
  [Form] [Validator] Fix locale inconsistencies in Norwegian translations
  [TwigBridge] Symfony 3.1 forward compatibility
  fixed CS
  [DependencyInjection] fixed exceptions thrown by get method of ContainerBuilder
  [Yaml] properly parse lists in object maps
  [FrameworkBundle] Remove unused private method.
  [Form] remove useless code in ResizeFormListener
  [Config] Fix EnumNodeDefinition to allow building enum nodes with one element
  fix choice_value option in EntityType and add some tests
2016-02-16 07:11:42 +01:00
Christian Flothmann
2da40382ab [FrameworkBundle] fix YAML syntax 2016-02-15 19:07:52 +01:00
Christian Flothmann
d9af4bc606 fix YAML syntax in functional tests config 2016-02-15 19:05:26 +01:00
Paráda József
94bec9a993 [FrameworkBundle] Remove unused private method. 2016-02-13 22:20:23 +01:00
Tobias Schultze
0efbc30304 [Form] fix edge cases with choice placeholder 2016-02-13 13:18:37 +01:00
Nicolas Grekas
2d75718e6b Merge branch '3.0'
* 3.0:
  [VarDumper] Fix tests on PHP 7
  [DomCrawler] Clarify the value returned by getPhpFiles()
  [DependencyInjection] Fix #16461 Let Container::set() replace existing aliases
  avoid (string) catchable fatal error for instances of __PHP_Incomplete_Class
  remove unnecessary retrieval and setting of data
  Update validators.fr.xlf
  avoid (string) catchable fatal error for __PHP_Incomplete_Class instances
  sendContent return as parent.
  [DomCrawler] Remove the overridden getHash() method to prevent problems when cloning the crawler
  [FrameworkBundle] Fix a typo
  Added more exceptions to singularify method
  Add width attribute on SVG
  [FrameworkBundle] Support autowiring for TranslationInterface
  [Validator] remove obsolete context and PropertyAccess code
  [WebProfiler] Fixed styles for search block and menu profiler for IE Edge
2016-02-13 10:24:02 +01:00
Nicolas Grekas
74c4974998 Merge branch '2.8' into 3.0
* 2.8:
  [VarDumper] Fix tests on PHP 7
  [DomCrawler] Clarify the value returned by getPhpFiles()
  [DependencyInjection] Fix #16461 Let Container::set() replace existing aliases
  avoid (string) catchable fatal error for instances of __PHP_Incomplete_Class
  remove unnecessary retrieval and setting of data
  Update validators.fr.xlf
  avoid (string) catchable fatal error for __PHP_Incomplete_Class instances
  sendContent return as parent.
  [DomCrawler] Remove the overridden getHash() method to prevent problems when cloning the crawler
  [FrameworkBundle] Fix a typo
  Added more exceptions to singularify method
  Add width attribute on SVG
  [FrameworkBundle] Support autowiring for TranslationInterface
  [WebProfiler] Fixed styles for search block and menu profiler for IE Edge

Conflicts:
	src/Symfony/Component/DependencyInjection/Tests/ContainerTest.php
	src/Symfony/Component/DomCrawler/Crawler.php
2016-02-13 10:23:44 +01:00
Nicolas Grekas
1d8d43b4e7 Merge branch '2.7' into 2.8
* 2.7:
  [VarDumper] Fix tests on PHP 7
  [DomCrawler] Clarify the value returned by getPhpFiles()
  [DependencyInjection] Fix #16461 Let Container::set() replace existing aliases
  avoid (string) catchable fatal error for instances of __PHP_Incomplete_Class
  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
  Added more exceptions to singularify method
2016-02-13 10:21:29 +01:00
Fabien Potencier
ffa5790f6e feature #17726 [FrameworkBundle] Improve debug:container command (voronkovich)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] Improve debug:container command

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

When the only one service found we could set it as a default value, so user have to just press enter to see it's definition.

Commits
-------

3c6043e Improve debug:container command
2016-02-12 17:16:39 +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
Jakub Zalas
89133e6a71 [FrameworkBundle] Fix a typo 2016-02-10 10:18:08 +00:00
Alexandre Pavy
0ba88c2a44 Add width attribute on SVG
Fix Debug Toolbar on microsoft Edge
2016-02-09 21:05:23 +01:00
Fabien Potencier
d61ca3d650 bug #17703 [FrameworkBundle] Support autowiring for TranslationInterface (dunglas)
This PR was squashed before being merged into the 2.8 branch (closes #17703).

Discussion
----------

[FrameworkBundle] Support autowiring for TranslationInterface

| 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

Commits
-------

2419725 [FrameworkBundle] Support autowiring for TranslationInterface
2016-02-09 20:51:46 +01:00
Kévin Dunglas
2419725cbb [FrameworkBundle] Support autowiring for TranslationInterface 2016-02-09 20:51:45 +01:00
BRAMILLE Sébastien
7d3700a48f Webprofiler add status code to search form 2016-02-09 20:48:16 +01:00
Oleg Voronkovich
3c6043ecdd Improve debug:container command 2016-02-09 15:14:01 +03:00
Fabien Potencier
9d04018350 bug #17613 [WebProfiler] Fixed logo and menu profiler for Microsoft Edge (WhiteEagle88)
This PR was merged into the 2.8 branch.

Discussion
----------

[WebProfiler] Fixed logo and menu profiler for Microsoft Edge

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

Commits
-------

d120c08 [WebProfiler] Fixed styles for search block and menu profiler for IE Edge
2016-02-08 08:35:16 +01:00
Fabien Potencier
45031ff31d minor #17398 [Validator] remove obsolete context and PropertyAccess code (Tobion)
This PR was squashed before being merged into the 3.0 branch (closes #17398).

Discussion
----------

[Validator] remove obsolete context and PropertyAccess code

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

Commits
-------

a9d9d62 [Validator] remove obsolete context and PropertyAccess code
2016-02-06 08:05:32 +01:00
Tobias Schultze
a9d9d62e9b [Validator] remove obsolete context and PropertyAccess code 2016-02-06 08:05:29 +01:00
Nicolas Grekas
1bd125ec4a Merge branch '3.0'
* 3.0: (105 commits)
  [Console] remove readline support
  bumped Symfony version to 3.0.3
  updated VERSION for 3.0.2
  updated CHANGELOG for 3.0.2
  [Routing] added a suggestion to add the HttpFoundation component.
  [FrameworkBundle] fix assets and templating tests
  [ClassLoader] fix ApcClassLoader tests on HHVM
  [travis] Add some comments
  changed operator from and to &&
  [DependencyInjection] Remove unused parameter
  [Process] Fix transient tests for incremental outputs
  [Console] Add missing `@require` annotation in test
  Fix merge
  [appveyor] Fix failure reporting
  [#17634] move DebugBundle license file
  Limit Ldap component version for the 3.0 branch
  backport GlobTest from 2.7 branch
  Move licenses according to new best practices
  [FrameworkBundle] Remove unused code in test
  [2.3] Fixed an undefined variable in Glob::toRegex
  ...

Conflicts:
	.travis.yml
	composer.json
	src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/assets.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/assets.xml
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/assets.yml
	src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar_item.html.twig
	src/Symfony/Component/Console/CHANGELOG.md
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/PropertyInfo/Tests/PropertyInfoExtractorTest.php
	src/Symfony/Component/Yaml/Tests/ParserTest.php
2016-02-04 13:57:09 +01:00
Nicolas Grekas
9617b77a9c Merge branch '2.8' into 3.0
* 2.8:
  [Console] remove readline support
  [Routing] added a suggestion to add the HttpFoundation component.
  [travis] Add some comments
  changed operator from and to &&
  Fixed the Bootstrap form theme for inlined checkbox/radio
2016-02-04 13:12:16 +01:00
Nicolas Grekas
85cad75976 Merge branch '2.7' into 2.8
* 2.7:
  [Routing] added a suggestion to add the HttpFoundation component.
  [travis] Add some comments
  changed operator from and to &&
  Fixed the Bootstrap form theme for inlined checkbox/radio

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/choice_widget_collapsed.html.php
2016-02-04 13:12:02 +01:00
Nicolas Grekas
fc939580ab Merge branch '2.3' into 2.7
* 2.3:
  [travis] Add some comments
  changed operator from and to &&

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/choice_widget_collapsed.html.php
2016-02-04 13:09:54 +01:00
Christian Flothmann
293df5d610 [FrameworkBundle] fix assets and templating tests
Now that the `assets` section is automatically enabled when `templating`
is enabled (see #17506), the `templating.helper.assets` will also be
present as soon as the `templating` section is activated.
2016-02-03 10:47:50 +01:00
Fabien Potencier
c71840193c changed operator from and to && 2016-02-02 15:23:07 +01:00
Nicolas Grekas
1f7a6935f8 Merge branch '2.8' into 3.0
* 2.8:
  [Process] Fix transient tests for incremental outputs
  [Console] Add missing `@require` annotation in test
  Fix merge
  [appveyor] Fix failure reporting
  [#17634] move DebugBundle license file
  backport GlobTest from 2.7 branch
  Move licenses according to new best practices
  [FrameworkBundle] Remove unused code in test
  [2.3] Fixed an undefined variable in Glob::toRegex
  simplified a test
  fix container cache key generation
  [Form] fix option name in upgrade file
  [Form] fix option name in changelog
  [Translation] Add resources from fallback locale
  [DependencyInjection] enforce tags to have a name
  [YAML] Refine the return value of Yaml::parse()

Conflicts:
	UPGRADE-2.8.md
2016-02-02 14:44:19 +01:00
Kévin Dunglas
0bacababd9 feature #16947 [FrameworkBundle] PropertyInfo: register the SerializerExtractor (dunglas)
This PR was squashed before being merged into the 3.1-dev branch (closes #16947).

Discussion
----------

[FrameworkBundle] PropertyInfo: register the SerializerExtractor

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

Commits
-------

4422103 [FrameworkBundle] PropertyInfo: register the SerializerExtractor
2016-02-02 11:58:58 +01:00
Kévin Dunglas
4422103a9a [FrameworkBundle] PropertyInfo: register the SerializerExtractor 2016-02-02 11:58:55 +01:00
Nicolas Grekas
ab1fab2911 Merge branch '2.7' into 2.8
* 2.7:
  [Console] Add missing `@require` annotation in test
  Fix merge
  [appveyor] Fix failure reporting
  [#17634] move DebugBundle license file
  backport GlobTest from 2.7 branch
  Move licenses according to new best practices
  [FrameworkBundle] Remove unused code in test
  [2.3] Fixed an undefined variable in Glob::toRegex
  simplified a test
  fix container cache key generation
  [Form] fix option name in changelog
  [Translation] Add resources from fallback locale
  [DependencyInjection] enforce tags to have a name
  [YAML] Refine the return value of Yaml::parse()

Conflicts:
	src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php
2016-02-02 10:49:18 +01:00
Christian Flothmann
1a96c40f35 [#17634] move DebugBundle license file 2016-02-01 20:40:12 +01:00
Christian Flothmann
10c17f8589 Merge branch '2.3' into 2.7
* 2.3:
  Move licenses according to new best practices
2016-02-01 20:38:55 +01:00