Commit Graph

28462 Commits

Author SHA1 Message Date
ShinDarth
488ebbfe5d [VarDumper] fix tests when xdebug is enabled 2016-12-06 17:03:37 +01:00
Fabien Potencier
4033b602ff feature #20260 [DependencyInjection] Support autowiring for EventDispatcher/EventDispatcherInterface (chalasr)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DependencyInjection] Support autowiring for EventDispatcher/EventDispatcherInterface

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

As it is a very common dependency. Currently it gives:

> [Symfony\Component\DependencyInjection\Exception\RuntimeException]
> Unable to autowire argument of type "Symfony\Component\EventDispatcher\EventDispatcherInterface" for the service "dummy". Multiple services exist for this interface (debug.event_dispatcher, debug.event_dispatcher.parent).

After this, the `TraceableEventDispatcher` will be injected in dev and the `ContainerAwareEventDispatcher` in prod, as when injecting `@event_dispatcher` explicitly.

ping @weaverryan

IMHO this could be treated as a an enhancement for the autowiring feature and be part of 3.2.

Commits
-------

5fd4733 Support autowiring for EventDispatcher/EventDispatcherInterface
2016-12-06 15:46:10 +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
Fabien Potencier
9f475f8fed feature #20777 [ClassLoader] Deprecate Apc/WinCache/Xcache class loaders (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[ClassLoader] Deprecate Apc/WinCache/Xcache class loaders

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

See https://github.com/composer/composer/pull/5559

Commits
-------

fa36e1d [ClassLoader] Deprecate Apc/WinCache/Xcache class loaders
2016-12-06 14:31:11 +01:00
Kévin Dunglas
4644ee91e8
feature #20524 [Serializer][XmlEncoder] Allow removing empty tags in generated XML (amoiraud)
This PR was squashed before being merged into the 3.3-dev branch (closes #20524).

Discussion
----------

[Serializer][XmlEncoder] Allow removing empty tags in generated XML

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

Allow a new option in $context of XmlEncoder.php to remove empty tags if $context['remove_empty_tags'] setted to true, changing this :

```xml
    <node>
         <subnode>Value</subnode>
         <emptysubnode/>
    </node>
```

To this :

```xml
    <node>
         <subnode>Value</subnode>
    </node>
```

Commits
-------

0cb4d8e [Serializer][XmlEncoder] Allow removing empty tags in generated XML
2016-12-06 13:59:23 +01:00
Adrien Moiruad
0cb4d8e681
[Serializer][XmlEncoder] Allow removing empty tags in generated XML 2016-12-06 13:58:29 +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
Nicolas Grekas
fa36e1d377 [ClassLoader] Deprecate Apc/WinCache/Xcache class loaders 2016-12-06 11:57:32 +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
Kévin Dunglas
24d8135f17
feature #19958 [Serializer] Throw exception when extra attributes are used during an object denor… (juliendidier)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[Serializer] Throw exception when extra attributes are used during an object denor…

| Q | A |
| --- | --- |
| Branch? | "master" |
| Bug fix? | no |
| New feature? | yes |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Fixed tickets | #19948 |
| License | MIT |
| Doc PR | [#6975](https://github.com/symfony/symfony-docs/pull/6975) |

I will update the doc if you're ok with this PR.

Commits
-------

565a984 throw exception when extra attributes are used during an object denormalization
2016-12-05 13:56:10 +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
Fabien Potencier
60b4dd0514 feature #20310 [Ldap] Allow search scoping (xunto)
This PR was squashed before being merged into the 3.3-dev branch (closes #20310).

Discussion
----------

[Ldap] Allow search scoping

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

Quite trivial, PR adds "scope" attribute to the query options. For example:

```php
    public function ldapAction()
    {
        $ldap = $this->get("app.ldap");
        $dn = $this->getParameter("dn");

        $results = $ldap->query($dn, "(objectClass=*)", [
            "scope" => Query::SCOPE_ONELEVEL
        ])->execute();

        foreach ($results as $entry) {
            var_dump($entry->getDn()); echo "<br/>";
        }

        return new Response("");
    }
```

SCOPE_BASE: http://php.net/manual/ru/function.ldap-read.php
SCOPE_ONELEVEL: http://php.net/manual/ru/function.ldap-list.php
SCOPE_SUBTREE: http://php.net/manual/ru/function.ldap-search.php

Commits
-------

83c7915 [Ldap] Allow search scoping
2016-12-04 14:44:28 +01:00
orlovv
83c79156a5 [Ldap] Allow search scoping 2016-12-04 14:44:26 +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
d6e8937e69 feature #18952 [Security] Add a JSON authentication listener (dunglas)
This PR was squashed before being merged into the 3.3-dev branch (closes #18952).

Discussion
----------

[Security] Add a JSON authentication listener

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

Add a new authentication listener allowing to login by sending a JSON document like:

 `{"_username": "dunglas", "_password": "foo"}`.

It is similar to the traditional form login (but take a JSON document as entry) and is convenient for APIs, especially used in combination with JWT.

See https://github.com/api-platform/core/issues/563 and https://github.com/lexik/LexikJWTAuthenticationBundle/issues/123#issuecomment-173860682 for previous discussions.
- [x] Add functional tests in security bundle

Commits
-------

02178bc [Security] Add a JSON authentication listener
2016-12-03 12:13:37 +01:00
Kévin Dunglas
02178bc12f [Security] Add a JSON authentication listener 2016-12-03 12:13:36 +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
Fabien Potencier
5f62f01943 fixed CS 2016-12-03 11:50:08 +01:00
Fabien Potencier
4a7fbdde5a bug #19902 [DependencyInjection] PhpDumper.php: hasReference() shouldn't search references in lazy service. (antanas-arvasevicius)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] PhpDumper.php: hasReference() shouldn't search references in lazy service.

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

more info:
https://github.com/symfony/symfony/issues/19901

Commits
-------

595a978 [DependencyInjection] PhpDumper.php: hasReference() should not search references in lazy service arguments.
2016-12-03 11:48:01 +01:00
Christian Flothmann
5269796448 fix the inline level for dumped multi-line strings 2016-12-03 11:04:08 +01:00
Nicolas Grekas
dcf9fbb18c [HttpKernel] Fix annotation cache warmer with failing or missing classes 2016-12-02 15:52:29 +01:00
Fabien Potencier
e8553a818e feature #20161 add toolbar & profiler SVG style classes (havvg)
This PR was submitted for the 2.8 branch but it was merged into the 3.3-dev branch instead (closes #20161).

Discussion
----------

add toolbar & profiler SVG style classes

| Q | A |
| --- | --- |
| Bug fix? | no |
| New feature? | Technically, yes - but actually not |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| License | MIT |

This allows the usage of SVG not only containing `path` elements. I opted for a generic solution using the two classes to apply to any SVG, one would like to use within the toolbar (`sf-toolbar-path`) and/or profiler (`sf-profiler-path`).

Commits
-------

155a1fc add toolbar & profiler SVG style classes
2016-12-02 13:16:34 +01:00
Toni Uebernickel
155a1fc785 add toolbar & profiler SVG style classes 2016-12-02 13:16:33 +01:00
Fabien Potencier
122fae8757 feature #20467 [DomCrawler] Add support for formaction and formmethod attributes (stof)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DomCrawler] Add support for formaction and formmethod attributes

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

This adds supports for the ``formaction`` and ``formmethod`` of submit elements, which override the values defined on the ``<form>`` element.
This works only when you call ``$crawler->form()`` on a Crawler containing a button, not when it contains the ``<form>`` itself of course (as the button override is applied only when using this button to submit, not when using another way).

Other button-level overrides are not implemented:
- ``formtarget`` is useless as we don't implement ``target`` either (the Crawler does not deal with frame-based pages anyway)
- ``formnovalidate`` is ignored, as we don't automatically disable the form validation on ``novalidate`` either, but we require an explicit disabling instead (this might be subject to a separate PR though, as it could make sense)
- ``formenctype`` is ignored as we also ignore ``enctype`` (we always submit file fields, even when missing the proper enctype)

Commits
-------

717cf8a [DomCrawler] Add support for formaction and formmethod attributes
2016-12-02 13:07:28 +01:00
Fabien Potencier
20076b0d12 minor #20452 debug service with one line by tag (nykopol)
This PR was submitted for the 2.8 branch but it was merged into the 3.3-dev branch instead (closes #20452).

Discussion
----------

debug service with one line by tag

| Q             | A
| ------------- | ---
| Branch?       | 2.8, 3.*
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

Since the 2.8 branch, the `debug:container` command output service tags in one single line.
So if the debugged service have many tags, this print an unreadable large table.

This PR solve this issue by printing one line by tag.

Commits
-------

dbf4850 debug service with one line by tag
2016-12-02 13:03:41 +01:00
Johan DESMYTER
dbf4850268 debug service with one line by tag 2016-12-02 13:03:32 +01:00
Fabien Potencier
fe454e42e1 feature #20509 [Serializer] Allow to specify a single value in @Groups (dunglas)
This PR was squashed before being merged into the 3.3-dev branch (closes #20509).

Discussion
----------

[Serializer] Allow to specify a single value in @Groups

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/19374#issuecomment-256688002
| License       | MIT
| Doc PR        | todo

Tiny DX improvement:

Before:

```php
use Symfony\Component\Serializer\Annotation\Groups;

class Product
{
    /**
     * @Groups({"admins"})
     */
    public $itemsSold;
}
```

Now allowed:

```php
use Symfony\Component\Serializer\Annotation\Groups;

class Product
{
    /**
     * @Groups("admins")
     */
    public $itemsSold;
}
```

Commits
-------

926aa48 [Serializer] Allow to specify a single value in @Groups
2016-12-02 12:58:15 +01:00