Commit Graph

1271 Commits

Author SHA1 Message Date
Fabien Potencier
2750adb52d Merge branch '2.0'
* 2.0:
  [FrameworkBundle] Added functional tests.
  [Form] Added missing use statements (closes #2880)
  [Console] Improve input definition output for Boolean defaults
  [SecurityBundle] Changed environment to something unique.
  2879: missing space between catch and the brace
  #2688: Entities are generated in wrong folder (doctrine:generate:entities Namespace)
  [TwigBundle] Fix the exception message escaping
2011-12-15 18:17:38 +01:00
Joseph Bielawski
49d2685bff [Form] Add default validation to TextType field (and related) 2011-12-15 13:49:39 +01:00
Joseph Bielawski
8069ea69dd [Form] Added missing use statements (closes #2880) 2011-12-15 10:01:35 +01:00
Fabien Potencier
142cef21bb merged 2.0 2011-12-13 16:12:53 +01:00
Bart van den Burg
d97d7e93c0 Added a check to see if the type is a string if it's not a FormTypeInterface 2011-12-13 12:27:51 +01:00
Fabien Potencier
e3421a0b1d [DoctrineBridge] fixed some CS 2011-12-13 10:22:12 +01:00
Fabien Potencier
c35c321e54 merged branch francisbesset/form_error_message (PR #2748)
Commits
-------

9e6a10a [Form] Added FormError::getMessage() and use it in Form class

Discussion
----------

[Form] Added FormError::getMessage()

---------------------------------------------------------------------------

by ericclemmons at 2011/11/29 18:38:40 -0800

Should this go through the translator, similar to how `field_errors` renders error messages?

> https://github.com/symfony/symfony/blob/master/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig#L253

---------------------------------------------------------------------------

by stof at 2011/11/29 23:11:24 -0800

``getErrorsAsString`` is there for a debugging purpose so injecting the translator in the Form class just for it seems wrong. And the logic used here is exactly what the identity translator does.
2011-12-01 08:39:32 +01:00
Helmer Aaviksoo
0b5c4b29c2 [Form] Date, Time, DateTimeType forget translation domain 2011-11-30 10:55:10 +02:00
Francis Besset
9e6a10a60e [Form] Added FormError::getMessage() and use it in Form class 2011-11-29 18:26:32 +01:00
Eric Clemmons
7a8e1b3b48 ChoiceType flattens nested Choices when expanded 2011-11-26 17:37:27 -08:00
Fabien Potencier
a7f7be2309 merged 2.0 2011-11-23 23:28:22 +01:00
Jordi Boggiano
c76487ee04 Fix composer.json files to be stricter 2011-11-23 17:51:23 +01:00
Jordi Boggiano
e7215aeb40 Fix composer.json 2011-11-23 16:10:32 +01:00
Fabien Potencier
a1d12324f9 merged 2.0 2011-11-23 11:23:27 +01:00
Fabien Potencier
bb025bb904 merged branch hlecorche/valid-form-w3c (PR #2676)
Commits
-------

78e9b2f [Form] Fixed textarea_widget (W3C standards)

Discussion
----------

[Form] Fixed textarea_widget (W3C standards)

Textarea widget included the "pattern" attribute but is not valid by W3C standards.

(See PR 2666 - New PR because rebase inside the 2.0 branch)

---------------------------------------------------------------------------

by fabpot at 2011/11/18 09:01:41 -0800

@hlecorche: Thanks for your work on this issue. Can you update the unit tests to be sure that this case is covered? If you're not comfortable with this, just tell me and I will do it myself

---------------------------------------------------------------------------

by hlecorche at 2011/11/19 02:51:06 -0800

@fabpot: I did'nt commited because I am not sure. I changed the "tests/Symfony/Tests/Component/Form/AbstractLayoutTest.php" file :

    public function testTextarea()
    {
        $form = $this->factory->createNamed('textarea', 'na&me', 'foo&bar', array(
            'property_path' => 'name',
            'pattern' => 'foo',
        ));

        $this->assertWidgetMatchesXpath($form->createView(), array(),
    '/textarea
    [@name="na&me"]
    [not(@pattern)]
    [.="foo&bar"]
    '
        );
    }

Is it correct?
2011-11-22 10:25:58 +01:00
Fabien Potencier
48c0f50fa2 [Form] tweaked an exception message 2011-11-22 10:24:03 +01:00
Fabien Potencier
af2713261d merged branch canni/throw_exception_on_form_name_circulal_ref (PR #2675)
Commits
-------

36cebf0 Fix infinite loop on circullar reference in form factory

Discussion
----------

[BugFix][Form]Throw exception on form name circulal ref

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Closes: #2673

When FormType method `getName()` returns the same value as `getParent()` we're asking about trouble, and land into infinite loop.
2011-11-22 10:21:50 +01:00
Fabien Potencier
a8fd2c4b46 merged 2.0 2011-11-22 10:13:00 +01:00
Fabien Potencier
a8e8008df3 merged branch greg0ire/patch-1 (PR #2604)
Commits
-------

5b30812 See this issue : https://github.com/symfony/symfony/issues/2433

Discussion
----------

See this issue : https://github.com/symfony/symfony/issues/2433

I changed the access speficiers to `protected`, which makes easier to extend this class if one needs to like I did.

---------------------------------------------------------------------------

by greg0ire at 2011/11/10 06:55:12 -0800

Precision on the problem I had : I wanted to use a `CollectionType` and display a collection element attribute as the label for this element. I had no choice but to extend `ResizeFormListener` and `CollectionType`.
2011-11-22 10:10:56 +01:00
Fabien Potencier
7c8d836331 merged branch willdurand/undefined-value-property-path (PR #2266)
Commits
-------

57e1aeb Fixed undefined index notice in readProperty() method (PropertyPath)

Discussion
----------

Fixed undefined index notice in readProperty() method (PropertyPath)

Hi,

For some reasons, I get `notice` errors on `readProperty()` with Propel:

    Notice: Undefined index: 0 in /Users/william/projects/Propel/testProjects/symfony2/vendor/symfony/src/Symfony/Component/Form/Util/PropertyPath.php line 284

The `PropelObjectCollection` implements `ArrayAccess`, the `readProperty()` method does not check if the given `index` exists so the `notice` error is thrown. I suppose to check whether the index exists or not has to be added.

Regards,
William

---------------------------------------------------------------------------

by fabpot at 2011/09/27 23:42:07 -0700

The patch is probably not what we want to do. First, I suppose that you are not creating the propertyPath by hand. If that is the case, we need to understand why the property path does not exist. Then, even if we might want to check the existence of the index, if it does not exist, we should probably throw an exception instead of just ignoring the problem.

---------------------------------------------------------------------------

by willdurand at 2011/09/28 01:14:49 -0700

My bad. This is a Propel bug due to `ArrayObject`. It throws a notice error if the index is not found in `offsetGet()` which is wrong according to the `ArrayAccess` interface. If the index is not found, we have to return `null`.

@fabpot Are you agree with that (for the `null` value) ?

---------------------------------------------------------------------------

by fabpot at 2011/09/28 01:17:09 -0700

My point is that it should never happen under normal circumstances.

---------------------------------------------------------------------------

by willdurand at 2011/09/28 01:23:55 -0700

@fabpot Not sure to get it.

The fact is that it tries to get the value (`getValue()`) of a fresh object, just added to the `collection` when I'm submitting a form with a `CollectionType` and a new entry in it.
I mean it tries to get this new object (not yet persisted, not yet in the collection) in the collection (`getValue()` -> `readProperty()`) which implements `ArrayAccess` but this object cannot be in the collection at this time.

Am I wrong ?

And, without this notice error thrown by Propel, I probably never opened this issue...

---------------------------------------------------------------------------

by willdurand at 2011/09/29 06:40:34 -0700

@fabpot: you can try this example: http://www.propelorm.org/cookbook/symfony2/mastering-symfony2-forms-with-propel.html#manytomany_relations in order to make your own tests. Will it be enough?
As I said, it throws a weird notice for the reasons above.

---------------------------------------------------------------------------

by jaugustin at 2011/10/04 12:58:10 -0700

any news on this ?
@fabpot did you have time to look at the test case ?

---------------------------------------------------------------------------

by cedriclombardot at 2011/11/09 14:29:42 -0800

@fabpot: can we have news about this ?
2011-11-22 09:55:47 +01:00
hlecorche
78e9b2fedb [Form] Fixed textarea_widget (W3C standards) 2011-11-18 17:31:57 +01:00
Dariusz Górecki
36cebf0924 Fix infinite loop on circullar reference in form factory
When `->getName()` returns the same as `getParent()` we're going to infinite loop.
2011-11-18 14:23:22 +01:00
Fabien Potencier
12299c4de9 merged branch kriswallsmith/form/checkbox-view (PR #2661)
Commits
-------

79ae3fc [Form] fixed radio and checkbox when data is not bool

Discussion
----------

[Form] fixed checkbox view

The checkbox view was being built based on app data, not client data. This fixes it.

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

---------------------------------------------------------------------------

by fabpot at 2011/11/16 13:31:09 -0800

`RadioType` suffers from the same problem, no?

---------------------------------------------------------------------------

by kriswallsmith at 2011/11/16 13:32:50 -0800

Yeah, I'll fix that too.

---------------------------------------------------------------------------

by kriswallsmith at 2011/11/16 13:43:29 -0800

Updated to include `RadioType`.
2011-11-17 07:05:47 +01:00
Fabien Potencier
d1ae6c7cb6 bumped Symfony version in composer.json files to 2.0.7 2011-11-17 06:58:47 +01:00
Kris Wallsmith
79ae3fced9 [Form] fixed radio and checkbox when data is not bool 2011-11-16 13:39:36 -08:00
Fabien Potencier
c681b68bde Merge branch '2.0'
* 2.0:
  [FrameworkBundle] fixed a unit test
  [Form] Check for normal integers. refs 0427b126c1
  [Form] Replace `an` with `is`
2011-11-12 09:18:01 +01:00
Manuel de Ruiter
462580c06f [Form] Check for normal integers. refs 0427b126c1 2011-11-12 00:58:46 +01:00
Manuel de Ruiter
970e2a2608 [Form] Replace an with is 2011-11-12 00:57:14 +01:00
Fabien Potencier
21cec043d7 Merge branch '2.0'
* 2.0:
  [Form] fixed previous merge
  [Form] simplified previous merge
  Also identify FirePHP by the X-FirePHP-Version header
  [TwigBundle] Extract output buffer cleaning to method
  [TwigBundle] Do not clean output buffering below initial level
  Fixed rendering of FileType (value is not a valid attribute for input[type=file])
  Added tests for string fix in DateTimeToArrayTransformer (8351a11286).
  Added check for array fields to be integers in reverseTransform method. This prevents checkdate from getting strings as arguments and throwing incorrect ErrorException when submitting form with malformed (string) data in, for example, Date field. #2609
  [Translation] removed unneeded methods
  [Translation] added detection for circular references when adding a fallback catalogue
  [DomCrawler] trim URI in getURI
  [Yaml][Tests] Fixed missing locale string for Windows platforms which caused test to fail
2011-11-11 22:52:07 +01:00
Fabien Potencier
0427b126c1 [Form] fixed previous merge 2011-11-11 22:01:46 +01:00
Fabien Potencier
3922fb839a [Form] simplified previous merge 2011-11-11 21:49:47 +01:00
Joseph Rouff
fb0379d3b7 Fix some CheckStyle violations on Components.
On casts, Control signature etc.
2011-11-11 20:46:32 +01:00
ondrowan
8351a11286 Added check for array fields to be integers in reverseTransform method. This prevents checkdate from getting strings as arguments and throwing incorrect ErrorException when submitting form with malformed (string) data in, for example, Date field. #2609 2011-11-11 09:58:40 +01:00
Grégoire Paris
5b30812b26 See this issue : https://github.com/symfony/symfony/issues/2433 2011-11-10 15:38:07 +01:00
Fabien Potencier
4f3e7bb698 merged branch canni/enable_validation_groups_callback (PR #2498)
Commits
-------

d08ec5e Add DelegatingValidator tests
e1822e7 Enable dynamic set of validation groups by a callback or Closure

Discussion
----------

[Form][Validator] Enable dynamic set of validation groups based on callback

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Symfony2 tests written for new feature: yes
closes tickets: #2498 #1151

This will allow developer to pass a Closure or a callback array as a Validation groups option of a form. Eg:

```
class ClientType extends AbstarctType
{
// ...
    public function getDefaultOptions(array $options)
    {
        return array(
            'validation_groups' => function(FormInterface $form){
                // return array of validation groups based on submitted user data (data is after transform)
                $data = $form->getData();
                if($data->getType() == Entity\Client::TYPE_PERSON)
                    return array('Default', 'person');
                else
                    return array('Default', 'company');
            },
        );
    }
// ...
}
```

```
class ClientType extends AbstarctType
{
// ...
    public function getDefaultOptions(array $options)
    {
        return array(
            'validation_groups' => array(
                'Acme\\AcmeBundle\\Entity\\Client',
                'determineValidationGroups'
            ),
        );
    }
// ...
}
```

This will make developers life easier !

---------------------------------------------------------------------------

by schmittjoh at 2011/10/27 06:39:56 -0700

Does that work if your ClientType were added to another form type?

e.g.

```php
<?php

class MyComplexType extends AbstractType
{
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder->add('client', new ClientType());
    }

    // ...
}
```

---------------------------------------------------------------------------

by canni at 2011/10/27 06:44:33 -0700

This is doing nothing more than injecting array of validation groups, should work, but I have not tested this use case.

---------------------------------------------------------------------------

by canni at 2011/10/28 01:58:26 -0700

PHPUnit output

```
OK, but incomplete or skipped tests!
Tests: 5011, Assertions: 12356, Incomplete: 36, Skipped: 32.
```

---------------------------------------------------------------------------

by canni at 2011/11/02 11:37:47 -0700

Now functionality is complete, test are written, and implementation is clean. :)

---------------------------------------------------------------------------

by stloyd at 2011/11/02 11:50:44 -0700

Can tou `squash` your commits ? Thanks.

---------------------------------------------------------------------------

by canni at 2011/11/02 11:58:41 -0700

Done

---------------------------------------------------------------------------

by fabpot at 2011/11/07 07:51:18 -0800

Can you add some tests for the `DelegatingValidator` class, which is where we can ensure that the new feature actually works as expected?

---------------------------------------------------------------------------

by canni at 2011/11/07 13:53:16 -0800

OK, I've written proof-of-concept tests, also I've squashed few commits to make things clear.
Personally I think this should go straight into 2.0 series, as it do not beak BC, and a feature is really nice to use.

---------------------------------------------------------------------------

by stof at 2011/11/07 14:17:15 -0800

@canni the 2.0 branch is for bug fixes, not for new features. This is the difference between maintenance releases and minor releases.
2011-11-08 09:05:41 +01:00
Dariusz Górecki
e1822e7807 Enable dynamic set of validation groups by a callback or Closure
This will enable developer, to set a callback or a closure as a `'validation_groups'` form option,
this is usefull when we have to determine validation groups based on a client submitted data.
2011-11-07 22:48:01 +01:00
Fabien Potencier
5d91849999 merged 2.0 2011-11-07 20:53:25 +01:00
Lukas Kahwe Smith
6a72b8c6b9 added basic README files for all components
heavily inspired by http://fabien.potencier.org/article/49/what-is-symfony2 and the official Symfony2 documentation
2011-11-03 21:11:40 +01:00
Fabien Potencier
c18f5a8d94 merged branch IamPersistent/collection (PR #2416)
Commits
-------

fbd2a0e make suggested changes for default value
c507b1d update variable name to match the option name
b53f000 add the ability to set the form prototype name in CollectionType. this will aid in handling nested collections in forms

Discussion
----------

[Form] Collection

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: [#1324](https://github.com/symfony/symfony/issues/1324)

add the ability to set the form prototype name in CollectionType. this will aid in handling nested collections in forms

---------------------------------------------------------------------------

by IamPersistent at 2011/10/17 02:54:45 -0700

Actually, as an afterthought, I looked over at the issues and this is basically https://github.com/symfony/symfony/issues/1324 just adding an extra option instead of using the prototype option.

@stloyd, my thought was handling the case where someone was "clever" enough to set the 'prototype_name' option to "". But I could be over-thinking :)

---------------------------------------------------------------------------

by stloyd at 2011/10/17 03:00:23 -0700

@IamPersistent IMO if someone is setting this option, he should be aware of that problem, also AFAIK `$$$$` could be *valid* name too ;-)

---------------------------------------------------------------------------

by IamPersistent at 2011/10/17 03:02:14 -0700

@stloyd, I'm fine with changing it, I'll wait to see what everyone else has to say about this request vs using the prototype option for the name in 1324

---------------------------------------------------------------------------

by IamPersistent at 2011/10/17 03:28:49 -0700

@stloyd, @stof, I made the suggested changes, now I suppose, let the debate begin over PR1324 vs this

---------------------------------------------------------------------------

by stloyd at 2011/10/17 03:47:53 -0700

IMO this PR makes changing prototype name in more clean way, so I would prefer this one over that proposed in #1324.
2011-11-02 14:50:07 +01:00
Fabien Potencier
2e90a813a4 merged branch mrtorrent/integer_transformer_cast_fix (PR #2520)
Commits
-------

c9d05d7 Let NumberFormatter handle integer type casting

Discussion
----------

Let NumberFormatter handle integer type casting

The integer to localised string transformer is currently casting everything it gets to an integer, even if it is not a number. This responsibility should be passed off to NumberFormatter.

Partially addresses #2389 by not mistakenly typecasting a boolean false into an integer 0

---------------------------------------------------------------------------

by mrtorrent at 2011/10/30 15:04:28 -0700

Apologies, forgot the template:

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #2389 (partial)
2011-11-02 14:36:23 +01:00
Fabien Potencier
f8f622b39c bumped Symfony version to 2.0.6-DEV 2011-11-02 14:18:45 +01:00
Fabien Potencier
7f21a5e979 bumped Symfony version in composer.json files to 2.0.5 2011-11-02 12:42:41 +01:00
Benjamin Eberlei
149bdb962b Enhance error messages with regard to form type properties. 2011-11-01 14:16:02 +01:00
Fabien Potencier
8a62e3249f merged 2.0 2011-11-01 12:32:44 +01:00
Fabien Potencier
d7a5351aaa updated composer.json files to contain information about autoloading and target dirs 2011-11-01 12:30:24 +01:00
Miquel Rodríguez Telep / Michael Rodríguez-Torrent
c9d05d7236 Let NumberFormatter handle integer type casting
Partially addresses #2389 by not mistakenly typecasting a boolean false into
an integer 0
2011-10-30 21:17:28 +00:00
Fabien Potencier
dec43f5539 merged 2.0 2011-10-29 12:01:39 +02:00
Fabien Potencier
851eb73778 removed unused use statements 2011-10-29 11:56:30 +02:00
IamPersistent
fbd2a0ed9a make suggested changes for default value 2011-10-17 03:27:04 -07:00
IamPersistent
c507b1db73 update variable name to match the option name 2011-10-17 02:58:01 -07:00
IamPersistent
b53f000061 add the ability to set the form prototype name in CollectionType. this will aid in handling nested collections in forms 2011-10-17 02:43:24 -07:00
Christophe Coevoet
6e4269f9eb [Form] Added the ability to specify the translation domain 2011-10-10 17:58:32 +02:00
Fabien Potencier
a8faa83708 merged 2.0 2011-10-08 22:58:00 +02:00
Fabien Potencier
50c47aa687 merged branch stloyd/form_texttypes (PR #2343)
Commits
-------

8bd0e42 [Form] Use proper parent (text) for EmailType and TextareaType

Discussion
----------

[2.0][Form] Use proper parent (text) for EmailType and TextareaType

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
2011-10-07 14:07:29 +02:00
Fabien Potencier
f22566ca19 merged branch stloyd/ScalarTransformer (PR #2341)
Commits
-------

95049ef [Form] Added type check to `ScalarToChoiceTransformer`

Discussion
----------

[2.0][Form] Added type check to ScalarToChoiceTransformer

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
2011-10-07 14:06:24 +02:00
Joseph Bielawski
8bd0e42233 [Form] Use proper parent (text) for EmailType and TextareaType 2011-10-07 13:47:48 +02:00
stloyd
18a83c67f4 [Form] Simplified a bit FormUtil and extended test coverage 2011-10-07 12:04:26 +02:00
stloyd
95049ef902 [Form] Added type check to ScalarToChoiceTransformer 2011-10-07 12:01:07 +02:00
Fabien Potencier
0e852fe232 Merge branch '2.0'
* 2.0:
  [DoctrineBundle] fixed a unit test (detected thanks to PHP 3.6.0)
  [Form] Fixed lacking attributes in DateTimeType
2011-10-06 21:40:44 +02:00
Katsuhiro OGAWA
828b18f467 [Form] Fixed lacking attributes in DateTimeType 2011-10-05 17:57:43 +09:00
Jordan Alliot
ee0fe7a2b5 Added guessers for Size and SizeLength constraints 2011-09-30 22:31:52 +02:00
Fabien Potencier
245ff6d7a8 updated composer.json for 2.1 2011-09-29 17:40:43 +02:00
Fabien Potencier
f5ab6ec934 Merge branch '2.0'
* 2.0:
  [composer] add missing deps for FrameworkBundle
  [composer] change ext/intl to the new ext-intl syntax
  [composer] fix monolog-bridge composer.json, add more inter-component deps
  [composer] add composer.json
2011-09-29 17:29:32 +02:00
Igor Wiedler
9ade639bb4 [composer] add composer.json 2011-09-27 00:55:43 +02:00
William DURAND
57e1aebb27 Fixed undefined index notice in readProperty() method (PropertyPath) 2011-09-26 23:56:28 +02:00
Fabien Potencier
5dccc97b39 [Form] added a method to help debugging forms (Form::getAllErrorsAsString()) 2011-09-25 14:33:17 +02:00
Fabien Potencier
c832b71600 merged branch stloyd/repeatedtype (PR #1453)
Commits
-------

67c33a8 Rebased with master, and fixed wrong behavior with proper tests coverage
f8a6a4b Be sure that both fields have same value for required option in RepeatedType
0679220 Additional test coverage for changes in RepeatedType
b23d47d moved options test form from class->method scope
5fe5556 fixed accidental permission change
a969434 [Form] fixed CS, merged options, added tests
8819db3 [Form] Allow setting different options to repeating fields

Discussion
----------

[2.1] [Form] Allow setting different options at RepeatedType fields

This an test covered version of #1348 (rebased with master).

---------------------------------------------------------------------------

by stloyd at 2011/06/27 04:18:19 -0700

@fabpot What do you think about this ? I'm just not sure that we should allow setting `required` per field, IMO better would be forcing this option from default `$options['options']` and ignore that field in `$options['first_options']` and/or `$options['second_options']`.

---------------------------------------------------------------------------

by stloyd at 2011/07/02 00:00:04 -0700

@fabpot ping.

---------------------------------------------------------------------------

by fabpot at 2011/07/06 05:45:56 -0700

Let's discuss this new feature for 2.1.

---------------------------------------------------------------------------

by stloyd at 2011/08/24 01:12:59 -0700

Rebased with master.

---------------------------------------------------------------------------

by stof at 2011/09/04 05:02:42 -0700

@fabpot What do you think about this feature ? It is now time to discuss it :)

---------------------------------------------------------------------------

by fabpot at 2011/09/22 00:18:29 -0700

Tests do not pass.

---------------------------------------------------------------------------

by stloyd at 2011/09/24 01:54:42 -0700

@fabpot Should be ok now.
2011-09-24 15:22:26 +02:00
stloyd
67c33a8e02 Rebased with master, and fixed wrong behavior with proper tests coverage 2011-09-24 10:44:47 +02:00
stloyd
f8a6a4b1e5 Be sure that both fields have same value for required option in RepeatedType 2011-09-24 10:25:07 +02:00
Helmer Aaviksoo
5fe5556bea fixed accidental permission change 2011-09-24 10:25:06 +02:00
Helmer Aaviksoo
a96943482b [Form] fixed CS, merged options, added tests 2011-09-24 10:25:05 +02:00
helmer
8819db3923 [Form] Allow setting different options to repeating fields 2011-09-24 10:25:05 +02:00
Fabien Potencier
73c8d2ba74 [Form] fixed error bubbling for Date and Time types when rendering as multiple choices (closes #2062) 2011-09-14 08:30:47 +02:00
Fabien Potencier
0b531932a0 merged branch stloyd/issue_1986 (PR #2000)
Commits
-------

c29fa9d [Form] Fix for treatment zero as empty data. Closes #1986

Discussion
----------

[Form] Fix for treatment zero as empty data. Closes #1986

For more info please read #1986.
2011-08-23 08:44:09 +02:00
Fabien Potencier
2b1bb2c357 [Form] added missing DelegatingValidator registration in the Form Extension class (used when using the Form component outside a Symfony2 project where the validation.xml is used instead) 2011-08-22 22:35:46 +02:00
Ryan Weaver
fdd2e7a30a [Form] Fixing a bug where setting empty_value to false caused a variable to not be found 2011-08-22 15:12:16 -05:00
stloyd
c29fa9d64e [Form] Fix for treatment zero as empty data. Closes #1986 2011-08-22 15:19:31 +02:00
Fabien Potencier
b66eb4db57 merged branch stloyd/form_datetime_transformer (PR #1851)
Commits
-------

d880db2 [Form] Test covered fix for invalid date (13 month/31.02.2011 etc.) send to transformer. Closes #1755
df74f49 Patched src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php to throw an exception when an invalid date is passed for transformation (e.g. 31st February)

Discussion
----------

[Form] Fix for "DateTimeToArrayTransformer" with invalid dates

Hey,

this is test covered fix from @mdavis1982 (closes #1755)

---------------------------------------------------------------------------

by stloyd at 2011/08/16 01:31:32 -0700

@fabpot Can we have this fix merged ?
2011-08-19 14:26:00 +02:00
Fabien Potencier
e7ec02ffcc merged branch Gregwar/email_guessing (PR #1970)
Commits
-------

80d1718 [Fix] Email() constraints now guess as 'email' field type

Discussion
----------

[Fix] Email() constraints now guess as 'email' field type

I don't know what this was set to "text"
2011-08-19 14:03:35 +02:00
Grégoire Passault
80d1718a62 [Fix] Email() constraints now guess as 'email' field type 2011-08-16 14:27:16 +02:00
Fabien Potencier
d1ad47c0eb merged branch krmcbride/form-doc-fixes (PR #1959)
Commits
-------

e3cb39d [Form] Fixed a few PHPDoc comments

Discussion
----------

[Form] Fixed a few PHPDoc comments
2011-08-14 18:27:26 +02:00
Kevin McBride
e3cb39dd9f [Form] Fixed a few PHPDoc comments 2011-08-14 08:43:34 -07:00
Pierre-Yves LEBECQ
e88ecbbbfd [Form] Fixed a typo in AbstractType phpdoc 2011-08-13 13:43:13 +02:00
Gregwar
a1810d6881 [Various] Fixed errors on PHPDocs exception names (TransformationFailedException) 2011-08-09 00:14:29 +02:00
stloyd
d880db2791 [Form] Test covered fix for invalid date (13 month/31.02.2011 etc.) send to transformer. Closes #1755 2011-07-28 12:16:58 +02:00
Matthew Davis
df74f49a49 Patched src/Symfony/Component/Form/Extension/Core/DataTransformer/DateTimeToArrayTransformer.php to throw an exception when an invalid date is passed for transformation (e.g. 31st February) 2011-07-28 12:16:57 +02:00
Pascal Borreli
de5374ebac [Various] Typos 2011-07-28 10:28:20 +02:00
marc.weistroff
d43d621829 [Form] Reverted PR #1758.
Revert "[Form] CollectionType now checks for data_class parameter instead of only class."

This reverts commit 2e024f87a3.

Conflicts:

	tests/Symfony/Tests/Component/Form/Extension/Core/Type/CollectionTypeTest.php

Revert "[Form] Added ObjectFactoryListener. Fixes #1746."

This reverts commit 0327beb0b9.

Conflicts:

	tests/Symfony/Tests/Component/Form/Extension/Core/Type/CollectionTypeTest.php
2011-07-22 16:42:50 +02:00
marc.weistroff
257f86cb20 [Form] Collection's prototype is not not a child anymore. 2011-07-22 11:03:06 +02:00
marc.weistroff
2b4cc9bd06 [Form] Changed collection prototype rendering.
Based on PR 1500. It is now rendered inside an attribute of collection
tag.
2011-07-22 11:01:55 +02:00
marc.weistroff
2e024f87a3 [Form] CollectionType now checks for data_class parameter instead of only class. 2011-07-21 19:50:40 +02:00
marc.weistroff
0327beb0b9 [Form] Added ObjectFactoryListener. Fixes #1746. 2011-07-21 15:02:52 +02:00
Fabien Potencier
27beb3bd15 [Form] fixed error message 2011-07-18 20:51:35 +02:00
Fabien Potencier
b2efdcbad9 [Form] added a missing check (the code calls isset() and unset() and so the data must implements ArrayAccess and Traversable) 2011-07-18 18:43:52 +02:00
Fabien Potencier
bb452cd7c4 [Form] renamed invalid_message_template to invalid_message to be consistent with other error message names 2011-07-18 14:49:07 +02:00
Fabien Potencier
af67e65cbd [Form] fixed validation when using the 'validation_constraint' option 2011-07-16 00:45:53 +02:00
Fabien Potencier
5182a0c2c4 [Form] removed a constraint in PropertyPath as the path can definitely be an empty string for errors attached on the main form (when using a constraint defined with the 'validation_constraint' option) 2011-07-16 00:34:50 +02:00
Fabien Potencier
7f960a10f2 merged branch gbirke/form_error_docs (PR #1599)
Commits
-------

22a49f1 Better docstring for FormError constructor

Discussion
----------

Better docstring for FormError constructor

Better docs for placeholder format of FormError.
2011-07-11 11:28:00 +02:00
Victor Berchet
30d348d18d [Form] Make the default invalid message translatable 2011-07-11 08:36:37 +02:00
Gabriel Birke
22a49f14df Better docstring for FormError constructor 2011-07-09 16:14:57 +02:00
Fabien Potencier
7eec2ca7b3 [Form] added a form type name validator 2011-07-07 09:16:13 +02:00
Michel Weimerskirch
c76d2b5807 Fix error message 2011-07-06 12:54:57 -07:00
Fabien Potencier
befb234e5c merged branch stof/form_type (PR #1552)
Commits
-------

ef022c0 Removed the magical guessing of the type name to avoid WTF issues

Discussion
----------

Removed the magical guessing of the type name to avoid WTF issues

As discussed on IRC, this removes the magical method to avoid breaking the user-land code by reusing the same name than another type which overrides it. This makes the user aware that a type should have a name as they now have to implement the method themselves.

---------------------------------------------------------------------------

by jalliot at 2011/07/06 05:35:30 -0700

Doc and generator should be modified as well if it's merged.
2011-07-06 15:36:48 +02:00
Fabien Potencier
9140395b4f merged branch kertz/date_pattern (PR #694)
Commits
-------

d08a688 [Form] Fixed CS
954bdb5 [Form] Updated DateTimeType to accept a custom date pattern for the DateType child  * Added a test also about this change
e7e744f [Form] Synced changes in this branch with current Symfony master branch
436cb95 [Form] Changed to a CreateException when the 'format' option is invalid  * Updated DateTypeTest also
0045ffe [Form] Added tests to check that the date format option is validated correctly  * Format option must be either a IntlDateFormatter constants (FULL, LONG, MEDIUM, SHORT) or a string
a815232 [Form] The IntlDateFormatter pattern can now be passed via the format option  * Also changed the default value of the calendar paramter to \IntlDateFormatter:GREGORIAN    in DateTimeToLocalizedStringTransformer which is the same as the default value in    StubIntlDateFormatter
58f869a [Form] Synced custom pattern tests with master branch
c20edde [Form] Added some tests  * Tests to check if the pattern option is handled correctly by DateType  * Tests to check if the pattern parameter is handled correctly by DateTimeToLocalizedStringTransformer
52a1e1d moved date_pattern to IntlDateFormatter
dd104bc added code to use custom date_pattern

Discussion
----------

[Form] Added code to use custom date_pattern

Current DateType doesn't make use of the `date_pattern` option. Added code to use the custom `date_pattern` if provided.

---------------------------------------------------------------------------

by maoueh at 2011/05/02 21:52:37 -0700

You should also pass the pattern option to the DateTimeToLocalizedStringTransformer so the pattern is taken in consideration when converting from and to localized string. You can check the commit I did on my repository (maoueh/symfony@01ae75dd84) which do the same as yours for the DateType but also includes the modification needed by the DateTimeToLocalizedStringTransformer class.

Not sure if there is more work needed to fully support the pattern option. Moreover, I did not run the tests to check if everything pass correctly. It would also be a good idea to add some tests to check that the date_pattern is working as expected.

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/02 22:02:14 -0700

There is also a problem with the regex, but this is not regarding the pattern option. If you set the 'format' option to 0, it returns the IntlDateFormatter::FULL but it does not pass the regex because there is first EEEE in the standard pattern so it comes on the fallback pattern year month day

---------------------------------------------------------------------------

by kertz at 2011/05/02 23:36:05 -0700

Thanks for your suggestions @maoueh and @dot-i-fy, I will check them.
I found the `date_pattern` doesn't work when using text widget. I will try to fix this.

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/03 00:02:45 -0700

Here the regex I use now and working with IntlDateFormatter::FULL

https://gist.github.com/952929

---------------------------------------------------------------------------

by maoueh at 2011/05/03 07:13:01 -0700

@kertz: It is working for me using the text widget on my development machine. Don't know what is the problem on our side but it is working correctly for me. I'm willing to help track this problem if you want. Just let me know.

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/03 07:57:34 -0700

@kertz : It is also working for me, we just have to pay attention about the format to be used in the text input regarding IntlDateFormatter.

---------------------------------------------------------------------------

by kertz at 2011/05/03 11:15:23 -0700

Ah well I guess I screwed up the whole commit log!

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/03 11:19:08 -0700

wow !

---------------------------------------------------------------------------

by maoueh at 2011/05/03 11:23:51 -0700

Hell yeah! :) You should do a rebase the next time instead of merging Symfony master branch into yours:
 `git rebase symfony/master date_pattern` and when you need to push your changes to your repository, do `git push -f origin date_pattern`. This way, it will be easier for the core team to handle the merge process.

Since @dot-i-fy opened a pull request for fixing the same issue as here, maybe it would be a good idea to close this PR?

---------------------------------------------------------------------------

by kertz at 2011/05/03 11:33:34 -0700

Well, it's done. I just pushed it a little earlier that I should have! Well I didn't know that @dot-i-fy opened a PR, where is it? This patch currently works for me.

Regarding the change in regex, well I think it should also have a ChoiceList for week days, otherwise it's not useful. Probably that alone can be a separate PR.

---------------------------------------------------------------------------

by maoueh at 2011/05/03 11:46:09 -0700

Yep it is much better now :) I think it would be a good idea to remove this commit from your PR kertz/symfony@e47cfb6d49.

The other PR is [PR751](https://github.com/symfony/symfony/pull/751). Maybe @dot-i-fy could change is PR so it will only be about the regex? In both cases, you should coordinate with each other I think.

Thanks for merging the changes I made to the DateTimeToLocalizedStringTransformer class.

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/03 12:00:06 -0700

Yeah, I will modify my commit to take only the regex in account.

Would someone work with me on the TimeType ? The pattern is also not working there but it looks like a little bit more complicated!

Thanks

---------------------------------------------------------------------------

by kertz at 2011/05/03 12:02:18 -0700

Thanks for the changes in DateTimeToLocalizedStringTransformer.

Is it really necessary to remove the initial commit?

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/03 12:06:41 -0700

What does it mean CS ?

---------------------------------------------------------------------------

by maoueh at 2011/05/03 12:08:44 -0700

@dot-i-fy: It means Code Style, the comma is not placed correctly

---------------------------------------------------------------------------

by kertz at 2011/05/03 12:11:24 -0700

`Coding Standards` seems right :) http://symfony.com/doc/2.0/contributing/code/standards.html

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/03 12:11:27 -0700

ah ok, thx

---------------------------------------------------------------------------

by maoueh at 2011/05/03 12:12:10 -0700

@kertz: I don't think it is strictly necessary to remove this commit. But I think it is a good idea since you kinda reverted it with some changes in a later commit. The core team might ask you to remove it. So leave it for now, and change it if they ask you to do so.

Hehe right, Coding Standards looks way better :)

---------------------------------------------------------------------------

by maoueh at 2011/05/03 12:30:00 -0700

@dot-i-fy: I will check later in the evening what can be done about the pattern in the TimeType class. I'm also planning on adding some tests about this PR. If I do so, I will send a PR to your repository @kertz so you will be able to add the tests to this PR.

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/03 13:04:35 -0700

I had some problems with PHPUnit, seems to be ok now. Another problem, damned, APC is showing in my browser when in app_dev.php, not in prod. Any idea ? Can't get html output in dev env.

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/04 00:43:46 -0700

@RapotOR : Are you talking about the dateType method in IntlDateFormatter ? If no can you make a snippet in gist with an example ?

If yes ...The option "format" already allows an IntlDateFormatter input, you can either set a \IntlDateFormatter::MEDIUM for example or an integer representing the dateType to use (0 -> full, 1 -> long, ... ).

The problem we are reveling here is the pattern based off the dateFormat option :

the $formatter look for Locale -> then for format option and based off these options he generate a pattern who can be different regarding the Locale. For example, for me I have my locale in php set to fr_BE, so my dates are always d-m-Y formatted but if I want to modify that it is momently not possible.

Grtz

---------------------------------------------------------------------------

by RapotOR at 2011/05/04 00:57:03 -0700

@dot-i-fy : my thought was more about having a full control of IntlDateFormatter from outside; instead of defining every variables. It is more like a DI way... especially if you have more than one DateType field!

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/04 01:11:21 -0700

Oh so, it may be indeed a nice way to follow. Don't hesitate to submit your code suggestions.
But I think that if we go deeper in the core modifications, it is maybe a solution to take the $formatter out of the dateType class and put it in a own class and call it from the dateType class ???@}#

---------------------------------------------------------------------------

by maoueh at 2011/05/05 08:22:40 -0700

@mweimerskirch: Maybe it would be better to rename your option html_pattern? Since the pattern is not strictly associated to a date type, it would be a better name in my opinion if it was named html_pattern or html5_pattern?

I think it would lead to more misunderstandings if we had a date_pattern and a pattern option. In both cases, I agree totally that one or the other needs a renaming. Moreover, if we change the pattern option in the date type, I think the format option should be changed also to date_format.

What do you think?

---------------------------------------------------------------------------

by kertz at 2011/05/05 23:58:21 -0700

@mweimerskirch

I too think when we specify `pattern` in `DateType` everyone expects it to be the date pattern. So maybe renaming the HTML5 pattern to `html_pattern` would be more appropriate?

---------------------------------------------------------------------------

by bschussek at 2011/05/18 12:20:56 -0700

Looks good. Why don't we reuse the "format" option for this? If "format" is not one of the predefined constants, we could treat it as a custom date format.

---------------------------------------------------------------------------

by maoueh at 2011/05/18 12:28:22 -0700

@bschussek: I think it is a good idea indeed. When I first played with forms, I thought that the purpose of the format option was exactly for this but I soon realized it wasn't. I'm +1 for this.

@kertz: Let me know if you don't have time to do this switch, I will gladly submit the changes to you own repo if we agree to use "format" option instead of the "pattern" one.

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/18 12:33:33 -0700

``format`` and ``pattern`` options are related to the IntlDateFormatter, I also agree with you but we have to keep in mind that we will loose the symmetry with the IntlDateFormatter class.

---------------------------------------------------------------------------

by bschussek at 2011/05/18 13:39:07 -0700

I think we can safely add this level of abstraction.

---------------------------------------------------------------------------

by kertz at 2011/05/18 20:29:11 -0700

@maoueh Would be great if you can make the changes :)

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/19 09:09:41 -0700

@bschussek : I saw you removed pattern option, what are further intentions ?

---------------------------------------------------------------------------

by maoueh at 2011/05/19 09:42:40 -0700

@kertz: I will do the changes needed tomorrow as I have some spare times. You will need to sync your branch with current master or I will need to send another PR since @bschussek removed the pattern option which will cause bad conflicts with this implementation.

---------------------------------------------------------------------------

by kertz at 2011/05/20 06:45:22 -0700

@maoueh I've merged the changes.

---------------------------------------------------------------------------

by kertz at 2011/05/20 07:11:36 -0700

@maoueh I just removed a couple of commits from the log. Seems like the tests you committed are now missing from the PR. Can you please send the tests once again? Sorry about that.

---------------------------------------------------------------------------

by maoueh at 2011/05/20 09:03:52 -0700

@kertz: I will resend them along with the code modifications to use `format` instead of `pattern`.

---------------------------------------------------------------------------

by maoueh at 2011/05/20 19:11:28 -0700

I did the changes to make it possible to pass a custom pattern via the format option. I sent a PR on @kertz repository [here](https://github.com/kertz/symfony/pull/2) that will be merge eventually in this PR.

I have two small questions about it. First, since format option can now be a string, the allowed values for the option `format` have been removed from the array returned by `getAllowedOptionValues`. The check is done instead in the method `buildForm` directly. The 'format' option can be either one of the `IntlDateFormatter` constants (FULL, LONG, MEDIUM, or SHORT) or a string. If those conditions are not respected, a `FormException` is thrown. Is this correct?

When the `format` option is a custom pattern, the IntlDateFormatter needs a valid format even if it will not be used. So I retrieved the default format option by using the `getDefaultOptions` method. Is this correct or should I specify the default value directly:

this (specify directly):

    $format = \IntlDateFormatter::MEDIUM;

instead of (use predefined defaults):

    $defaultOptions = $this->getDefaultOptions($options);
    $format = $defaultOptions['format'];

Also added more tests to verify that the format option is validated correctly and updated previous ones.

Regards,
Matt

---------------------------------------------------------------------------

by kertz at 2011/05/20 20:38:32 -0700

Merged the changes. I have not tested this yet... Thanks @maoueh :)

---------------------------------------------------------------------------

by dot-i-fy at 2011/05/20 22:48:47 -0700

nice job @maoueh

---------------------------------------------------------------------------

by mprizmic at 2011/06/16 14:06:47 -0700

what do you think about
$pattern = $form->getAttribute('pattern');
instead of
$pattern = $form->getAttribute('formatter')->getPattern();
in line 96 of
symfony/component/form/extension/core/type/datetype.php

---------------------------------------------------------------------------

by maoueh at 2011/06/16 14:40:37 -0700

It is simpler to use the pattern of the formatter directly I think. The reason is that if the option to change the format is null, the default pattern of the formatter will be available and will be the right pattern to use. If the option is set, we modify the formatter before hand so getting the pattern from it will return the custom pattern we have set in the options.

So in both cases, no conditional is required to verify if it is set or not when retrieving the pattern from the formatter. Moreover, I think the pattern must be set as an attribute of the form for your suggestion to work correctly which is not the case right now.

Regards,
Matt

---------------------------------------------------------------------------

by stloyd at 2011/07/05 13:41:36 -0700

@fabpot What we do with that ? I have tried to rebase it with master, but my (Windows) git always gets insane and this ends up with unfixable error. This feature __should__ be in Symfony2 before final. Should I start work on it from "none" ?

---------------------------------------------------------------------------

by fabpot at 2011/07/06 05:44:26 -0700

@stloyd: I need to review the patch first.
2011-07-06 15:04:55 +02:00
Fabien Potencier
47da6cf39e [Form] removed guesser for Choice constraints
The guesser has been removed as the constraints only knows
about the valid keys. But to be able to create the Type automatically,
we also need the values.
2011-07-06 14:36:20 +02:00
Christophe Coevoet
ef022c0c6c Removed the magical guessing of the type name to avoid WTF issues 2011-07-06 14:20:59 +02:00
Fabien Potencier
f562e60809 merged branch vicb/form/default-validator (PR #1533)
Commits
-------

4c6e177 [Form] Fix the default validator

Discussion
----------

[Form] Fix the default validator

When php.ini has an empty value for post_max_size
`post_max_size =`

see http://fr2.php.net/manual/en/function.ini-get.php

post_max_size can not be false as it has a default value
2011-07-05 20:09:31 +02:00
Fabien Potencier
c814d4ce9c merged branch beberlei/ChoiceFix (PR #1531)
Commits
-------

03fee4f Fix permissions
431460f [Form] Remove choice or choice_list requirement as the following conditions already check enough and this condition prevents empty select forms (populated by ajax for example)

Discussion
----------

[Form] Choice fix

[Form] Remove choice or choice_list requirement as the following conditions already check enough and this condition prevents empty select forms (populated by ajax for example)

---------------------------------------------------------------------------

by stloyd at 2011/07/05 06:26:36 -0700

You should revert permission changes.

---------------------------------------------------------------------------

by fabpot at 2011/07/05 06:28:14 -0700

Why not replacing `if (!$options['choices'] && !$options['choice_list']) {` by `if (!isset($options['choices']) && !isset($options['choice_list'])) { `?

---------------------------------------------------------------------------

by beberlei at 2011/07/05 06:35:50 -0700

gnaa permission changes, i cant seem to configure my machine such that it does not do it, i have to do this on a per repository basis, very annoying.

@fabpot isset() is already guaranteed because these two options are in the defaults.

---------------------------------------------------------------------------

by beberlei at 2011/07/05 06:39:43 -0700

Fixed the permissions

---------------------------------------------------------------------------

by stof at 2011/07/05 06:48:37 -0700

@beberlei Can't you fix it in the global git config ?

---------------------------------------------------------------------------

by webda2l at 2011/07/05 09:48:58 -0700

I met the same problem this afternoon and vote for the isset solution. Better than nothing and work for me.
https://github.com/symfony/symfony/pull/1539

---------------------------------------------------------------------------

by stof at 2011/07/05 09:50:09 -0700

@webda2l why is a check that always return true better than nothing ? It adds overhead without adding any value in the code.
2011-07-05 20:04:38 +02:00
Fabien Potencier
9fbffcc650 removed usage of preg_match with the 'e' modifier 2011-07-05 19:49:27 +02:00
Victor Berchet
4c6e177a63 [Form] Fix the default validator 2011-07-05 15:45:01 +02:00
Benjamin Eberlei
03fee4f6cf Fix permissions 2011-07-05 15:39:05 +02:00
Benjamin Eberlei
431460f6ff [Form] Remove choice or choice_list requirement as the following conditions already check enough and this condition prevents empty select forms (populated by ajax for example) 2011-07-05 15:19:46 +02:00
Fabien Potencier
c9a9200115 merged branch stloyd/datetime_fixes (PR #1485)
Commits
-------

3917ed7 Revert "* DateType, DateTimeType, TimeType: - a bit changed readability"
c85b815 Fixed few issues with Date and Time:

Discussion
----------

[Form] Fixed few issues with Date and Time

Fixed few issues with Date and Time:

* TimeType:
  - seconds are no longer populated if "with_seconds" = false
  - "widget = text" is now properly rendered (closes #1480)
* DateTimeToStringTransformer:
  - fixed using not default "format" (probably fix #1183)
* DateType, DateTimeType, TimeType:
  - fixed "input = datetime" and test covered
2011-07-04 20:26:31 +02:00
Fabien Potencier
e251e8e07c merged branch vicb/perf-array (PR #1516)
Commits
-------

2af2260 Remove useless code

Discussion
----------

Remove useless code

This PR is about removing useless code which could benefit to perfomances.

Credits go to [Jordi](https://github.com/symfony/symfony/commit/000229dbd0d161f1eebe) for this.

As a minor modif, I can understand if this could not be merged while in RC.
2011-07-04 15:26:07 +02:00
Victor Berchet
2af2260c34 Remove useless code 2011-07-04 14:08:20 +02:00
Fabien Potencier
beecac3adb [Form] simplified previous merge and fixed unit test 2011-07-04 12:13:46 +02:00
Fabien Potencier
c36f8d6459 merged branch jseverson/formnotboundexception (PR #1465)
Commits
-------

49af102 Throwing FormNotBoundException when calling form isValid

Discussion
----------

Throwing FormNotBoundException when calling form isValid

---------------------------------------------------------------------------

by Seldaek at 2011/06/28 12:20:04 -0700

I'd have made that a `\LogicException`, but that's just me hating on custom exceptions. Otherwise as said on IRC, 👍.

---------------------------------------------------------------------------

by stloyd at 2011/06/28 12:27:27 -0700

+1 but IMO `FormException` would be here good enough.
2011-07-04 12:12:06 +02:00
Fabien Potencier
6793c20967 [Form] fixed error messages 2011-07-04 10:01:16 +02:00
Victor Berchet
06c371278f [Form csrf] FileTypeCsrdExtension is not required any more (as FileType now extends FieldType) 2011-07-04 08:28:43 +02:00
stloyd
3917ed7f91 Revert "* DateType, DateTimeType, TimeType: - a bit changed readability" 2011-07-01 10:04:31 +02:00
stloyd
c85b815c7b Fixed few issues with Date and Time:
* TimeType:
  - seconds are no longer populated if "with_seconds" = false
  - "widget = text" is now properly rendered (closes #1480)
* DateTimeToStringTransformer:
  - fixed using not default "format" (probably fix #1183)
* DateType, DateTimeType, TimeType:
  - fixed "input = datetime" and test covered
  - a bit changed readability
2011-06-30 14:48:56 +02:00
Fabien Potencier
a724774fc0 [Form] fixed guesser when a choice constraint is defined via a callback 2011-06-29 19:55:46 +02:00
Jay Severson
49af102c32 Throwing FormNotBoundException when calling form isValid 2011-06-28 12:18:02 -07:00
stloyd
f4c7333bca Fix populating seconds when option "with_seconds" is set to false 2011-06-24 16:35:45 +02:00
stloyd
aeaf44ab4f Removed unused code from DateTimeType 2011-06-23 18:15:21 +02:00
stloyd
3c2539fccb Throw exception when "date_widget" option is not equal to "time_widget" 2011-06-23 17:19:41 +02:00
stloyd
305c47695f Overwrite child options ("widget", "empty_value") if any given 2011-06-23 17:16:38 +02:00
stloyd
7bc19f9675 Added to DateTimeType extension possibility to render form as single_text (similar to DateType option) (issue #1323 it requires fix for #1205) 2011-06-23 17:02:55 +02:00
stloyd
17b41b2c51 Added to TimeType extension possibility to render form as single_text (similar to DateType option) (issue #1205)
Adjusted `DateTimeType` to allow usage of this new feature
2011-06-23 14:36:04 +02:00
Fabien Potencier
59f85b4a6e merged branch stloyd/timetype (PR #1354)
Commits
-------

4e3406d Sync with master and clean up
ad5d2c1 Added to `TimeType` extension possibility to render form as `single_text` (similar to DateType option) (issue #1205) Adjusted `DateTimeType` to allow usage of this new feature

Discussion
----------

[Form][TimeType] Added possibility to render form as "single_text"

Added to `TimeType` extension possibility to render form as `single_text` (similar to `DateType` option) (issue #1205)
Adjusted `DateTimeType` to allow usage of this new feature

---------------------------------------------------------------------------

by ouardisoft at 2011/06/17 03:41:18 -0700

+1

---------------------------------------------------------------------------

by stloyd at 2011/06/21 01:05:51 -0700

@fabpot Any decision about this one ? I'm asking because I also have similar fix for #1323 but it requires this one ;-)

---------------------------------------------------------------------------

by fabpot at 2011/06/22 23:32:08 -0700

@stloyd: Can you rebase to master?

---------------------------------------------------------------------------

by stloyd at 2011/06/23 05:03:44 -0700

@fabpot Done.
2011-06-23 14:19:20 +02:00
Fabien Potencier
f57e1d3e10 fixed CS 2011-06-23 14:07:53 +02:00
stloyd
4e3406d633 Sync with master and clean up 2011-06-23 14:01:11 +02:00
stloyd
ad5d2c13e1 Added to TimeType extension possibility to render form as single_text (similar to DateType option) (issue #1205)
Adjusted `DateTimeType` to allow usage of this new feature
2011-06-23 11:40:24 +02:00
Fabien Potencier
6de97c56e1 [Form] made required part of the algorithm to determine if an empty value should be added to a choice 2011-06-23 07:56:13 +02:00
stloyd
7783a050c2 Removed unused code from DateType
Additional tests for ChoiceType and DateType based code
2011-06-20 18:45:30 +02:00
stloyd
cdd39ac3e2 Added ability to set "empty_value" for DateTimeType, DateType and TimeType
Additional tests covering added code
2011-06-20 12:56:16 +02:00
stloyd
af4a7d77d9 More tests and more compatible code, with some suggestions from @helmer 2011-06-20 09:54:47 +02:00
stloyd
527b7383b9 Test covered version of fix for issue #1336 2011-06-20 09:54:47 +02:00
Joseph Bielawski
af67de43a2 Added missing quote for UnexpectedTypeException 2011-06-16 08:56:29 -07:00
Fabien Potencier
f1b955be8c [Form] changed transformers to not change the timezone of the provided value (closes #1340) 2011-06-16 08:31:59 +02:00
Fabien Potencier
139a45f173 [Form] fixed AbstractExtension when an extension does not have a guesser 2011-06-16 08:06:24 +02:00
Fabien Potencier
1467a9bd9d [HttpFoundation] refactored Session 2011-06-15 16:01:57 +02:00
Fabien Potencier
c7d5fd16e0 fixed CS 2011-06-15 13:46:46 +02:00
Fabien Potencier
aad2f5868a merged branch mvrhov/form_attributes_option (PR #1032)
Commits
-------

e8326aa Renamed attributes to attr to be consistent with templating.
c707467 Added support for additional attributes in Form types that list field as their parent.

Discussion
----------

[Form] Added support for additional attributes

Added support for additional attributes in Form types that list field as their parent.

This is needed particularity for html5 data and data- attributes support, unfortunately $options['data'] is already taken, so adding a general $options['attributes'] is the easiest solution without breaking BC.

Now I know that this will be tempting for some to stuck style and class attributes here also, but I'd rather not restrict the keys that are passed in.

---------------------------------------------------------------------------

by Seldaek at 2011/05/22 14:51:02 -0700

Maybe it should be called attr for consistency with the template stuff, or the other should be renamed attributes. Other than that, I'm +1, data-* attributes are awesome, and abusers will find ways to abuse things either way.

---------------------------------------------------------------------------

by mvrhov at 2011/05/22 21:48:01 -0700

Naming it attr also crossed my mind when I was signing off yesterday.
Along with the possibility to go the way xml attributes are handled when node is converted to/from array.
So every option with @ prefix would automatically become html attribute. However going the latter path, it'd be harder to implement.

---------------------------------------------------------------------------

by fabpot at 2011/06/13 07:43:52 -0700

Can you give an example of a real-world use case? Thanks.

---------------------------------------------------------------------------

by Seldaek at 2011/06/13 07:54:51 -0700

You can use `array('attr' => array('data-foo' => 'bar'))`, which will output `data-foo="bar"`, which can be read easily by jQuery for example as `$('el').data('foo')`. It's a standard compliant and elegant way to pass extra data needed by the JS code along with DOM nodes, without polluting everything with script tags and all.

---------------------------------------------------------------------------

by fabpot at 2011/06/13 08:01:08 -0700

@Seldaek: I understand that. But why not doing this in the template?

---------------------------------------------------------------------------

by Seldaek at 2011/06/13 08:04:10 -0700

Well, I agree it most likely belongs in the template, but it's kind of data stuff that is not directly impacting the display rules of the element, so in some cases having the possibility to set that from the php code might be useful. Anyway I'll let @mvrhov answer maybe he had a more concrete use case. I just think it's nice to leave the door open, but I don't really need it.

---------------------------------------------------------------------------

by mvrhov at 2011/06/13 10:27:03 -0700

A bit late to the party. Ok, here is my use-case.
I have a pretty large form where part of the data is of tabular form. The number of rows is almost every time a lot larger than the number of columns
So I can either output a lot of text inputs filled with data and make already a large form intimidating. Or I can use a grid that supports editing. So I serialize that tabular data as json and put it as a value into one hidden field. Somehow I also have to get the column definitions to that grid. I decided to I serialize it and put it inside data-* attribute. Putting it into another hidden field doesn't make sense as when data is submitted back I don't need the column definitions as only the number of rows changes.

---------------------------------------------------------------------------

by fabpot at 2011/06/13 10:44:58 -0700

@mvrhov: ok, but what prevents you from doing this in the template directly?

---------------------------------------------------------------------------

by mvrhov at 2011/06/13 11:22:53 -0700

I have to get it into the view somehow. What I'd really not like to do is, iterate through that data in a controller and then pass it as another template variable.

---------------------------------------------------------------------------

by fabpot at 2011/06/14 00:10:22 -0700

But the controller is where you prepare the data that you want to send to the view. Without any concrete example, I'm going to close this PR.

---------------------------------------------------------------------------

by mvrhov at 2011/06/14 01:21:10 -0700

IMHO this has to go out through form as this is the part of the form also I do have a very slim controllers in this case 10 LOC, where half of them is just setting up an view data..
Nonetheless I went looking again very closely at the AbstractType and I do have buildView function available which I can override and set the column data I need there, and then provide custom view for that, so at least from this part this is an non issue.

With this PR all default form attributes can be set from outside and when searching for a good use-case I have found out that @henrikbjorn has implemented this via extensions [1], maybe he has a good use-case for this.

[1] - https://github.com/Comways/ComwaysFormExtraBundle/blob/master/Form/Extension/FieldTypeExtension.php

---------------------------------------------------------------------------

by henrikbjorn at 2011/06/14 01:48:53 -0700

Convenience is the only use case

---------------------------------------------------------------------------

by stof at 2011/06/14 02:08:09 -0700

@fabpot The issue is that passing it from the controller as another template variable makes it really hard when you use the type twice with different values. Passing them from the form would be the easiest way

---------------------------------------------------------------------------

by shuogawa at 2011/06/14 19:37:50 -0700

hello. thanks for great form library.
I want to support two ways to display additional attributes for form elements.
1) control in template like
{{ form_row(form.name, { 'width': '30' }) }}
2) control from php
$builder->add('name', 'text', array('attr'=>array('width'=>'30')));

If form elements configure by end user like cms,
and form elements dynamically change.
The second method is useful.

template designer can write {{form_row(form)}}
but
template designer can not write {{form_row(form.name), { 'width': '30' }}}

Thank you

---------------------------------------------------------------------------

by fabpot at 2011/06/14 23:01:18 -0700

@shuogawa: That's what I fear. Setting the `width` or any other attribute in PHP is wrong. This belongs to the templates.

---------------------------------------------------------------------------

by stloyd at 2011/06/15 00:09:05 -0700

@fabpot Then maybe just restrict allowed tags to `data-*` and don't use `attr` but some other not confusing name ? Just like we do with i.e. `maxlength`.

---------------------------------------------------------------------------

by fabpot at 2011/06/15 04:44:25 -0700

I'm going to merge it as a "convenience" tool, but the documentation should clearly state that the only usage should be for `data-*` attributes.
2011-06-15 13:44:37 +02:00
Fabien Potencier
73dc8c96af merged branch vicb/form-proto (PR #1315)
Commits
-------

07fa82d [Form] Revert changes impacting perfomance and readability
b709551 [Order] Make Form::types and FormView::types use the same order (Parent > Child)
e56dad6 [Form] simplify the code
bdd755e [Form] Fix the exception message when no block is found
c68c511 [Form] Make theming form prototypes consistent (start by looking for a '_<id>_<section>' block)
9ec9960 [Form] Simplify the code
4e3e276 [Form] Make the prototype view child of the collection view

Discussion
----------

[Form] Make the prototype view child of the collection view

This PR should be a base for discussion.

The [current implementation](https://github.com/symfony/symfony/pull/1188) has some drawbacks because the prototype view is not a child of the collection view:

  * The 'multipart' attribute is not propagated from the prototype to the collection,
  * The prototype view do not use the theme from the collection.

Those 2 points are fixed by the proposed implementation and one more benefit is that the template markup might be easier to work with:

before:

```html
<div id="form_emails">
  <div>
    <label for="form_emails_0">0</label>
    <input type="email" id="form_emails_0" name="form[emails][0]" value="a@b.com">
  </div>
  <script type="text/html" id="form_emails_prototype">
    <div>
      <label for="$$name$$">$$name$$</label>
      <input type="email" id="$$name$$" name="$$name$$" value="" />
    </div>
  </script>
</div>
```
after:

```html
<div id="form_emails">
  <div>
    <label for="form_emails_0">0</label>
    <input type="email" id="form_emails_0" name="form[emails][0]" value="a@b.com">
  </div>
  <script type="text/html" id="form_emails_prototype">
    <div>
      <label for="form_emails_$$name$$">$$name$$</label>
      <input type="email" id="form_emails_$$name$$" name="form[emails][$$name$$]" value="" />
    </div>
  </script>
</div>
```

@kriswallsmith I'd like to get your feedback on this PR. thanks.

---------------------------------------------------------------------------

by stof at 2011/06/14 07:01:01 -0700

@fabpot any ETA about merging it ? Using the prototype currently is a pain to build the name. The change makes it far easier

---------------------------------------------------------------------------

by fabpot at 2011/06/14 07:09:46 -0700

The templates are much better but I'm a bit concerned that we need to add the logic into the Form class directly. That looks quite ugly. If there is no other way, I will merge it.

---------------------------------------------------------------------------

by vicb at 2011/06/14 07:14:32 -0700

I have found no better way... I am testing some minor tweaks I want to submit.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 07:34:25 -0700

I'm not happy with the code in Form.php either... would creating a PrototypeType accomplish the same thing?

---------------------------------------------------------------------------

by vicb at 2011/06/14 07:42:07 -0700

@kriswallsmith tried and dismissed, the id and name are bad & you have to go for `render_widget(form.get('proto'))` in the template. That should be fixeable but not any better.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 07:45:21 -0700

What do you mean the id and name are bad? If we have a distinct type for the prototype, can't we do whatever we want using buildView() and the template?

---------------------------------------------------------------------------

by vicb at 2011/06/14 07:53:31 -0700

@kriswallsmith the id would be smthg like `form_emails_$$name$$_prototype` but yes we should be able to do whatever we want but the code might end up being more complex.

I am done with the tweaks but still open to feedback on this PR.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 08:08:21 -0700

Yes, that is the type of name I would expect.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 08:08:33 -0700

Oops -- I mean id.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 08:09:42 -0700

Maybe I'm confused what id you're referring to. I'll try to spend some time on this today.

---------------------------------------------------------------------------

by vicb at 2011/06/14 08:23:56 -0700

That should be the id of the `<input>`, the id of the script would be `form_emails_$$name$$_prototype_prototype` (if prototype is the name of the nested node).

I am trying to setup a branch with my code (playing with git & netbeans local history)

---------------------------------------------------------------------------

by vicb at 2011/06/14 08:46:25 -0700

@kriswallsmith https://github.com/vicb/symfony/tree/kris/proto if that can help (there are still changes in Form.php)

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 08:47:08 -0700

Thanks, I'll take a look.

---------------------------------------------------------------------------

by vicb at 2011/06/15 00:48:38 -0700

I would have expected it to be faster however `array_map` is about twice slower... reverted !
2011-06-15 11:27:12 +02:00
Fabien Potencier
168a61b9ea [Form] fixed typo (patch from mgatto) 2011-06-15 11:25:50 +02:00
Victor Berchet
07fa82dff1 [Form] Revert changes impacting perfomance and readability 2011-06-15 09:45:11 +02:00
Victor Berchet
b709551252 [Order] Make Form::types and FormView::types use the same order (Parent > Child) 2011-06-15 01:45:26 +02:00
Victor Berchet
e56dad6b5e [Form] simplify the code 2011-06-15 01:41:37 +02:00
Victor Berchet
9ec99608df [Form] Simplify the code 2011-06-14 16:30:48 +02:00
Fabien Potencier
c6cc427e4b [EventDispatcher] added a way to set the priority for event subscribers 2011-06-14 14:40:27 +02:00
Fabien Potencier
a232c148eb fixed CS 2011-06-14 12:54:32 +02:00
Victor Berchet
4e3e2768fb [Form] Make the prototype view child of the collection view 2011-06-14 09:33:19 +02:00
Fabien Potencier
c364008a3b [Form] allowed an empty value to be displayed for choices even when required is true
Rules are as follows:

* If multiple is true, then the empty_value is ignored
* If not, and if the field is not required, the empty_value is set to the empty string by default and displayed
* If the field is required, and if the user explicitely set the empty_value, then it is displayed
2011-06-14 08:27:19 +02:00
Fabien Potencier
d16a708cc8 [Form] simplified file type class
File uploads documentation is here:

https://github.com/symfony/symfony-docs/pull/400
2011-06-13 18:11:18 +02:00
Fabien Potencier
0c29a25d89 Merge remote branch 'kriswallsmith/form/collection-proto'
* kriswallsmith/form/collection-proto:
  added script[type="text/html"] collection prototype to form themes
  [Form] removed collection prototype from form tree
2011-06-13 11:51:18 +02:00
Fabien Potencier
41b7190efc Revert "[Form] changed the way default type names are created to avoid collisions"
This reverts commit d044498cde.

The reason for reverting is that the name is actually used to customize
the template on a per field basis:

{% block _post_excerpt_widget %}
    ***{{ block('text_widget') }}***
{% endblock %}

Here, post is the name of the Type.
2011-06-13 11:47:21 +02:00
Brikou CARRE
66ae994528 [Form] added phpdoc (inherit) for types 2011-06-11 11:59:28 +02:00
Fabien Potencier
96045739b1 [TwigBundle] removed the extensions setting 2011-06-11 07:50:14 +02:00
Fabien Potencier
c79e51c9aa Merge remote branch 'kriswallsmith/form/lazier-csrf-token'
* kriswallsmith/form/lazier-csrf-token:
  [Form] fixed xpath
  [Form] moved csrf listener to its own class
  fix issue with csrf token not present on collection fields because of resize listener
2011-06-11 07:36:51 +02:00
Fabien Potencier
8d58826085 [Routing] fixed unit tests for previous commit 2011-06-11 07:33:55 +02:00
Kris Wallsmith
fe4382eb73 [Form] moved csrf listener to its own class 2011-06-10 13:00:44 -07:00
Bulat Shakirzyanov
cb53414e91 fix issue with csrf token not present on collection fields because of resize listener 2011-06-10 11:12:35 -07:00
Kris Wallsmith
8d55df42de [Form] fixed isValid() on readOnly forms that have children 2011-06-10 07:11:50 -07:00
Fabien Potencier
44816ebca0 Merge remote branch 'Infranology/minor-code-simplification'
* Infranology/minor-code-simplification:
  [Form] minor code simplification
2011-06-10 15:55:26 +02:00
Fabien Potencier
03a05661f9 [Form] fixed more cases where the delegating validator did not match the validator paths 2011-06-10 15:35:49 +02:00
Fabien Potencier
1daca76197 [Form] unified the way form and data path are created 2011-06-10 15:35:35 +02:00
Fabien Potencier
7de4d28a05 Merge remote branch 'yethee/delegating_validator'
* yethee/delegating_validator:
  [Form] Fixed path mapping for DelegatingValidator
2011-06-10 13:54:44 +02:00
Eriksen Costa
c9acf2e60c [Form] minor code simplification 2011-06-09 13:24:55 -03:00
Fabien Potencier
ea93e4cafa [Form] added a circular reference safeguard for form type 2011-06-09 17:58:22 +02:00
Fabien Potencier
d044498cde [Form] changed the way default type names are created to avoid collisions 2011-06-09 16:43:02 +02:00
Fabien Potencier
f3cafcb355 merged symfony/form-simplification 2011-06-09 13:29:31 +02:00
Fabien Potencier
852a4c9c6a [Form] removed the file upload temporary storage feature
The current implementation is not ready for inclusion in 2.0. It has several
known problems (security, not possible to disable it, not "cloud-compatible",
...) and it's not a must have feature anyway.

Some references:

 * Security issue in FileType: https://github.com/symfony/symfony/issues/1001
 * Validation fails on file, still stored in TemporaryStorage: https://github.com/symfony/symfony/issues/908
 * Add a size argument & ability to configure TemporaryStorage: https://github.com/symfony/symfony/pull/748

This feature should be reworked and discussed for inclusion in 2.1.
2011-06-09 12:44:36 +02:00
Fabien Potencier
2ee0c284bc [Form] fixed CS 2011-06-09 11:40:24 +02:00
Fabien Potencier
fd97dd0059 [Form] text is now the default type when not explicitely set and when no data class is set 2011-06-09 11:37:06 +02:00
Fabien Potencier
a6a3789a54 [Form] tweaked an error message 2011-06-09 11:33:25 +02:00
Fabien Potencier
d9500418cd [Form] tweaked an error message 2011-06-09 11:32:20 +02:00
Fabien Potencier
88184394b5 [Form] tweaked the error message when a form with a file upload does not have the enctype attribute correctly configured 2011-06-09 08:36:40 +02:00
Kris Wallsmith
5ecb252ddf [Form] removed collection prototype from form tree 2011-06-08 08:34:20 -04:00
Fabien Potencier
566511e9e7 moved some FormView methods to FormUtil where they really belongs 2011-06-08 14:07:04 +02:00
Fabien Potencier
1aabc5da64 fixed CS 2011-06-08 12:16:48 +02:00
Fabien Potencier
62e4342a86 fixed CS 2011-06-08 12:12:55 +02:00
Fabien Potencier
6881f01fd6 Merge remote branch 'CodeMeme/default-validator-improved-synchronized-error'
* CodeMeme/default-validator-improved-synchronized-error:
  FormError when not synchronized tells you the form name for easier debugging
2011-06-08 08:58:04 +02:00
Fabien Potencier
2573c8968f [Form] fixed choices when keys are integers
This fixes choices when all the keys are strings (but integers really).

That's because in PHP, if you have the following array:

array('1' => 'foo', '2' => 'bar');

PHP "converts" it automatically to the following array:

array(1 => 'foo', 2 => 'bar');
2011-06-07 21:53:59 +02:00
Fabien Potencier
462a8c79ad [Form] tweaked previous commit 2011-06-07 21:45:36 +02:00
Fabien Potencier
91aedf5995 Merge remote branch 'fivestar/single-choice-expanded'
* fivestar/single-choice-expanded:
  [Form] Fixed FixRadioInputListener to not ignore 0.
  [Form] Fixed single expanded choice type to set checked attribute when passed boolean value
2011-06-07 20:53:21 +02:00
Victor Berchet
eed54c137e [Form] Fix the FormView::isRendered() method 2011-06-06 12:31:30 +02:00
Fabien Potencier
87fefcae62 [Form] removed obsolete comment 2011-06-05 08:49:06 +02:00
Fabien Potencier
dd5f088abb Merge remote branch 'jwage/master'
* jwage/master:
  Revert back to using gmmktime and use day 15 instead of 1 to avoid edge case
  Use mktime instead of gmmaketime. On the 1st of every month the following options are generated:
2011-06-05 08:47:49 +02:00
Matthieu Vachon
954bdb5813 [Form] Updated DateTimeType to accept a custom date pattern for the DateType child
* Added a test also about this change
2011-06-03 11:05:11 -04:00
Matthieu Vachon
e7e744f00a [Form] Synced changes in this branch with current Symfony master branch 2011-06-03 10:51:08 -04:00
Matthieu Vachon
436cb95223 [Form] Changed to a CreateException when the 'format' option is invalid
* Updated DateTypeTest also
2011-06-03 10:47:00 -04:00
Matthieu Vachon
a8152326fb [Form] The IntlDateFormatter pattern can now be passed via the format option
* Also changed the default value of the calendar paramter to \IntlDateFormatter:GREGORIAN
   in DateTimeToLocalizedStringTransformer which is the same as the default value in
   StubIntlDateFormatter
2011-06-03 10:46:58 -04:00
Amal Raghav
52a1e1d281 moved date_pattern to IntlDateFormatter
added code to use custom date_pattern
2011-06-03 10:46:55 -04:00
Amal Raghav
dd104bc8c0 added code to use custom date_pattern 2011-06-03 10:46:54 -04:00
stloyd
4e03db63d7 Remove all is_null alias calls. 2011-06-03 11:16:32 +02:00
Jonathan H. Wage
611dbf1bfe Revert back to using gmmktime and use day 15 instead of 1 to avoid edge case 2011-06-02 13:47:58 -07:00
Katsuhiro OGAWA
790284f2a8 [Form] Fixed FixRadioInputListener to not ignore 0. 2011-06-02 19:19:43 +09:00
Katsuhiro OGAWA
5893874ed5 [Form] Fixed single expanded choice type to set checked attribute when passed boolean value 2011-06-02 19:19:42 +09:00
Jonathan H. Wage
cd99d2a07d Use mktime instead of gmmaketime. On the 1st of every month the following options are generated:
<select id="filter_start_date_month" name="filter[start][date][month]">
<option value="1">Dec</option>
<option value="2">Jan</option>
<option value="3">Feb</option>
<option value="4">Mar</option>
<option value="5">Apr</option>
<option value="6" selected="selected">May</option>
<option value="7">Jun</option>
<option value="8">Jul</option>
<option value="9">Aug</option>
<option value="10">Sep</option>
<option value="11">Oct</option>
<option value="12">Nov</option>
</select>

I do not totally understand the problem but using mktime instead of gmmktime fixes the issue.
2011-06-01 12:09:28 -05:00
Fabien Potencier
c8034c04a8 Merge remote branch 'vicb/form-rendering'
* vicb/form-rendering:
  [Form] The variable stack should not persist between section rendering (fixes #1157)
  [Twig][Form] Tweak form extension phpDoc and code
  [Form] Tweak phpDoc
  [FormView] fix phpDoc
  [Form] Some tweaks
2011-06-01 10:32:40 +02:00
Fabien Potencier
79e709cdc9 removed the ON_ prefix for Form event names 2011-05-31 07:19:18 +02:00
Victor Berchet
cbfc146ac8 [Form] Tweak phpDoc 2011-05-30 15:21:15 +02:00
Victor Berchet
99bf22c464 [Form] Some tweaks 2011-05-30 14:57:33 +02:00
Fabien Potencier
9b7e14dd10 [Form] converted code to the new event dispatcher 2011-05-30 09:37:42 +02:00
Fabien Potencier
5059559035 Merge remote branch 'Seldaek/events' into events1
* Seldaek/events:
  [EventDispatcher] Removed temporary code
  [FrameworkBundle] Improved code readability
  [FrameworkBundle] Clarified code and fixed regression
  Update Core and Security events to latest model
  [EventDispatcher] Allow registration of arbitrary callbacks
  [EventDispatcher] Remove useless code
  [EventDispatcher] Minor memory optimization to getListeners()
  [FrameworkBundle] Small optimization, remove some function calls
2011-05-30 08:58:49 +02:00
Pascal Borreli
824e48efa7 [Various] Fixed phpdoc 2011-05-29 23:33:36 +00:00
Pascal Borreli
46cdf02750 [Various] Fixed typo 2011-05-29 14:19:02 +00:00
Fabien Potencier
40b84320d6 [Form] tweaked comment 2011-05-28 18:06:11 +02:00
Fabien Potencier
3b0089967f Merge remote branch 'stloyd/patch-11'
* stloyd/patch-11:
  [Form] Force hidden fields to not have "required" attribute (#1091)
2011-05-28 18:05:27 +02:00
Miha Vrhovnik
b8144c62ad DateType single-text should be single_text 2011-05-27 16:23:59 +02:00
Joseph Bielawski
4b476ad267 [Form] Force hidden fields to not have "required" attribute (#1091) 2011-05-27 04:48:14 -07:00
Fabien Potencier
6507eeff3c Merge remote branch 'CodeMeme/1058-fix-radio-input-listener'
* CodeMeme/1058-fix-radio-input-listener:
  Fix for RadioInputListener's empty value erroneously becoming extra data Refs #1058
  Added test for RadioInputListener bug treating no data as extra data
2011-05-26 17:31:09 +02:00
Fabien Potencier
43817de633 Merge remote branch 'maoueh/date_type_dead_code'
* maoueh/date_type_dead_code:
  [Form] Removed dead code in the buildForm method of DateType.php  * With the introduction of the getAllowedOptionValues mechanics, the check    is performed prior to the buildForm call. There is no more needs to check    it again in DateType.
2011-05-26 14:57:54 +02:00
Jordi Boggiano
1246503e55 [EventDispatcher] Allow registration of arbitrary callbacks
This in effect removes the direct link between event name and the method name on the handler.
Any callback can be given as a handler and the event name becomes an arbitrary string. Allowing for easier namespacing (see next commit)
2011-05-26 11:54:06 +02:00
Eric Clemmons
c06a157759 Fix for RadioInputListener's empty value erroneously becoming extra data
Refs #1058
2011-05-25 22:24:49 -07:00
Eric Clemmons
c13cdd34c5 FormError when not synchronized tells you the form name for easier debugging 2011-05-25 12:50:34 -07:00
Fabien Potencier
179864414e [Form] fixed CS 2011-05-25 08:03:21 +02:00
hlecorche
400de9c541 IntegerToLocalizedStringTransformer must return "null" if input value is null 2011-05-24 10:52:28 +02:00
jdhoek
7e4419368e Add missing {} around @inheritDoc to fix this class in SF beta2. 2011-05-24 00:38:15 -07:00
Miha Vrhovnik
e8326aa650 Renamed attributes to attr to be consistent with templating. 2011-05-23 08:10:03 +02:00
Fabien Potencier
60b811947b [Form] fixed error message (closes #1034) 2011-05-23 08:06:43 +02:00
Miha Vrhovnik
c7074672ba Added support for additional attributes in Form types that list field as their parent. 2011-05-22 22:59:00 +02:00
Matthieu Vachon
87176e39d1 [Form] Removed dead code in the buildForm method of DateType.php
* With the introduction of the getAllowedOptionValues mechanics, the check
   is performed prior to the buildForm call. There is no more needs to check
   it again in DateType.
2011-05-22 13:51:00 -04:00
Fabien Potencier
2d2de7e8b0 Merge remote branch 'vicb/form-field'
* vicb/form-field:
  [Form] Tweak the field type
2011-05-22 08:29:54 +02:00
Fabien Potencier
2c85a59599 Merge remote branch 'vicb/form-rendered'
* vicb/form-rendered:
  [Form] Fix for nested forms getting erroneously set as rendered
2011-05-22 08:16:24 +02:00
Amal Raghav
517f95d8a4 added missing single-text option 2011-05-20 19:19:23 +05:30
Victor Berchet
e117613550 [Form] Fix for nested forms getting erroneously set as rendered 2011-05-20 15:48:55 +02:00
Victor Berchet
e0ff7d2613 [Form] Tweak the field type 2011-05-20 11:08:48 +02:00
Michel Weimerskirch
fd92105fa0 Fix merge error (function "guess" was in there twice) 2011-05-19 05:45:29 -07:00
Bernhard Schussek
dcc61a9a98 Merge remote branch 'shieldo/search_field' into shieldo_merge 2011-05-19 01:41:59 +02:00
Bernhard Schussek
13a964ae6d [Form] Form::isBound() and Form::isValid() work correctly now for read-only forms 2011-05-19 01:24:28 +02:00
Bernhard Schussek
c3e8569f73 Merge remote branch 'vicb/form-csrf' into vicb_merge 2011-05-18 23:56:11 +02:00
Bernhard Schussek
a7ff4f484a [Form] Further simplified PropertyPath code 2011-05-18 23:39:49 +02:00
Bernhard Schussek
857042458a Merge remote branch 'vicb/form-ppath-optim' into vicb_merge 2011-05-18 23:34:53 +02:00
Bernhard Schussek
af66beed76 [Form] Added test for 6c337d1cc0 2011-05-18 23:20:37 +02:00
Bernhard Schussek
a3d84bc681 Merge remote branch 'vicb/form-9731' into vicb_merge 2011-05-18 23:12:27 +02:00
Bernhard Schussek
216d7e415d Merge remote branch 'mweimerskirch/form_pattern_attribute' into mweimerskirch_merge
Conflicts:
	src/Symfony/Bundle/TwigBundle/Resources/views/Form/div_layout.html.twig
	src/Symfony/Component/Form/Extension/Core/Type/FieldType.php
	src/Symfony/Component/Form/Extension/Validator/ValidatorTypeGuesser.php
2011-05-18 22:49:27 +02:00
Bernhard Schussek
520e3761e9 [Form] Removed unused option "pattern" of date and time type 2011-05-18 22:34:34 +02:00
Bernhard Schussek
f467317bab [Form] Renamed view variable "name" to "full_name"
The variable "name" now contains the local, short name (equivalent to $form->getName()).
2011-05-18 22:16:16 +02:00
Bernhard Schussek
b39a21fbaf [Form] Renamed collection option "type_options" to "options" to be consistent with the repeated type 2011-05-18 21:52:59 +02:00
Bernhard Schussek
2711fbc418 Merge remote branch 'jaugustin/fix_form' into jaugustin_merge
Conflicts:
	src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php
	src/Symfony/Component/Form/Extension/Core/Type/CollectionType.php
2011-05-18 21:40:20 +02:00
Victor Berchet
ebb0e83a7e [Form] CSRF documentation and a few CS changes 2011-05-18 12:45:01 +02:00
Victor Berchet
ba31b5acc5 [Form] Move CSRF options from types to the CSRF extension 2011-05-18 10:37:31 +02:00
Fabien Potencier
eb202bb7b7 merged kriswallsmith/form/csrf-intention 2011-05-17 15:25:50 +02:00
Fabien Potencier
75f0ab5d40 Merge remote branch 'vicb/form-fluid'
* vicb/form-fluid:
  [Form] Fix the Form fluid interface
  [Form] Fix the fluid interface of FormBuilder
  [Form] Fix the fluid interface of FormBuilder
2011-05-17 09:45:29 +02:00
Fabien Potencier
d118e32783 Merge remote branch 'vicb/924-cosmetic'
* vicb/924-cosmetic:
  [Form] CS related changes
2011-05-17 09:19:41 +02:00
Fabien Potencier
d0b403b7e4 Merge remote branch 'vicb/924-real'
* vicb/924-real:
  [Form] Implement a fluid interface FormView
2011-05-17 09:19:39 +02:00
Kris Wallsmith
914620f948 [Form] renamed CSRF page_id to intention 2011-05-16 14:16:29 -07:00
Victor Berchet
42698608cb [Form] CS related changes 2011-05-15 21:39:22 +02:00
Victor Berchet
39efc49da0 [Form] Implement a fluid interface FormView 2011-05-15 21:38:12 +02:00
Douglas Greenshields
bf2f9d2a02 [Form] Added a search form field type 2011-05-15 18:31:36 +01:00
Victor Berchet
971aad0593 Merge branch 'master' into form-phpdoc-2 2011-05-15 19:24:09 +02:00
Deni
e75edf205d [Form] Fixed path mapping for DelegatingValidator 2011-05-14 13:38:34 +04:00
Fabien Potencier
dbdb3da6bf Merge remote branch 'vicb/form-misc-fix-2'
* vicb/form-misc-fix-2:
  [Form] fix calling closures
  [Form] Add a missing property delcaration in the ResizeFormListener
2011-05-14 11:04:50 +02:00
Victor Berchet
3b9c1e3fee [Form] Optimization of PropertyPath 2011-05-13 19:29:41 +02:00
Bernhard Schussek
e0ff61949e [Form] Renamed the value "text" of the "widget" option of the "date" type to "single-text" 2011-05-13 19:17:28 +02:00
Bernhard Schussek
7570e04589 [Form] Implemented getAllowedOptionValues() for core types 2011-05-13 18:58:19 +02:00
Bernhard Schussek
da28f8e3b3 [Form] Added FormTypeInterface::getAllowedOptionValues() to better validate passed options 2011-05-13 18:44:03 +02:00
Bernhard Schussek
21013b930c [Form] Improved test coverage of FormFactory and improved error handling 2011-05-13 18:29:18 +02:00
Bernhard Schussek
fdd18250b3 [Form] Added getType() to FormFactoryInterface 2011-05-13 17:16:36 +02:00
Victor Berchet
ae4bfbada4 [Form] fix calling closures 2011-05-13 11:01:31 +02:00
Victor Berchet
b2b3b190ef [Form] Add a missing property delcaration in the ResizeFormListener 2011-05-13 11:01:27 +02:00
Victor Berchet
87a6fd0f99 [Form] phpDoc 2011-05-13 11:00:04 +02:00
Jeremy Mikola
61dc1af65b [Form] Refer to FormView explicitly in its own getParent() type-hint
Using "self" makes mocking impossible, as the type-hint would then refer to the extending class and make the declaration incompatible.
2011-05-11 14:11:43 -07:00
Victor Berchet
f68d16fdff [Form] Fix the Form fluid interface 2011-05-11 17:08:53 +02:00
Jeremie Augustin
0077963584 fix file permissions to 644 2011-05-11 11:19:21 +02:00
Jeremie Augustin
b5277752b7 [Form] add type_options for CollectionType to be abble to set options to type 2011-05-11 11:19:21 +02:00
Victor Berchet
2db53b5e28 [Form] Order method according to their visibility to respect the CS 2011-05-11 11:00:32 +02:00
Victor Berchet
5536d41906 [Form] Add phpDoc for form builder and fix method declaration order to conform to the CS 2011-05-11 11:00:32 +02:00
Fabien Potencier
1ae5ef6849 Merge remote branch 'vicb/form-padded-choice-list'
* vicb/form-padded-choice-list:
  [Form] Allow for arbitrary keys in PaddedChoiceList
2011-05-11 10:18:30 +02:00
Fabien Potencier
b62cd109f0 Merge remote branch 'vicb/form-fixes'
* vicb/form-fixes:
  [Form] Make the PropertyPathMapper class use the UnexpectedTypeException
  [Form] Fix adding transformers in the FormBuilder
  [Form] Fix the ReversedTransform class
2011-05-11 10:13:24 +02:00
Fabien Potencier
9651175914 Merge remote branch 'vicb/form-transformers'
* vicb/form-transformers:
  [Form] Add argument type checking in BaseDateTimeTransformer
  [Form] Catch exceptions in DataTransformers
2011-05-11 10:12:23 +02:00
Fabien Potencier
723a8f2bf3 [Form] fixed CS 2011-05-11 10:09:27 +02:00
Victor Berchet
adef14f687 [Form] Make the PropertyPathMapper class use the UnexpectedTypeException 2011-05-10 20:25:46 +02:00
Victor Berchet
daccf9bc17 [Form] Fix adding transformers in the FormBuilder 2011-05-10 20:25:30 +02:00
Victor Berchet
486294b50b [Form] Fix the ReversedTransform class 2011-05-10 20:25:22 +02:00
Victor Berchet
2e68801ff3 [Form] Add argument type checking in BaseDateTimeTransformer 2011-05-10 20:21:02 +02:00
Victor Berchet
dac798c791 [Form] Catch exceptions in DataTransformers 2011-05-10 20:21:02 +02:00
Victor Berchet
aa71d16812 [Form] Make TimezoneChoiceList implement ChoiceListInterface rather than extend ArrayChoiceList 2011-05-10 20:14:11 +02:00
Victor Berchet
eca6453558 [Form] Fix the fluid interface of FormBuilder 2011-05-10 20:09:37 +02:00
Victor Berchet
75a499b0e2 [Form] Fix the fluid interface of FormBuilder 2011-05-10 20:09:28 +02:00
Victor Berchet
2d62dfdf83 [Form] Fix some phpDoc 2011-05-10 16:55:05 +02:00
Victor Berchet
2a8f2d2bfa [Form] fix and add some phpDoc 2011-05-10 15:33:02 +02:00
Fabien Potencier
80a5074746 [Form] tweaked code (closes #855) 2011-05-09 17:53:18 +02:00
Victor Berchet
6c337d1cc0 [Form] Do not set the value attribute for file inputs 2011-05-09 17:00:19 +02:00
Victor Berchet
e0f03471ae Merge branch 'master' into form-padded-choice-list 2011-05-09 15:30:04 +02:00
Deni
a15abc09bd [Form] Added missing import statement of namespaces. 2011-05-09 14:30:04 +04:00
Kris Wallsmith
f3b077a0dd [Form] removed a bunch of unused use statements 2011-05-06 14:07:16 -07:00
Victor Berchet
68b3d0d5ac [Form] Allow for arbitrary keys in PaddedChoiceList 2011-05-06 10:31:51 +02:00
Michel Weimerskirch
476644a92c [Form] Support for the HTML5 "pattern" attribute, see http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-pattern-attribute
If you use the MinLength validator with your entities, the ValidatorTypeGuesser gets the value, stored as "minlength". Then, the FormFactory generates a "pattern" attribute out of minlength and maxlength.
Modern browsers such as Chrome use this attribute to validate the form before submitting.
a "pattern" attribute is generated that validates the
2011-05-04 23:16:41 +02:00
Bernhard Schussek
74cca63938 [Form] CSRF fields are not included in the children of a FormView anymore if the view is not the root 2011-05-04 18:27:20 +02:00
Bernhard Schussek
173beeba74 [Form] FormView::offsetUnset() is now supported. It was possible anyway using getChildren() and setChildren(). 2011-05-04 18:21:49 +02:00
Bernhard Schussek
3cc5d9f4cd [Form] Split the option "modifiable" of the "collection" type into "allow_add" and "allow_delete" 2011-05-04 17:29:59 +02:00
Bernhard Schussek
bf1dfbbe99 [Form] Added test for last commit by kriswallsmith and improved dealing with original names
The form component should now guarantee to always pass an UploadedFile object to your model. There you can call getOriginalName() to retrieve the original name of the uploaded file. For security reasons, the real file name is a generated hash value.
2011-05-04 17:04:44 +02:00
Kris Wallsmith
4ea274244d [Form] updated listener to check that data is an array 2011-05-02 15:56:35 -07:00
Amal Raghav
26bfa43bfc fixed a typo 2011-04-28 23:37:40 +05:30
Fabien Potencier
05f1481c6a [Form] added the possibility to configure the CSRF field name and the disabling of the CSRF feature altogether 2011-04-28 11:28:44 +02:00
Fabien Potencier
751eaab326 Merge remote branch 'mweimerskirch/form_fixes'
* mweimerskirch/form_fixes:
  Fix DateTimeType by adding missing default options
2011-04-28 08:18:28 +02:00
Fabien Potencier
f865a79742 [Form] fixed DateTimeToTimestampTransformer to use the proper exception class 2011-04-28 08:07:19 +02:00
Fabien Potencier
0007702321 Merge remote branch 'Seldaek/datetime'
* Seldaek/datetime:
  [Form] Use proper transformation exception in case of failure
2011-04-28 08:05:08 +02:00
Jeremy Mikola
f59423626a [Form] Remove unnecessary use statements in EventListeners 2011-04-27 12:18:45 -04:00
Eriksen Costa
164ce5210d capitalized 'boolean' 2011-04-27 02:35:10 -03:00
Eriksen Costa
4db0752894 replaced 'bool' with 'Boolean' 2011-04-27 02:35:03 -03:00
Jordi Boggiano
d11b7baa7e [Form] Use proper transformation exception in case of failure 2011-04-26 16:02:01 +02:00
Michel Weimerskirch
87c609b4a4 Fix DateTimeType by adding missing default options 2011-04-26 14:21:00 +02:00
Victor Berchet
f83e92bf44 Make casting scalar to array consistent 2011-04-26 12:16:35 +02:00
Fabien Potencier
c0a160b5f9 partially reverted previous merge 2011-04-24 22:02:19 +02:00
Fabien Potencier
c6e0ccfdcd Merge remote branch 'pborreli/form-typo'
* pborreli/form-typo:
  [Form] Fixed typos
2011-04-24 21:56:47 +02:00
Fabien Potencier
f251eab92f Revert "[Form] added a way to register a Form extension after creation of the FormFactory"
This reverts commit 2b8c7f84b5.
2011-04-24 21:56:06 +02:00
Fabien Potencier
2f3ddb88ef Merge remote branch 'bschussek/form'
* bschussek/form:
  [Form] Automatically setting "data_class" option if objects are passed at the creation of a form
  [Form] Improved the way passed data is handled in FormFactory
  [Form] Simplified FileType code
  [HttpFoundation] TemporaryStorage automatically creates the directory if it doesn't exist yet
  [Form] Changed FormBuilder::build() to FormBuilder::create(). You hvae to pass the resulting builder to FormBuilder::add() manually now
  [Form] Added FieldTypeValidatorExtension and fixed FQCN of DelegatingValidator
2011-04-24 21:53:24 +02:00
Pascal Borreli
06b3c386d9 [Form] Fixed typos 2011-04-24 14:05:16 +00:00
Fabien Potencier
08bf2af455 fixed email 2011-04-24 13:59:46 +02:00
Bernhard Schussek
e790587dc2 [Form] Automatically setting "data_class" option if objects are passed at the creation of a form
$form = $this->get('form.factory')->create(new PostType(), $post);
2011-04-24 13:38:12 +02:00
Bernhard Schussek
d58c610833 [Form] Improved the way passed data is handled in FormFactory 2011-04-24 13:32:29 +02:00
Bernhard Schussek
335f7e776a [Form] Simplified FileType code 2011-04-24 12:08:56 +02:00
Bernhard Schussek
675e5ded9e [Form] Changed FormBuilder::build() to FormBuilder::create(). You hvae to pass the resulting builder to FormBuilder::add() manually now
$builder->add(
    $builder->create('child', 'form')
        ->add('foo', 'text')
        ->add('bar', 'text')
);
2011-04-24 12:08:50 +02:00
Fabien Potencier
823be5d956 Merge remote branch 'ornicar/fixDelegatingValidatorNamespace'
* ornicar/fixDelegatingValidatorNamespace:
  [Form] Fix DelegatingValidator namespace
2011-04-24 08:45:50 +02:00
ornicar
b5055bb4fd [Form] Fix DelegatingValidator namespace 2011-04-23 23:20:56 -07:00
Ryan Weaver
181ef3cc08 [Form] Removing an unused variable in TimeType 2011-04-23 20:52:26 -05:00
Ryan Weaver
af8aad9c34 [Form] Throwing exception for invalid "input" type of DateType
Also fixed typo in test of previous commit
2011-04-23 20:36:40 -05:00
Ryan Weaver
f435ed7e7e [Form] Removing unused private property and adding PHPDoc 2011-04-23 20:14:12 -05:00
Ryan Weaver
0681e443d5 [Form] Fixing wrong variable name 2011-04-23 20:08:24 -05:00
Ryan Weaver
78b2062c5e [Form] Adding an exception for an invalid widget option in DateType 2011-04-23 19:42:40 -05:00
Pascal Borreli
8c0beea677 [Phpdoc] Cleaning/fixing 2011-04-23 15:18:47 +00:00
Fabien Potencier
50d3c92e22 tweaked TemporaryStorage directory creation 2011-04-23 15:19:30 +02:00
Fabien Potencier
2b8c7f84b5 [Form] added a way to register a Form extension after creation of the FormFactory 2011-04-23 09:28:29 +02:00
Fabien Potencier
b69c5956d3 [Form] added missing use statement 2011-04-23 09:27:47 +02:00
Bernhard Schussek
6f1bc356a8 [Form] Refactored code from CoreExtension to new ValidatorExtension
CoreExtension is now independent of the Symfony2 validator.
2011-04-22 19:38:21 +02:00
Bernhard Schussek
1ce2db87e2 [Form] Added FormTypeExtensionInterface
With implementations of this interface, existing types can be amended.
The Csrf extension, for example, now contains a class FormTypeCsrfExtension
that adds CSRF capabilities to the "form" type.

To register new type extensions in the DIC, tag them with "form.type_extension"
and the name of the extended type as alias.
2011-04-22 19:24:38 +02:00
Bernhard Schussek
54e66c518f [Form] Reorganized code into "form extensions"
The extension classes are now the only constructor argument of the FormFactory class. They replace the existing "type loader" classes.

    new FormFactory(array(
        new CoreExtension($validator, $storage),
        new CsrfExtension($csrfProvider),
        new DoctrineOrmExtension($em),
    ));

Together with a few upcoming commits this mechanism will make

 * extension of the form framework in bundles and
 * usage of the forms outside of Symfony2

much easier.
2011-04-22 17:41:21 +02:00
Bernhard Schussek
a97366fbcb [Form] Split signature of FormFactory::create() into create() and createNamed()
The data can now be passed to all creation methods:

    $form = $factory->create('form', $data);

By default, a form will receive the name of its type ("form" in above example). If you wish to pass a custom name, use createNamed():

    $form = $factory->createNamed('form', 'myform', $data);
2011-04-22 10:42:21 +02:00
Ryan Weaver
df50e2b161 [Form] Removing excess option in the TimezoneType 2011-04-21 19:57:53 -05:00
Bernhard Schussek
c58b05a6d6 [Form] Removed obsolete code in TextType 2011-04-21 10:17:04 +02:00
Ryan Weaver
967a42b797 [Form] Adding a check that the choice_list option on the ChoiceType implements the ChoiceListInterface.
Also removed an unused "use" statement.
2011-04-20 08:52:31 -05:00
Fabien Potencier
3ca5f513a4 [Form] added support for groups in form validation (when using array data) 2011-04-19 09:56:49 +02:00
Fabien Potencier
5242859920 [Form] fixed error bubbling for choices when expanded is true 2011-04-19 09:13:29 +02:00
Bernhard Schussek
d93e10160c [Form] Removed obsolete view variables 2011-04-18 15:47:18 +02:00
Bernhard Schussek
b93f5a372a [Form] Renamed ChoiceUtil to FormUtil and gave its methods more general names 2011-04-18 15:07:12 +02:00
Bernhard Schussek
abb0d0cde1 [Form] Removed StripTagsListener. Its implementation is insufficient and needs to be replaced by a better one.
The current implementation does not sanitize HTML properly. See [1] and [2] for more information.

[1] https://github.com/padraic/wibble
[2] http://blog.astrumfutura.com/?s=html+sanitising
2011-04-18 14:19:20 +02:00
Fabien Potencier
bee5d07d86 [Form] added a way to specify the form constraint when building the form (useful if you work with arrays instead of objects) 2011-04-18 14:09:29 +02:00
Bernhard Schussek
57722550de [Form] Added test for 'email' type and fixed a few bugs 2011-04-18 13:04:18 +02:00
Bernhard Schussek
23e9ad7a99 Merge remote branch 'mvrhov/email_type' into mvrhov_merge 2011-04-18 12:57:38 +02:00
Bernhard Schussek
eb21dc9fea [Form] Removed obsolete constraints from validation.xml 2011-04-18 12:57:19 +02:00
Bernhard Schussek
325049ac73 Revert "[Form] removed validation.xml file (not used anymore)"
This reverts commit 3e476e1c30.
2011-04-18 12:53:41 +02:00
Miha Vrhovnik
50011fa344 Added html5 email input to the forms 2011-04-18 11:17:41 +02:00
Miha Vrhovnik
43bcadbb80 Updating renamed event 2011-04-18 11:00:26 +02:00
Fabien Potencier
3a2ca3dd92 moved Doctrine2 Entity Type guesser to the Doctrine bridge 2011-04-18 08:44:37 +02:00
Fabien Potencier
4bfd5bf079 [Form] tweaked Date time transformer to allow fields with 0 as hour/minute/... 2011-04-17 22:50:22 +02:00
Fabien Potencier
3e476e1c30 [Form] removed validation.xml file (not used anymore) 2011-04-17 22:33:31 +02:00
Bernhard Schussek
be5738564f [Form] Improved regular expression in AbstractType::getName() and added unit tests 2011-04-17 18:01:22 +02:00
Bernhard Schussek
4905bfd285 Merge remote branch 'brikou/form' into form 2011-04-17 18:01:17 +02:00
Tobias Naumann
f6ce451e2c [Form] Made FormView implement Countable 2011-04-16 13:54:31 +02:00
Brikou CARRE
a83046f470 fixed regex (we don't need '?') 2011-04-15 19:04:53 +02:00
Brikou CARRE
28121e4a57 [Form] AbstractType::getName() improvement 2011-04-15 18:58:15 +02:00
Bernhard Schussek
30922d9375 [Form] Fixed: Checkboxes in an expanded choice field never have the 'required' HTML5 attribute. Closes http://trac.symfony-project.org/ticket/9588 2011-04-15 16:10:04 +02:00
Bernhard Schussek
9582221862 [Form] ResizeFormListener::preBind() now handles empty strings. Fixes https://github.com/symfony/symfony/pull/40 2011-04-15 15:43:02 +02:00
Bernhard Schussek
d0c572716a Merge remote branch 'henrikbjorn/form' into henrik_merge 2011-04-15 15:34:29 +02:00
Henrik Bjørnskov
e687685f98 [Form] change FormView::setVar,getVar,getVars,hasVar to set,get,all,has
[Form] Fixed {get,set,has}Var references in templating php

[Form] Added getVars to FormView to ease usage in Twig. Also added some phpdoc and cleaned up the get method by adding a default value

[Form] Fix

[Form] Delete file generated by test
2011-04-15 15:25:37 +02:00
Bernhard Schussek
e787d5dc22 [Form] PropertyPath now can handle elements with special characters 2011-04-15 15:25:19 +02:00
Bernhard Schussek
4f1ae660fa [Form] Fixed choice labels in expanded choice fields 2011-04-15 15:04:44 +02:00
Bernhard Schussek
41c6ab0ac7 [Form] Field labels can now be passed in the 'label' option 2011-04-15 15:03:10 +02:00
Bernhard Schussek
8fe21285ba [Form] Renamed Form::getView() to createView() to clearly indicate that each call returns a new object 2011-04-15 13:52:11 +02:00
Bernhard Schussek
276b23a344 [Form] Moved creation logic of FormView to Form class 2011-04-15 13:41:45 +02:00
Bernhard Schussek
44fa9bbeaa [Form] Fixed: CSRF token is regenerated if validation fails to avoid stalled tokens. Closes https://github.com/symfony/symfony/pull/415 2011-04-15 12:50:50 +02:00
Bernhard Schussek
c9c8b5c98e [Form] Improved test coverage of MonthChoiceList and fixed timezone used in it. Fixes https://github.com/symfony/symfony/pull/433
Based on dfb93b1bcebf1f34d3a880d00f36acb2bcca0f08:

[FORM] Fixed DateField Month Choices

The month choices were calculated using the current day of the month with
gmmktime rather than the 1st of the month. Additionally, this provides a
UTC timestamp which is passed to the formatter (IntlDateFormatter) which
converts the timestamp using the current timezone. This means that the UTC
timestamp for 1st March was being converted for my timezone (EST) and giving
a date of 28th February, leading to Feb appearing again in the popup form
instead of Mar.
2011-04-15 12:26:07 +02:00
Bernhard Schussek
77bea81ed5 [Form] Improved test coverage of ResizeFormListener. Fixed https://github.com/symfony/symfony/pull/493 2011-04-15 11:06:51 +02:00
Bernhard Schussek
fa457b1cc4 [Form] Renamed 'filter' listeners to 'on' to match naming conventions across the framework 2011-04-15 10:57:32 +02:00
Bernhard Schussek
e3db366116 [Form] Passing FormFactory to FormBuilder in its constructor 2011-04-14 15:25:30 +02:00
Bernhard Schussek
72b17cd67c [Form] Renamed TemplateContext to FormView 2011-04-14 15:02:51 +02:00
Bernhard Schussek
ca6ae09779 [Form] Removed TemplateContext::create() 2011-04-14 14:42:17 +02:00
Bernhard Schussek
ce5f3073bd Fixed test suite and names of accessor methods in TemplateContext 2011-04-14 03:52:52 +02:00
Fabien Potencier
7913d7978e [Form] removed DefaultFormFactory as it does not help that much and adds some confusion 2011-04-13 13:24:56 +02:00
Fabien Potencier
49dc836521 [Form] moved the template context creation to the Form class
Moving the template context creation makes sense and allows for simpler code for the end user:

Before:

        return array('post' => $post, 'form' => $this->get('form.factory')->createTemplateContext($form));

After:

        return array('post' => $post, 'form' => $form->getContext());
2011-04-13 09:31:13 +02:00
Fabien Potencier
7f2294395c [Form] reverted the templating part to be similar to what we have today 2011-04-11 16:42:51 +02:00
Fabien Potencier
dfa1da0416 [Form] removed unused use statement and fixed phpdoc 2011-04-07 09:00:01 +02:00
Bernhard Schussek
3482ff73b7 [Form] Fixed empty value in choice fields 2011-04-06 15:59:09 +02:00
Bernhard Schussek
e476231e8a [Form] Removed invalid tests, cleaned up some tests, added test coverage 2011-04-06 15:58:53 +02:00
Bernhard Schussek
72a41f8c94 [Form] Fixed: Booleans can be used as choice keys now 2011-04-02 18:26:28 +02:00
Bernhard Schussek
a5d0b3aea6 [Form] Changed FormBuilder::set(Client|Norm)Transformer to FormBuilder::prepend(Client|Norm)Transformer and FormBuilder::append(Client|Norm)Transformer to facilitate extension of types 2011-04-02 16:39:19 +02:00
Bernhard Schussek
be9ef42af9 [Form] Renamed choice transformers for better clarity 2011-04-02 16:11:20 +02:00
Bernhard Schussek
fc59936740 [Form] Fixed: ThemeRenderer::isChoiceSelected() works correctly for boolean choices 2011-04-02 16:00:46 +02:00
Bernhard Schussek
a4bbc40ac6 [Form] Cleaned up ChoiceListInterface 2011-04-02 15:41:43 +02:00
Bernhard Schussek
d3b7c4e8c1 [Form] Moved getLabel(), isChoiceSelected() and isChoiceGroup() from ChoiceListInterface to ThemeRenderer 2011-04-02 14:14:18 +02:00
Bernhard Schussek
94f2baa895 [Form] Fixed BooleanToStringTransformer::reverseTransform() to accept NULL values. Fixes ChoiceTypeTest 2011-04-02 13:00:19 +02:00
Bernhard Schussek
37e8e1270c [Form][FrameworkBundle][TwigBundle] Renamed view variable 'disabled' to 'read_only' to match with the according FormInterface methods 2011-04-02 12:18:43 +02:00
Bernhard Schussek
35d9b7f800 [Form] Improved test coverage of Form. The emptyValue closure now receives the Form instance to use form data when constructing new objects 2011-04-02 12:00:19 +02:00
Bernhard Schussek
4f39234741 [Form] bind() is ignored if a form is read-only 2011-04-02 11:39:15 +02:00
Bernhard Schussek
ca20aef379 [Form] Improved test coverage of DelegatingValidator and fixed validation group inheritance 2011-04-02 11:35:58 +02:00
Bernhard Schussek
33b0011f86 [Form] Improved test coverage of Form 2011-04-02 11:22:29 +02:00
Bernhard Schussek
c864d7fae1 [Form] Improved test coverage of Form class 2011-03-31 15:23:33 +02:00
Bernhard Schussek
1ef18360fa [Form] Made name immutable in FormBuilder to avoid synchronization problems with name and property path 2011-03-31 13:48:06 +02:00
Fabien Potencier
30f26ed091 [Form] changed DefaultFormFactory to be more 'useable' 2011-03-31 07:35:43 +02:00
Fabien Potencier
c7ccb6643b [Form] removed unused constructor argument from Type\FieldType (themeFactory and template) 2011-03-31 07:34:04 +02:00
Fabien Potencier
a1fc882fad [Form] fixed DefaultFormFactory 2011-03-30 23:38:40 +02:00
Bernhard Schussek
53838abf3f Merge remote branch 'symfony/master' into experimental
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/money_field.html.php
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/percent_field.html.php
	src/Symfony/Component/Form/Resources/config/validation.xml
2011-03-28 22:52:15 +02:00
Fabien Potencier
52c3a1d53d fixed typo 2011-03-28 22:48:18 +02:00
Bernhard Schussek
e2198b0dc6 [Form] Fixed a few references to AssertTrue/AssertFalse 2011-03-28 17:45:11 +02:00
Bernhard Schussek
e7df781c34 [Form] Fixed calls to ThemeRenderer::renderPart() 2011-03-28 11:22:27 +02:00
Bernhard Schussek
65f58c9fd1 [Form] Introduced generic RendererInterface 2011-03-27 23:43:14 +02:00
Bernhard Schussek
1fa004ceb2 [Form] Simplified the interface names of the Renderer subnamespace 2011-03-27 23:39:01 +02:00
Bernhard Schussek
4ec6ba8674 [Form] Fixed: set data is treated as string except if a transformer is set 2011-03-27 23:09:46 +02:00
Bernhard Schussek
cfaa03eeec [Form] Fixed: empty objects are only created upon binding forms with empty data 2011-03-27 23:07:30 +02:00
Bernhard Schussek
8a981dd047 [Form] Removed unused variable 2011-03-27 17:37:42 +02:00
Bernhard Schussek
58b8555cb6 [Form] Removed unused use-statements 2011-03-27 15:59:35 +02:00
Bernhard Schussek
edfae73cd4 [Form] Moved PropertyPath, PropertyPathIterator and VirtualFormAwareIterator to subnamespace Util 2011-03-27 15:37:13 +02:00
Bernhard Schussek
29d412c15a [Form] Changed name of VirtualFormIterator to VirtualFormAwareIterator 2011-03-27 15:33:04 +02:00
Bernhard Schussek
b180319371 [Form] Moved creation of empty data to Form to clean up DataMapperInterface 2011-03-27 15:12:35 +02:00
Bernhard Schussek
5ac979b043 [Form] Fixed default value of 'validation_groups' option, removed duplicate definition 2011-03-27 14:52:03 +02:00
Bernhard Schussek
80116be577 [Form] Removed unused 'template' option 2011-03-27 14:42:44 +02:00
Bernhard Schussek
6588a47ba7 [Form] Removed FormBuilder::setDataClass(). Use the FieldType option "data_class" instead.
The problem was that "data_class" was used in two places: FormBuilder::build() and PropertyPathMapper.

PropertyPathMapper was already constructed during FormType::buildForm(), so any data class changes made to the FormBuilder wouldn't affect the data class of the PropertyPathMapper anymore and so lead to an inconsistent state.
2011-03-27 14:34:48 +02:00
Bernhard Schussek
364b0f5208 [Form] Fixed: FormBuilder::add() accepts FormTypeInterface instances 2011-03-27 14:05:06 +02:00
Bernhard Schussek
dc38eeffe3 [Form] Changed the default value of the 'property_path' option to NULL. Explicitely set it to '' or false to disable mapping for a field/form 2011-03-27 14:02:24 +02:00
Bernhard Schussek
67d85c6bc7 [Form] Fixed signature of FormThemeInterface::render() 2011-03-27 13:48:38 +02:00
Bernhard Schussek
b21929423e [Form] Completely removed the fields variable in the renderer. The renderer itself supports ArrayAccess and Traversable 2011-03-27 13:48:36 +02:00
Bernhard Schussek
eaff9c641e [Form] Fixed: the default template is only set on the root renderer and reused by children 2011-03-26 19:39:31 +01:00
Bernhard Schussek
89361d036f [Form] Renamed FormType::configure() to FormType::buildForm() 2011-03-26 18:52:24 +01:00
Bernhard Schussek
a58cfab37d [Form] Removed form.type.loader tag and according compiler pass to simplify configuration. Custom types that are not in the DIC can be instantiated manually and passed wherever a type is desired. 2011-03-26 18:48:55 +01:00
Bernhard Schussek
9ff91dc997 Merge remote branch 'beberlei/FormsCollectionPrototype' into beberlei-merge 2011-03-26 18:39:20 +01:00
Bernhard Schussek
fae319e77a [Form] Renderers are now created explicitely using FormFactory::createRenderer(). This improves performance on requests where a form does not need to be rendered 2011-03-26 16:03:34 +01:00
Bernhard Schussek
8c7a93c90c [Form] Added FormTypeInterface::buildRendererBottomUp() which is called after children are initialized 2011-03-26 16:03:34 +01:00
Bernhard Schussek
c786fac303 [Form] Sample fix implementation of renderers 2011-03-26 16:03:34 +01:00
Johannes M. Schmitt
7887f04dc2 removed Assert prefix from all constraints, renamed annotation namespace to assert 2011-03-26 15:26:05 +01:00
Benjamin Eberlei
f9e2864030 [Form] Set prototype to true by default. 2011-03-26 14:56:59 +01:00
Benjamin Eberlei
d87651b6a2 [Form] Add option "prototype" defaulting to true. 2011-03-26 14:52:03 +01:00
Bernhard Schussek
41c3aea668 Merge remote branch 'beberlei/FormRendererItrator' into beberlei-merge 2011-03-26 13:43:33 +01:00
Benjamin Eberlei
f882a511a0 [Form] Initialize on iterator access. 2011-03-26 12:28:46 +01:00
Benjamin Eberlei
cd1ce86aee [Form] Iterator support for ThemeRenderer 2011-03-26 12:25:47 +01:00
Benjamin Eberlei
73d8470a76 [Form] Fix children implementation, setChildren() is not used, the attribute "fields" is. 2011-03-26 09:42:45 +01:00
Bernhard Schussek
7585dce8dd [Form] Added options validation to field creation 2011-03-25 15:30:33 +01:00
Bernhard Schussek
0ace068a52 [Form] PropertyPathMapper now only maps if the form data is synchronized to avoid duplicate form errors ('invalid'+'NotNull', for example) 2011-03-25 11:27:22 +01:00
Bernhard Schussek
6825ea2489 [Form] Improved test coverage of PropertyPathMapper 2011-03-25 11:27:20 +01:00
Bernhard Schussek
e3ac248617 [Form] Errors are mapped to subforms correctly and bubble up again if necessary 2011-03-25 10:53:36 +01:00
Bernhard Schussek
4f360109ed [Form] Fixed validation.xml (now really) 2011-03-25 10:41:18 +01:00
Bernhard Schussek
7b412cc762 [Form] Removed FormFactory::addGuessers() and moved guessers to constructor arg instead 2011-03-25 02:26:14 +01:00
Bernhard Schussek
9b1b8cbffa [Form] Replaced various occurences of 'field' by 'form' 2011-03-25 02:12:01 +01:00
Bernhard Schussek
3c412ffba0 [Form] Moved Form::validateData() to DelegatingValidator::validateFormData() 2011-03-25 01:59:28 +01:00
Bernhard Schussek
ec38901572 Merge branch 'rename-execute' into experimental
Conflicts:
	src/Symfony/Component/Form/Resources/config/validation.xml
2011-03-25 01:49:17 +01:00
Bernhard Schussek
71230a094b [Form] Fixed validation.xml 2011-03-25 01:46:05 +01:00
Bernhard Schussek
729438fdea Merge branch 'rename-execute' into experimental
Conflicts:
	src/Symfony/Component/Form/FileField.php
	src/Symfony/Component/Form/Resources/config/validation.xml
2011-03-25 01:38:49 +01:00
Bernhard Schussek
9c6a6e13bf [Validator] Renamed Execute constraint to Callback 2011-03-25 01:34:35 +01:00
Bernhard Schussek
4c43aa07ea [Form] Fixed: Elements are removed from collections when a 'collection' field is sized down 2011-03-25 01:15:33 +01:00
Bernhard Schussek
770d403a52 [Form] Improved error mapping in DelegatingValidator 2011-03-25 00:57:35 +01:00
Bernhard Schussek
d2b07058f4 [Form] CSRF token is now only validated for root form 2011-03-25 00:19:00 +01:00
Bernhard Schussek
4372bd5dc8 [Form] Fixed: Bubbling errors are caught correctly 2011-03-25 00:18:58 +01:00
Bernhard Schussek
d84d167b71 [Form] Fixed display of enctype for file fields in Twig theme 2011-03-25 00:16:30 +01:00
Bernhard Schussek
66ba0c3a73 [Form] Fixed: vars are initialized when ThemeRenderer::getVars() is accessed 2011-03-25 00:16:23 +01:00
Bernhard Schussek
262bdcb21d [Form] Fixed validation 2011-03-25 00:16:21 +01:00
Bernhard Schussek
ef334dbc4a Merge remote branch 'beberlei/AttributeSupport' into beberlei-merge 2011-03-24 22:53:39 +01:00
Bernhard Schussek
3f390aa271 [Form] Removed EntityType from DefaultTypeLoader 2011-03-24 22:50:39 +01:00
Benjamin Eberlei
ee96ad0e81 [Form] [DoctrineBridge] Move EntityType and DoctrineTypeLoader into Doctrine Bridge 2011-03-24 22:43:00 +01:00
Bernhard Schussek
1ff6906608 [Form] Simplified ArrayTypeLoader and used it as base class of DefaultTypeLoader 2011-03-24 22:30:49 +01:00
Benjamin Eberlei
8d6dd2b9af [Form] Add Arbitrary Attribute Support to Form Rendering. 2011-03-24 22:08:08 +01:00
Benjamin Eberlei
6bcc04905c [Form] Introduce ArrayTypeLoader, Remove EntityManager and FormFactory interface from DefaultTypeLoader 2011-03-24 20:00:17 +01:00
Bernhard Schussek
15d5259eb8 [Form] Forms now remember the types used during their construction 2011-03-24 16:16:31 +01:00
Bernhard Schussek
0b4c3c0cb8 [Form] Fixed coding conventions 2011-03-24 15:26:17 +01:00
Bernhard Schussek
2faa47d03b [Form] Added fallback templates to TwigThemeFactory 2011-03-24 15:11:43 +01:00
Bernhard Schussek
1211d77f49 [Form] Introduced renderer theme factories so that themes can be changed during runtime 2011-03-24 14:27:21 +01:00
Bernhard Schussek
5b41810b6d Revert "[Form] Changed naming of Themes to ThemeEngines. Theme templates are now 'themes'"
This reverts commit 1efd680b68.
2011-03-24 10:55:12 +01:00
Bernhard Schussek
5078a63c74 Revert "[Form] Fixed more naming of themes and theme engines"
This reverts commit 1aa34b7240.
2011-03-24 10:54:47 +01:00
Aurelijus
2ee47f3c69 get originalName before move call 2011-03-24 10:39:42 +02:00
Bernhard Schussek
9b6722222f [Form] Improved internal structore of PropertyPathMapper 2011-03-24 00:15:59 +01:00
Bernhard Schussek
1aa34b7240 [Form] Fixed more naming of themes and theme engines 2011-03-23 22:51:37 +01:00
Bernhard Schussek
1efd680b68 [Form] Changed naming of Themes to ThemeEngines. Theme templates are now 'themes' 2011-03-23 22:34:58 +01:00
Bernhard Schussek
f71ae03143 [Form] AbstractType::getParent() returns 'form' by default now 2011-03-23 21:51:50 +01:00
Bernhard Schussek
c01419d856 Merge remote branch 'johnwards/renderer_tests' into renderer-tests-merge 2011-03-23 21:13:36 +01:00
Bernhard Schussek
08a09240f6 [Form] Fixed order of input and output timezone to a more natural one 2011-03-23 17:12:04 +01:00
Bernhard Schussek
a880f8d0d1 [Form] Fixed coding conventions 2011-03-23 16:14:53 +01:00
Bernhard Schussek
9e025440ca Merge remote branch 'johnwards/configuration' into configurable-merge 2011-03-23 16:05:16 +01:00
John Wards
85701b65af [Form] Missing methods from interfaces 2011-03-22 22:20:14 +00:00
John Wards
1a014d130e [Form] Tests for Renderer Plugins 2011-03-22 22:19:51 +00:00
John Wards
37f12f68da [Form] The declaration and initialization (constructor) of the variables should be in the same class. 2011-03-22 20:54:15 +00:00
John Wards
e54973b5d4 [Form] Refactoring Types to use new DataTransfomer interface 2011-03-22 15:40:52 +00:00
Bernhard Schussek
ea0e5bb2d6 [Form] Renamed FieldTypeInterface to FormTypeInterface 2011-03-22 12:36:41 +01:00
Bernhard Schussek
270a98e413 [Form] Added support for types that are not registered in the DIC. These are identified by their FQ class name. 2011-03-22 12:33:15 +01:00
John Wards
5a5fdd0529 Merge remote branch 'bernhard/experimental' into configuration 2011-03-22 07:43:47 +00:00
Bernhard Schussek
33692eae4a [Form] Renamed Form::isTransformationSuccessful() to isSynchronized(). This method now indicates whether the data in the different representations is synchronized. Moved 'invalid' error to DefaultValidator 2011-03-22 02:03:22 +01:00
Bernhard Schussek
09da126464 [Form] Fixed validation.xml 2011-03-22 01:45:40 +01:00
Bernhard Schussek
16d65f6f16 [Form] Moved previously skipped tests from FormTypeTest to FormTest and fixed them 2011-03-22 01:40:02 +01:00
Bernhard Schussek
577e106361 [Form] Implemented custom mapping of data errors to form fields 2011-03-22 01:15:48 +01:00
John Wards
b4406f254d [Form] Removing Configurable from DataTransformers 2011-03-21 23:01:10 +00:00
John Wards
7d7c36a178 [Form] More sensible constructor variable order 2011-03-21 21:42:34 +00:00
Bernhard Schussek
87665bc380 [Form] Decoupled FormBuilder from CSRF protection 2011-03-21 22:41:19 +01:00
John Wards
714f2173be [Form] Coding conventions and use of the new variables 2011-03-21 21:39:59 +00:00
John Wards
3c80bc37df [Form] Removing use of old class 2011-03-21 21:20:57 +00:00
John Wards
d8287a6dff Merge remote branch 'bernhard/experimental' into experimental 2011-03-21 21:18:04 +00:00
John Wards
002a22df04 [Form] Refactoring DateTimeToStringTranformer not to use Configuration 2011-03-21 21:16:20 +00:00
Bernhard Schussek
c1abf08d9c [Form] Implemented error bubbling 2011-03-21 22:13:02 +01:00
Bernhard Schussek
255eda5238 [Form] Renamed RecursiveFieldIterator to RecursiveFormIterator 2011-03-21 21:19:36 +01:00
Bernhard Schussek
3985522b9b [Form] Removed obsolete classes Error and DataError 2011-03-21 21:19:31 +01:00
Bernhard Schussek
01a47457d0 [Form] Improved naming of various interfaces. Renamed DefaultRenderer to ThemeRenderer 2011-03-21 20:57:38 +01:00
Bernhard Schussek
321d40b21a [Form] Decoupled FormBuilder from ThemeInterface 2011-03-21 20:46:43 +01:00
Bernhard Schussek
acaa9c9058 [Form] Fixed signature of Form::addError() 2011-03-20 15:23:36 +01:00
Bernhard Schussek
6c9ff0a2a3 [Form] Improved naming of data conversion methods in Form and made them private 2011-03-20 15:22:37 +01:00
Bernhard Schussek
119866e06d [Form] Renamed FormBuilder::getInstance() to getForm() 2011-03-20 15:17:25 +01:00
Bernhard Schussek
2dbb41714a [Form] Merged Field and Form. Merged FieldBuilder and FormBuilder. After the refactoring, the distinction between the two concepts is small enough to merge them 2011-03-20 13:35:19 +01:00
Bernhard Schussek
fc7281bcab [Form] Extracted validation logic of form. Fields can now contain multiple validators 2011-03-20 12:00:19 +01:00
Bernhard Schussek
cb599f417e [Form] Renamed field option 'disabled' to 'read_only'. How to render read-only fields is now the responsibility of the renderer 2011-03-20 10:35:16 +01:00
Bernhard Schussek
b5656f1290 [Form] Renamed ObjectMapper to PropertyPathMapper 2011-03-20 10:29:23 +01:00
Bernhard Schussek
295d01745b [Form] Renamed StripTagsFilter to StripTagsListener until we have better conventions 2011-03-20 10:26:38 +01:00
Bernhard Schussek
2c6c89d898 Merge remote branch 'beberlei/forms' into beberlei-merge 2011-03-20 10:15:59 +01:00
Benjamin Eberlei
b43318ee3e [Form] Add tests for untested classes. 2011-03-19 22:03:49 +01:00
Benjamin Eberlei
d62213662e Merge branch 'experimental' of git://github.com/bschussek/symfony into forms 2011-03-19 20:36:56 +01:00
Benjamin Eberlei
864a3ec45f [Form] Add StripTagsFilter EventListener 2011-03-19 20:36:49 +01:00
Bernhard Schussek
a1c3d21d0e [Form] Added comment 2011-03-19 19:56:18 +01:00
Bernhard Schussek
e9cb19721a [Form] Optimized code in Form to remove one event listener 2011-03-19 19:53:39 +01:00
Bernhard Schussek
fb2db58801 [Form] Added fluid interface for inline adding of sub-builders to a builder 2011-03-19 19:44:45 +01:00
Bernhard Schussek
6793bcd698 [Form] Removed magic from method signature of add() 2011-03-19 19:20:55 +01:00
Bernhard Schussek
c4b7a77ece Merge remote branch 'beberlei/forms' into beberlei-merge
Conflicts:
	src/Symfony/Component/Form/Type/Loader/DefaultTypeLoader.php
2011-03-19 19:01:57 +01:00
Bernhard Schussek
3586268bc2 [Form] Renamed field types. They are now always the name of the type with a 'Type' suffix 2011-03-19 18:31:24 +01:00
Bernhard Schussek
65353bd81e [Form] Fixed failing choice field tests 2011-03-19 18:22:08 +01:00
Benjamin Eberlei
c05b3c440d [Form] Add DefaultFormFactory for convenience usage outside of a DIC context. 2011-03-19 18:14:15 +01:00
Benjamin Eberlei
39c2d3f166 [Form] Add PhpTheme that relies on no Template Engine, generalize tests to use for PhpTheme and PhpEngineTheme. Fixed some bugs 2011-03-19 17:47:18 +01:00
Bernhard Schussek
43a24fa931 [Form] Renamed events to match terminology in Field 2011-03-19 16:59:23 +01:00
Bernhard Schussek
0259d4da1e [Form] Moved namespace DataValidator to Validator 2011-03-19 16:54:07 +01:00
Bernhard Schussek
7f9284105d [Form] Moved namespace FieldGuesser to Type\Guesser 2011-03-19 16:46:03 +01:00
Benjamin Eberlei
af60ddf8ad Moved PhpTheme to FrameworkBundle and renamed to PhpEngineTheme 2011-03-19 15:27:39 +01:00
Benjamin Eberlei
32e1a7c8f9 Merge bschussek/experimental into branch forms. 2011-03-19 15:18:52 +01:00
Bernhard Schussek
d2210a2e79 [Form] Removed unused Form::isCsrfTokenValid() 2011-03-19 15:09:11 +01:00
Bernhard Schussek
3e17b26105 [Form] Moved CSRF protection into separate field 2011-03-19 15:06:54 +01:00
Benjamin Eberlei
3e2b8e5f12 Fix some missing use statements and small bugs. 2011-03-19 14:31:25 +01:00
Benjamin Eberlei
bb8c2a9b9d Rename this to renderer to be able to use it in Php Templating 2011-03-19 11:54:46 +01:00
Benjamin Eberlei
d44e2264ba Merge branch 'experimental' of git://github.com/bschussek/symfony into forms 2011-03-19 09:36:30 +01:00
Bernhard Schussek
b66b8326a8 [Form] Fixed undefined variable in DefaultRenderer 2011-03-18 17:03:12 +01:00
Bernhard Schussek
6bc79a1a12 [Form] Renamed different kinds of data transformers within a field for better clarity 2011-03-18 16:59:34 +01:00
Bernhard Schussek
1c85daa56b [Form] Split FieldBuilder into FieldBuilder and FormBuilder to make creation of classes deterministic 2011-03-18 16:34:54 +01:00
Bernhard Schussek
2a1e394352 [Form] Renamed field configs to types. Everywhere else, we are referring to the name of the type as 'type' now (was 'identifier') 2011-03-18 16:20:00 +01:00
Bernhard Schussek
0b929ee342 [Form] Renamed ValueTransformers to DataTransformers to fit with DataMapper and DataValidator 2011-03-18 16:01:06 +01:00
Bernhard Schussek
f86ecec403 [Form] Extracted data validation logic into DataValidatorInterface 2011-03-18 15:58:22 +01:00
Bernhard Schussek
97d0183d84 [Form] Moved properties propertyPath, modifyByReference, validationGroups and virtual to generic attributes because they are specific to the used data validator/mapper implementations 2011-03-18 15:26:02 +01:00
Bernhard Schussek
700c96e7fa [Form] Moved FieldFactoryTest to FormFactoryTest and fixed it 2011-03-18 14:37:54 +01:00
Bernhard Schussek
4cb76c0045 [Form] Moved error distribution logic to validation listener 2011-03-18 13:07:06 +01:00
Bernhard Schussek
9caaf0f3a3 [Form] Introduced FieldBuilder for field/form creation and made Field/Form mostly immutable 2011-03-18 12:50:26 +01:00
Benjamin Eberlei
76b0041d1b [Form] Implemented first PhpTheme attempt 2011-03-17 22:47:19 +01:00
Bernhard Schussek
a51321c264 [Form] Moved validation logic to ValidationListener 2011-03-17 21:47:12 +01:00
Bernhard Schussek
0799662361 [Form] Extracted data mapping logic from Form into ObjectMapperListener 2011-03-17 21:23:59 +01:00
Benjamin Eberlei
3bc825bbd4 Merge branch 'experimental' of git://github.com/bschussek/symfony into forms 2011-03-17 19:05:59 +01:00
Benjamin Eberlei
85b61fe1e2 First attempt of PhpTheme. 2011-03-17 19:05:48 +01:00
Bernhard Schussek
d00f1fa205 [Form] Removed unused method Form::deepArrayUnion() 2011-03-17 15:22:48 +01:00
Bernhard Schussek
8e41cc66fe [Form] Moved form logic to event listeners 2011-03-17 15:22:10 +01:00
Bernhard Schussek
7a63b840f3 [Form] Renamed submit() to bind() 2011-03-17 14:55:26 +01:00
Bernhard Schussek
5bfd02bcd0 [Form] Renamed bind() to bindRequest(). It is now semantically the same as in symfony1 again 2011-03-17 14:51:22 +01:00
Bernhard Schussek
f2f78890de [Form] Removed deprecated method preprocessData() 2011-03-17 14:41:26 +01:00
Bernhard Schussek
ffa5bd264a [Form] Moved logic of Field::isMultipart() to rendering layer 2011-03-17 14:40:34 +01:00
Bernhard Schussek
50ce0d53a0 [Form] Removed FieldInterface::getDisplayedData(). Use getTransformedData() instead 2011-03-17 14:28:59 +01:00
Bernhard Schussek
f0d841ef8c [Form] Fixed DateTimeToArrayTransformer when transforming empty values and the option 'fields' is set 2011-03-17 14:27:10 +01:00
Bernhard Schussek
eba602ed1b [Form] Removed dependency from renderer plugins on fields. The field instance is now passed to setUp() instead. 2011-03-17 13:37:27 +01:00
Bernhard Schussek
cb283d3783 [Form] Renamed 'key' to 'name'. Removed setKey() totally. 2011-03-17 11:03:10 +01:00
Bernhard Schussek
caa49aa841 [Form] Moved trimming logic to listener 2011-03-17 10:52:23 +01:00
Bernhard Schussek
e85aab2dc1 [Form] Changed form to use the new EventDispatcher implementation 2011-03-16 18:20:13 +01:00