Commit Graph

1564 Commits

Author SHA1 Message Date
Fabien Potencier
8840591b25 Merge branch '2.2' into 2.3
* 2.2:
  remove MinCount and MaxCount contraints. It has been replaced by Count constraints.
2013-10-01 19:10:09 +02:00
franek
58a3296e36 remove MinCount and MaxCount contraints. It has been replaced by Count constraints. 2013-10-01 16:29:34 +02:00
Fabien Potencier
b0687c8d81 Merge branch '2.2' into 2.3
* 2.2:
  [Form] add support for Length and Range constraint in order to replace MaxLength, MinLength, Max and Min constraints in next release (2.3)
  [Form] check the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied
2013-10-01 14:47:27 +02:00
franek
89a040434e [Form] add support for Length and Range constraint in order to replace MaxLength, MinLength, Max and Min constraints in next release (2.3) 2013-10-01 14:21:02 +02:00
Fabien Potencier
e281d7748e bug#8809 [Form] enforce correct timezone (Burgov)
This PR was merged into the 2.2 branch.

Discussion
----------

[Form] enforce correct timezone

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | not sure if this is a BC break...
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

I'm using the Form component to handle JSON requests which come from AJAX requests. The JSON is formed by the Angular toJson method

A typical request would be:
```
{
  name: "Some name"
  start: "2013-08-21T05:00:00.000Z"
  end: "2013-08-21T15:00:00.000Z"
}
```

Note that in this case, what I entered in my input boxes are 7:00 for start and 17:00 for end times. As you can see, Angular (or Chrome, I'm not sure), converts this to the "Z" timezone. Since I cannot enforce the correct timezone client side, the timezone will differ from the one configured in the DateTimeType, however, instead of resulting in either an error or a conversion to the correct timezone, I get a datetime object in the wrong timezone, eventually resulting in wrong values in the database.

By checking the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied, this problem is solved.

Commits
-------

b0349a1 [Form] check the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied
2013-09-30 12:22:54 +02:00
Fabien Potencier
88cef41560 Merge branch '2.2' into 2.3
* 2.2:
  Fix some annotates
  [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
  [HttpKernel] remove unneeded strtoupper
  updated the composer install command to reflect changes in Composer

Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterListenersPassTest.php
	src/Symfony/Component/Locale/Locale.php
	src/Symfony/Component/Locale/README.md
	src/Symfony/Component/Locale/Stub/DateFormat/FullTransformer.php
2013-09-19 11:45:20 +02:00
bronze1man
de39bd5433 Fix some annotates 2013-09-19 11:36:05 +02:00
Fabien Potencier
c2144df888 updated the composer install command to reflect changes in Composer 2013-09-18 09:27:26 +02:00
Fabien Potencier
bb97f64cd1 merged branch fabpot/bytes-conversion-epic-fail (PR #9048)
This PR was merged into the 2.3 branch.

Discussion
----------

fixed bytes conversion when used on 32-bits systems

| Q             | A
| ------------- | ---
| Bug fix?      | yes (on 32-bits systems)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8977
| License       | MIT
| Doc PR        | n/a

This PR reverts #7413 and #742, which does not work well when a number is big (3Go for instance) and the machine is 32bits.

Commits
-------

b3ae29d fixed bytes conversion when used on 32-bits systems
2013-09-16 13:23:31 +02:00
Fabien Potencier
b3ae29d4f8 fixed bytes conversion when used on 32-bits systems 2013-09-16 12:23:00 +02:00
Bernhard Schussek
a273e79898 [Form] Fixed: "required" attribute is not added to <select> tag if no empty value 2013-09-13 16:56:26 +02:00
Fabien Potencier
33e9571886 Merge branch '2.2' into 2.3
* 2.2:
  [FrameworkBundle][Security] Replaced void return type with null for consistency
  fixed CS
  NativeSessionStorage regenerate
  removed unneeded comment
  Use setTimeZone if this method exists.
  Fix FileResource test
  fixed wrong usage of unset()
  [HttpFoundation] Fixed the way path to directory is trimmed.
  [Console] Fixed argument parsing when a single dash is passed.

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
2013-09-13 14:20:37 +02:00
Fabien Potencier
68c9c86652 removed unneeded comment 2013-09-13 10:55:12 +02:00
dropfen
0d6af5cd90 Use setTimeZone if this method exists.
The php version is not a critical factor to choose the method, but we have to use setTimeZone, if it exists.
2013-09-13 10:52:42 +02:00
Fabien Potencier
0f78175dcd Merge branch '2.2' into 2.3
* 2.2:
  [HttpKernel] added a check for private event listeners/subscribers
  [FrameworkBundle] fixed registration of the register listener pass
  [Form] Fixed regression causing invalid "WHERE id IN ()" statements
  [DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)
  [Form] Fixed regression in BooleanToStringTransformer from ed83752
  [FrameworkBundle] removed obsolete code
  [Process] Close unix pipes before calling `proc_close` to avoid a deadlock

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/Process/Process.php
2013-09-12 14:57:47 +02:00
Bernhard Schussek
2747bdca76 [Form] Fixed regression in BooleanToStringTransformer from ed83752 2013-09-12 09:25:54 +02:00
Fabien Potencier
ff64313f12 merged branch bschussek/issue8317 (PR #8978)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Fixed FormValidator::findClickedButton() not to be called exponentially

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

Commits
-------

b65a515 [Form] Fixed FormValidator::findClickedButton() not to be called exponentially
2013-09-10 22:42:10 +02:00
Bernhard Schussek
58e7c100dc [Form] Improved test coverage of ChoiceList classes 2013-09-10 18:17:27 +02:00
Bernhard Schussek
9542d72dc0 [Form] Fixed expanded choice field to be marked invalid when unknown choices are submitted 2013-09-10 18:17:27 +02:00
Bernhard Schussek
72b8807630 [Form] Fixed ChoiceList::get*By*() methods to preserve order and array keys 2013-09-10 18:17:27 +02:00
Bernhard Schussek
e1bf07f1f9 [Form] Removed usage of the ChoiceList::getIndicesFor*() methods where they don't offer any performance benefit 2013-09-10 18:17:27 +02:00
Bernhard Schussek
9d3628cf13 [Form] Improved test coverage of ChoiceList classes 2013-09-10 18:05:04 +02:00
Bernhard Schussek
ed837522af [Form] Fixed expanded choice field to be marked invalid when unknown choices are submitted 2013-09-10 18:05:04 +02:00
Bernhard Schussek
30aa1de8dc [Form] Fixed ChoiceList::get*By*() methods to preserve order and array keys 2013-09-10 17:43:42 +02:00
Bernhard Schussek
53f292adcc [Form] Removed usage of the ChoiceList::getIndicesFor*() methods where they don't offer any performance benefit 2013-09-10 17:40:49 +02:00
Bernhard Schussek
b65a51519d [Form] Fixed FormValidator::findClickedButton() not to be called exponentially 2013-09-10 16:01:37 +02:00
Fabien Potencier
3689849e8b Merge branch '2.2' into 2.3 (closes #8955)
* 2.2:
  [HttpFoundation] removed extra parenthesis
  [Process][2.2] Fix Process component on windows
  [HttpFoundation] improve perf of previous merge (refs #8882)
  Request->getPort() should prefer HTTP_HOST over SERVER_PORT
  Fixing broken http auth digest in some circumstances (php-fpm + apache).
  fixed typo

Conflicts:
	src/Symfony/Component/Process/Process.php
2013-09-07 18:30:19 +02:00
Tobias Schultze
f438ac3843 [Form] fix iterator typehint 2013-09-04 00:28:35 +02:00
mike
6362fa41b0 Button missing getErrorsAsString() fixes #8084 Debug: Not calling undefined method anymore. If the form contained a submit button the call would fail and the debug of the form wasn't possible. Now it will work in all cases. This fixes #8084
Adding a test for the fix of getErrorAsString on Form.
Was throwing a fatal because of a method that did not exist on
the new element type button.
2013-09-03 16:30:27 +02:00
Jáchym Toušek
4147047c8e Fixed annotation 2013-09-02 15:38:54 +02:00
Christian Raue
42c7b95ab3 fixed typo 2013-09-01 20:32:33 +02:00
Bernhard Schussek
fd09484a61 [Form] Fixed Form::all() signature for PHP 5.3.3 2013-08-25 14:07:23 +02:00
Bernhard Schussek
ea480bda3b [Form] Fixed Form::all() signature for PHP 5.3.3 2013-08-25 13:59:08 +02:00
Bernhard Schussek
7a34d96dcd Merge branch 'form-submit-2.2' into form-submit-2.3
Conflicts:
	src/Symfony/Component/Form/Util/VirtualFormAwareIterator.php
2013-08-23 13:18:39 +02:00
Bernhard Schussek
cd27e1facb [Form] Extracted ReferencingArrayIterator out of VirtualFormAwareIterator 2013-08-23 13:16:42 +02:00
Bernhard Schussek
3cb8a804f4 [Form] Added a test that ensures that setData() reacts to dynamic modifications of a form's children 2013-08-22 14:21:53 +02:00
Bernhard Schussek
07d14e5ff2 [Form] Removed exception in Button::setData(): setData() is now always called for all elements in the
form tree during the initialization of the tree
2013-08-22 14:19:04 +02:00
Bernhard Schussek
b9a37703a6 [Form] Removed call to deprecated method 2013-08-22 14:18:47 +02:00
Bernhard Schussek
878e27cd99 Merge branch 'form-submit-2.2' into form-submit-2.3
Conflicts:
	src/Symfony/Component/Form/Extension/Core/DataMapper/PropertyPathMapper.php
2013-08-22 14:12:19 +02:00
Bernhard Schussek
ccaaedfcbb [Form] PropertyPathMapper::mapDataToForms() *always* calls setData() on every child to ensure
that all *_DATA events were fired when the initialization phase is over (except for virtual forms)
2013-08-22 14:10:15 +02:00
Bernhard Schussek
19b483f2ea [Form] Removed superfluous reset() call 2013-08-22 13:38:57 +02:00
Bernhard Schussek
5d60a4fa0a Merge branch 'form-submit-2.2' into form-submit-2.3
Conflicts:
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/Form/Tests/AbstractFormTest.php
	src/Symfony/Component/Form/Tests/CompoundFormTest.php
	src/Symfony/Component/Form/Util/VirtualFormAwareIterator.php
2013-08-22 13:28:18 +02:00
Bernhard Schussek
00bc2708bc [Form] Fixed: submit() reacts to dynamic modifications of the form children 2013-08-22 13:20:04 +02:00
Bart van den Burg
b0349a19ee [Form] check the required output timezone against the actual timezone
of the input datetime object, rather than the expected timezone supplied
2013-08-21 13:31:00 +02:00
Bernhard Schussek
c342715679 [Form] Fixed: Added "validation_groups" option to submit button 2013-08-15 14:37:02 +02:00
Fabien Potencier
2b2c1167ef merged branch jakzal/2.3-form-button-fix (PR #8349)
This PR was squashed before being merged into the 2.3 branch (closes #8349).

Discussion
----------

[Form] Moved auto_initialize option to the BaseType

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

I'm not fully confident in this change, so let someone review it before mergin please. My thinking was - since "auto_initialized" option is always passed to a form factory, it should be required by the base type.

Commits
-------

6ed0fdf [Form] Moved auto_initialize option to the BaseType
2013-08-09 14:45:16 +02:00
Jakub Zalas
6ed0fdfda4 [Form] Moved auto_initialize option to the BaseType 2013-08-09 14:45:15 +02:00
Fabien Potencier
64535bbcb2 Merge branch '2.2' into 2.3
* 2.2:
  [HttpKernel] added a missing dep for dev
  [Form] fixed wrong call to setTimeZone() (closes #8644)
  Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
  [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
  [routing] added ability for apache matcher to handle array values
  removed dead code and fixed CS
  [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)

Conflicts:
	src/Symfony/Bundle/TwigBundle/TokenParser/RenderTokenParser.php
	src/Symfony/Component/Form/FormConfigBuilder.php
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Validator/Tests/GraphWalkerTest.php
2013-08-02 22:53:38 +02:00
Fabien Potencier
ef69619614 merged branch bschussek/issue8111 (PR #8638)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Fixed patched forms to be valid even if children are not submitted

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

#8362 was reverted because it introduces a failing test that is caused by a regression. This PR takes the alternative approach that

* unsubmitted fields in the PATCH request remain unsubmitted
* `isValid()` ignores unsubmitted children
* `mapFormsToData()` ignores unsubmitted children

In my opinion this is a more proper solution than #8362.

Commits
-------

85330a6 [Form] Fixed patched forms to be valid even if children are not submitted
50f201e Revert "[Form] Fix of "PATCH'ed forms are never valid""
2013-08-02 15:20:14 +02:00
Fabien Potencier
adca1ef5cc merged branch bschussek/issue8385 (PR #8636)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Fixed: If a form is not present in a request, it is not automatically submitted

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

This PR changes the following behavior of `handleRequest()`:

Current behavior:

```php
$_POST = array('foo' => 'bar');
$form = $factory->createNamed('myform', 'mytype');

// "myform" is not present in the request
$form->handleRequest();

assert(true === $form->isSubmitted());
```

Behavior after PR:

```php
$_POST = array('foo' => 'bar');
$form = $factory->createNamed('myform', 'mytype');

// "myform" is not present in the request
$form->handleRequest();

assert(false === $form->isSubmitted());
```

As #8385 pointed out, the latter behavior is expected, so I consider the current behavior a bug.

Commits
-------

cb5e765 [Form] Fixed: If a form is not present in a request, it is not automatically submitted
2013-08-02 15:19:16 +02:00