Commit Graph

28708 Commits

Author SHA1 Message Date
Maxime STEINHAUSSER
1ed9335e88 [Config] Do not skip YamlReferenceDumperTest entirely 2016-12-08 11:59:24 +01:00
Maxime STEINHAUSSER
685a9b9d9a [Config] Fix YamlReferenceDumper extra space 2016-12-08 11:42:33 +01:00
Fabien Potencier
f5058ac898 bug #20701 Ignore missing 'debug.file_link_formatter' service in Debug and Twig bundles (mbabker)
This PR was merged into the 3.2 branch.

Discussion
----------

Ignore missing 'debug.file_link_formatter' service in Debug and Twig bundles

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

The TwigBundle's `twig.extension.code` service and the DebugBundle's `data_collector.dump` service require the new `debug.file_link_formatter` service however this is only available with the FrameworkBundle or WebProfilerBundle 3.2.  The class it refers to was added to the HttpKernel at 3.2 as well.  In the case of the TwigBundle, attempting to upgrade a site's dependencies where you try to install `symfony/twig-bundle ~3.2` with `symfony/framework-bundle <3.2` or `symfony/web-profiler-bundle <3.2` causes a `ServiceNotFoundException` with message 'The service "twig" has a dependency on a non-existent service "debug.file_link_formatter".' to be thrown.

Commits
-------

0cd2c58 Ignore missing 'debug.file_link_formatter' service in Debug and Twig bundles
2016-12-08 10:45:07 +01:00
Fabien Potencier
62839f7102 minor #20820 Fixed typo (lukaszgi)
This PR was submitted for the master branch but it was merged into the 2.8 branch instead (closes #20820).

Discussion
----------

Fixed typo

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

Commits
-------

3f94abd Fixed typo
2016-12-08 08:36:50 +01:00
Łukasz
3f94abde00 Fixed typo 2016-12-08 08:36:49 +01:00
Fabien Potencier
4317a7a256 bug #20816 [FrameworkBundle] Removed kernel.debug from the cache pool namespace seed (Sander Toonen)
This PR was merged into the 3.1 branch.

Discussion
----------

[FrameworkBundle] Removed kernel.debug from the cache pool namespace seed

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

Commits
-------

8e1dac5 [FrameworkBundle] Removed the kernel.debug parameter from the cache pool namespace seed
2016-12-08 08:18:02 +01:00
Sander Toonen
8e1dac5507 [FrameworkBundle] Removed the kernel.debug parameter from the cache pool namespace seed 2016-12-07 14:49:48 +01:00
Fabien Potencier
d4ba8b1608 minor #20812 Fix misprint in email address (bocharsky-bw)
This PR was merged into the 2.8 branch.

Discussion
----------

Fix misprint in email address

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

Commits
-------

ad477e7 Fix email address
2016-12-07 14:22:04 +01:00
Victor Bocharsky
ad477e705e Fix email address 2016-12-07 13:56:23 +02:00
Fabien Potencier
f2691d5ed5 bug #20769 [Bridge\Twig] Trigger deprecation when using FormExtension::$renderer (nicolas-grekas)
This PR was merged into the 3.2 branch.

Discussion
----------

[Bridge\Twig] Trigger deprecation when using FormExtension::$renderer

| Q             | A
| ------------- | ---
| Branch?       | 3.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes (instead of a BC break)
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

As spotted in #20710 and https://github.com/sonata-project/SonataAdminBundle/pull/4216.
Note that this simple implementation is fine because neither the class nor its parent have any private/protected properties.

Commits
-------

6f1c59c [Bridge\Twig] Trigger deprecation when using FormExtension::$renderer
2016-12-07 09:23:30 +01:00
Maxime Steinhausser
e38be091ce [FrameworkBundle] framework.annotations default should be true only if doctrine/annotations is installed 2016-12-07 09:18:33 +01:00
Fabien Potencier
7a07c1b464 minor #20800 [Security] fix the docblock in regard to the role argument (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] fix the docblock in regard to the role argument

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

Makes the docblocks consistent with the `UserInterface` since #17525.

Commits
-------

4e563ae fix the docblock in regard to the role argument
2016-12-07 09:06:36 +01:00
Christian Flothmann
4e563aee02 fix the docblock in regard to the role argument 2016-12-06 21:51:50 +01:00
Nicolas Grekas
6f1c59c7ef [Bridge\Twig] Trigger deprecation when using FormExtension::$renderer 2016-12-06 21:36:58 +01:00
Adam Prager
8fe144e86a [Workflow] Added missing docblock 2016-12-06 21:30:46 +01:00
Javier Eguiluz
ea78cf8d23 minor #20790 Don't use the "app" global variable in the profiler (javiereguiluz)
This PR was merged into the 3.1 branch.

Discussion
----------

Don't use the "app" global variable in the profiler

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

The use of the `app` variable makes this incompatible with projects like Silex (as pointed by @stof in https://github.com/symfony/symfony/pull/20646#discussion_r91080514)

Commits
-------

a777618 Don't use the "app" global variable in the profiler
2016-12-06 17:22:34 +01:00
Javier Eguiluz
a77761833f Don't use the "app" global variable in the profiler 2016-12-06 17:18:42 +01:00
Nicolas Grekas
fb4a583bc8 Merge branch '2.7' into 2.8
* 2.7:
  [VarDumper] fix tests when xdebug is enabled
2016-12-06 17:05:07 +01:00
Nicolas Grekas
e59ae4d618 minor #20785 [VarDumper] fix tests when xdebug is enabled (ShinDarth)
This PR was submitted for the master branch but it was merged into the 2.7 branch instead (closes #20785).

Discussion
----------

[VarDumper] fix tests when xdebug is enabled

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

- Disabled some test cases when xdebug is enabled, see https://github.com/symfony/symfony/issues/20778

Commits
-------

488ebbf [VarDumper] fix tests when xdebug is enabled
2016-12-06 17:03:46 +01:00
ShinDarth
488ebbfe5d [VarDumper] fix tests when xdebug is enabled 2016-12-06 17:03:37 +01:00
Nicolas Grekas
182f90638d Fix merge 2016-12-06 15:06:08 +01:00
Fabien Potencier
87423cdf80 bug #20646 Maintain the selected panel when redirecting to another profile (javiereguiluz)
This PR was merged into the 3.1 branch.

Discussion
----------

Maintain the selected panel when redirecting to another profile

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

Commits
-------

de7b326 Maintain the selected panel when redirecting to another profile
2016-12-06 14:36:57 +01:00
Nicolas Grekas
cffa826146 Merge branch '2.7' into 2.8
* 2.7:
  [Cache] Fix dumping SplDoublyLinkedList iter mode
  [Console] fixed PHP7 Errors when not using Dispatcher
2016-12-06 12:59:35 +01:00
Nicolas Grekas
777fda319d bug #20767 [Cache] Fix dumping SplDoublyLinkedList iter mode (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Cache] Fix dumping SplDoublyLinkedList iter mode

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

Commits
-------

bfe149f [Cache] Fix dumping SplDoublyLinkedList iter mode
2016-12-06 12:56:14 +01:00
Kévin Dunglas
16cea37359
bug #20690 [Serializer] Fix argument object denormalization (ogizanagi)
This PR was merged into the 3.2 branch.

Discussion
----------

[Serializer] Fix argument object denormalization

| Q             | A
| ------------- | ---
| Branch?       | 3.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20670
| License       | MIT
| Doc PR        | N/A

Fixes #20670. I've seen https://github.com/symfony/symfony/pull/19277#discussion-diff-69389638 so I think it's the right thing to do, but I didn't follow the thread at the time, so I may have missed something.

Ping @theofidry, @dunglas.

Commits
-------

27de65a [Serializer] Fix argument object denormalization
2016-12-06 12:12:10 +01:00
Fabien Potencier
63087e515e bug #20762 [Form] Fix FormDataCollector (nicolas-grekas, Padam87)
This PR was merged into the 3.2 branch.

Discussion
----------

[Form] Fix FormDataCollector

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

Alternative to #20707

Commits
-------

50400c4 [Form] Add failing test for data collector bug
164a20c [Form] Fix FormDataCollector
2016-12-06 11:23:23 +01:00
Fabien Potencier
0da570c611 minor #20766 FIXED NON EXISTING TYPE DECLARATION (edwinhageman)
This PR was submitted for the master branch but it was merged into the 3.1 branch instead (closes #20766).

Discussion
----------

FIXED NON EXISTING TYPE DECLARATION

| Q             | A
| ------------- | ---
| Branch?       | 3.1, 3.2
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20765
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Commits
-------

d99234a FIXED NON EXISTING TYPE DECLARATION
2016-12-05 19:31:47 +01:00
Edwin Hageman
d99234a930 FIXED NON EXISTING TYPE DECLARATION 2016-12-05 19:31:46 +01:00
Adam Prager
50400c45ee [Form] Add failing test for data collector bug 2016-12-05 18:46:26 +01:00
Nicolas Grekas
bfe149fdc6 [Cache] Fix dumping SplDoublyLinkedList iter mode 2016-12-05 18:21:04 +01:00
Nicolas Grekas
164a20c852 [Form] Fix FormDataCollector 2016-12-05 16:02:54 +01:00
Michael Babker
0cd2c589eb Ignore missing 'debug.file_link_formatter' service in Debug and Twig bundles 2016-12-05 08:31:24 -06:00
Fabien Potencier
456e68bae5 bug #20747 [HttpKernel] Fixed RequestDataCollector handling of null header values. (Gabriel Moreira)
This PR was submitted for the master branch but it was merged into the 3.2 branch instead (closes #20747).

Discussion
----------

[HttpKernel] Fixed RequestDataCollector handling of null header values.

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

This PR references this [discussion](1fee78443c (commitcomment-20028839)).

Commits
-------

adc4a26 [HttpKernel] Fixed RequestDataCollector handling of null header values.
2016-12-05 14:20:31 +01:00
Gabriel Moreira
adc4a26971 [HttpKernel] Fixed RequestDataCollector handling of null header values. 2016-12-05 14:20:31 +01:00
Fabien Potencier
2d4268936a bug #20727 [TwigBundle] Inject project root path into twig filesystem loader (4rthem)
This PR was merged into the 3.2 branch.

Discussion
----------

[TwigBundle] Inject project root path into twig filesystem loader

 * [TwigBundle] added project root path to filesystem loader

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

Commits
-------

1094773 inject project root path into twig filesystem loader
2016-12-05 14:12:20 +01:00
Fabien Potencier
f9bceb832f bug #20736 [Console] fixed PHP7 Errors when not using Dispatcher (keradus)
This PR was squashed before being merged into the 2.7 branch (closes #20736).

Discussion
----------

[Console] fixed PHP7 Errors when not using Dispatcher

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #17257, #20110, #20111
| License       | MIT
| Doc PR        | n/a

Original fix, #19813, works only when there is event dispatcher available.
This PR fix the issue also for scenario without event dispatcher.

Closes #20110 issue and #20111 PR connected to it.
Closing #17257 , as everywhere the error is converted to exception and it should be handled

Commits
-------

899fa79 [Console] fixed PHP7 Errors when not using Dispatcher
2016-12-05 14:00:59 +01:00
Dariusz Ruminski
899fa7936b [Console] fixed PHP7 Errors when not using Dispatcher 2016-12-05 14:00:57 +01:00
Arthur de Moulins
1094773999 inject project root path into twig filesystem loader 2016-12-05 10:46:00 +01:00
Fabien Potencier
1188b4d6f4 Merge branch '2.7' into 2.8
* 2.7:
  Regression test for missing controller arguments
  fix a test checking for a value
  [Form][DX] FileType "multiple" fixes
  fixed CS
  [TwigBundle] Fix twig loader registered twice
  [Console] Fix wrong handling of multiline arg/opt descriptions
  [DependencyInjection] PhpDumper.php: hasReference() should not search references in lazy service arguments.
  [Form] fixed "empty_value" option deprecation
2016-12-05 09:41:28 +01:00
Fabien Potencier
68d5e0dcb1 bug #20756 [3.1][HttpKernel] Regression test for missing controller arguments (iltar)
This PR was merged into the 3.1 branch.

Discussion
----------

[3.1][HttpKernel] Regression test for missing controller arguments

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

Same fix as #20755 but for 3.1 and up as the new feature was hit by the same bug.

ping @fabpot

Commits
-------

9e588b8 Regression test for missing controller arguments (3.1)
2016-12-05 09:35:42 +01:00
Iltar van der Berg
9e588b8d96 Regression test for missing controller arguments (3.1) 2016-12-05 09:10:32 +01:00
Fabien Potencier
e70dc640cf bug #20755 [2.7][HttpKernel] Regression test for missing controller arguments (iltar)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][HttpKernel] Regression test for missing controller arguments

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

This fix should ensure that when an action has a mandatory parameter without a type, it will throw the exception instead of inserting null.

This test was missing when adding nullable support in 2.7 and up (probably has to be added to 3.1 as well).

Commits
-------

d1a7164 Regression test for missing controller arguments
2016-12-05 08:53:58 +01:00
Iltar van der Berg
d1a7164626 Regression test for missing controller arguments 2016-12-05 08:37:23 +01:00
Martynas Narbutas
8306530e60 [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0) 2016-12-03 15:43:25 +01:00
Nicolas Grekas
e0bd2a2b08 minor #20741 [DependencyInjection] fix a test checking for a value (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] fix a test checking for a value

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

Commits
-------

aea0478 fix a test checking for a value
2016-12-03 15:32:00 +01:00
Christian Flothmann
aea0478451 fix a test checking for a value 2016-12-03 14:58:39 +01:00
Fabien Potencier
b699e4b77b bug #20732 fix the inline level for dumped multi-line strings (xabbuh)
This PR was merged into the 3.1 branch.

Discussion
----------

fix the inline level for dumped multi-line strings

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

Commits
-------

5269796 fix the inline level for dumped multi-line strings
2016-12-03 12:35:23 +01:00
Fabien Potencier
7ef0951daf bug #20418 [Form][DX] FileType "multiple" fixes (yceruto)
This PR was squashed before being merged into the 2.7 branch (closes #20418).

Discussion
----------

[Form][DX] FileType "multiple" fixes

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

# (1st) Derive "data_class" option from passed "multiple" option

Information
-------------

Following this tutorial ["How to Upload Files"][1] but storing many `brochures` instead of one, i.e.:

```php
// src/AppBundle/Entity/Product.php

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     */
    private $brochures;

    //...
}
```

```php
//src/AppBundle/Form/ProductType.php

$builder->add('brochures', FileType::class, array(
    'label' => 'Brochures (PDF files)',
    'multiple' => true,
));
```

The Problem
--------------

I found a pain point here when the form is loaded again after save some brochures (Exception):

> The form's view data is expected to be an instance of class Symfony\Component\HttpFoundation\File\File, but is a(n) array. You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms a(n) array to an instance of Symfony\Component\HttpFoundation\File\File.

The message is very clear, but counter-intuitive in this case, because the form field (`FileType`) was configured with `multiple = true`, so IMHO it shouldn't expect a `File` instance but an array of them at all events.

The PR's effect
---------------

**Before:**

```php
$form = $this->createFormBuilder($product)
    ->add('brochures', FileType::class, [
        'multiple' => true,
	'data_class' => null, // <---- mandatory
    ])
    ->getForm();
```

**After:**

```php
$form = $this->createFormBuilder($product)
    ->add('brochures', FileType::class, [
        'multiple' => true,
    ])
    ->getForm();
```

# (2nd) Return empty `array()` at submit no file

Information
-------------

Based on the same information before, but adding some constraints:

```php
// src/AppBundle/Entity/Product.php

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     *
     * @Assert\Count(min="1") // or @Assert\NotBlank()
     * @Assert\All({
     *     @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf"})
     * })
     *
     */
    private $brochures;
}
```

This should require at least one file to be stored.

The Problem
--------------

But, when no file is uploaded at submit the form, it's valid completely. The submitted data for this field was `array(null)` so the constraints pass without any problem:

* `@Assert\Count(min="1")` pass! because contains at least one element (No matter what)
* `@Assert\NotBlank()` it could pass! because no `false` and no `empty()`
* `@Assert\File()` pass! because the element is `null`

Apart from that really we expecting an empty array instead.

The PR's effect
----------------

**Before:**

```php
// src/AppBundle/Entity/Product.php

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     *
     * @Assert\All({
     *     @Assert\NotBlank,
     *     @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf"})
     * })
     *
     */
    private $brochures;
}
```

**After:**

```php
// src/AppBundle/Entity/Product.php

use Symfony\Component\Validator\Constraints as Assert;

class Product
{
    /**
     * @var string[]
     *
     * @ORM\Column(type="array")
     *
     * @Assert\Count(min="1") // or @Assert\NotBlank
     * @Assert\All({
     *     @Assert\File(mimeTypes = {"application/pdf", "application/x-pdf"})
     * })
     *
     */
    private $brochures;
}
```

  [1]: http://symfony.com/doc/current/controller/upload_file.html

Commits
-------

36b7ba6 [Form][DX] FileType "multiple" fixes
2016-12-03 12:33:29 +01:00
Yonel Ceruto
36b7ba64f4 [Form][DX] FileType "multiple" fixes 2016-12-03 12:33:12 +01:00
Fabien Potencier
fe15381a45 minor #20425 [Form] fixed "empty_value" option deprecation (HeahDude)
This PR was merged into the 2.7 branch.

Discussion
----------

[Form] fixed "empty_value" option deprecation

| Q             | A
| ------------- | ---
| Branch?       | 2.x only
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/15945#r86547326
| License       | MIT
| Doc PR        | ~

I didn't make any profiling but a resolver instance is passed to `configureOptions()` creating locale variables including those exceptions for each field using one of the patched form types, so I guess the memory usage can grow really fast.

Commits
-------

7e84907 [Form] fixed "empty_value" option deprecation
2016-12-03 11:52:40 +01:00