Commit Graph

449 Commits

Author SHA1 Message Date
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
Pascal Borreli
f5eaa404c7 [Tests] Fixed typos 2011-06-12 20:52:53 +00:00
Kris Wallsmith
d26c590021 [Form] fixed xpath 2011-06-10 13:18:09 -07:00
Kris Wallsmith
fe4382eb73 [Form] moved csrf listener to its own class 2011-06-10 13:00:44 -07:00
Kris Wallsmith
8d55df42de [Form] fixed isValid() on readOnly forms that have children 2011-06-10 07:11:50 -07: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
7de4d28a05 Merge remote branch 'yethee/delegating_validator'
* yethee/delegating_validator:
  [Form] Fixed path mapping for DelegatingValidator
2011-06-10 13:54:44 +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
07be5bf484 [Form] fixed test 2011-06-09 12:05:27 +02:00
Fabien Potencier
6448912109 [Form] fixed unit test 2011-06-09 11:47:14 +02:00
Fabien Potencier
17cd08dc6c fixed CS 2011-06-08 19:56:59 +02:00
Kris Wallsmith
0df338fdb1 added script[type="text/html"] collection prototype to form themes 2011-06-08 09:41:12 -04:00
Kris Wallsmith
5ecb252ddf [Form] removed collection prototype from form tree 2011-06-08 08:34:20 -04:00
Fabien Potencier
65e937326d [Form] fixed unit tests for previous commit 2011-06-07 22:00:51 +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
8d2974ce90 [Form] Fix accessibility for file inputs 2011-06-06 21:00:07 +02:00
Victor Berchet
5044a7b56d [FrameworkBundle][Form] Fix label rendering
The label should not include the view 'id' attribute as it is used by the view widget.
2011-06-06 20:12:03 +02:00
Victor Berchet
61721e3fd4 [FrameworkBundle][Form] Fix rendering search inputs in PHP 2011-06-06 18:17:22 +02:00
Victor Berchet
60c463d184 [Form] FormType labels should never have a for attribute 2011-06-06 18:04:07 +02:00
Victor Berchet
b12b11c131 [Form] Never render a view again
If some of the nested views are rendered individually they should not be rendered again when calling form_rest.
A typical would be when some nested file views are rendered, form_rest should not render them again.

It is still possible to render a label once the widget has been rendered. This is for checkboxes and radios
where the widget is typically rendered before the label.
2011-06-06 18:01:03 +02:00
Victor Berchet
ef8cb967f5 Merge branch 'master' into form-collection-rendering 2011-06-06 14:39:18 +02:00
Victor Berchet
bca17fe6a3 [Form] Fix collection rendering 2011-06-06 14:21:49 +02:00
Joseph Bielawski
c2b9061559 [Form] Added Tests 2011-06-06 12:30:28 +02:00
Matthieu Vachon
d08a688d9b [Form] Fixed CS 2011-06-03 19:08:04 -04: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
0045ffeefc [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
2011-06-03 10:46:59 -04:00
Matthieu Vachon
58f869a920 [Form] Synced custom pattern tests with master branch 2011-06-03 10:46:57 -04:00
Matthieu Vachon
c20eddeda9 [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
2011-06-03 10:46:56 -04: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
Fabien Potencier
2093a45aef merged stloyd/form_label 2011-06-01 11:11:25 +02: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
stloyd
7b6d921cde [Form] Added tests for previous commit 2011-06-01 10:08:18 +02:00
Fabien Potencier
79e709cdc9 removed the ON_ prefix for Form event names 2011-05-31 07:19:18 +02:00
Victor Berchet
b61929bf4a [Form] The variable stack should not persist between section rendering (fixes #1157) 2011-05-30 19:25:02 +02:00
Fabien Potencier
9b7e14dd10 [Form] converted code to the new event dispatcher 2011-05-30 09:37:42 +02:00
Miha Vrhovnik
b8144c62ad DateType single-text should be single_text 2011-05-27 16:23:59 +02: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
Eric Clemmons
a61e13303b Added test for RadioInputListener bug treating no data as extra data 2011-05-25 22:15:35 -07:00
Miha Vrhovnik
e8326aa650 Renamed attributes to attr to be consistent with templating. 2011-05-23 08:10:03 +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
Victor Berchet
e117613550 [Form] Fix for nested forms getting erroneously set as rendered 2011-05-20 15:48:55 +02:00
Bernhard Schussek
c575432790 [Form] Added test case for bf2f9d2a02 2011-05-19 01:43:47 +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
af66beed76 [Form] Added test for 6c337d1cc0 2011-05-18 23:20:37 +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
Kris Wallsmith
914620f948 [Form] renamed CSRF page_id to intention 2011-05-16 14:16:29 -07:00
Deni
e75edf205d [Form] Fixed path mapping for DelegatingValidator 2011-05-14 13:38:34 +04: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
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
Jeremie Augustin
bea448339b [Form] replace assertEquals by assertFalse, assertTrue, assertNull 2011-05-11 11:19:21 +02:00
Jeremie Augustin
d3db844cfa [Form] fix file permissions to 644 again ;) 2011-05-11 11:19:21 +02:00
Jeremie Augustin
fb0a37f9ba [Form] add tests for type_options in collectionType 2011-05-11 11:19:21 +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
Victor Berchet
dac798c791 [Form] Catch exceptions in DataTransformers 2011-05-10 20:21:02 +02:00
Victor Berchet
68b3d0d5ac [Form] Allow for arbitrary keys in PaddedChoiceList 2011-05-06 10:31:51 +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
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
Bernhard Schussek
eb50d766da [Form] Fixed variable scope when entering nested form helpers
The consequence of this commit is that variables are accessible that have been passed to a surrounding form helper.

Example template:

{% block my_widget_label %}
    <label>{{ label }}
{% endblock %}

{% block my_widget_row %}
    {# It is not necessary to explicitely pass through the label variable #}
    {{ form_label(form) }}
    {{ form_widget(form) }}
{% endblock %}

Example usage:

{{ form_row(form.mywidget, { 'label': 'My Widget' }) }}
2011-05-04 15:40:15 +02:00
Bernhard Schussek
38098604af [Form] Added tests for blocks/templates in the format _<ID>_(widget|row|label|...) 2011-05-04 15:33:51 +02:00
Eriksen Costa
12968f144c [Locale] updated ICU data, changes to note:
- The Indian Rupee sign was updated, few fonts supports it: http://en.wikipedia.org/wiki/Indian_rupee_sign
 - Updated LocaleTypeTest, zh_Hans_MO was removed from ICU
2011-04-28 11:57:55 -03:00
Fabien Potencier
7d024125d3 [Form] fixed unit tests 2011-04-28 08:11:14 +02:00
Pascal Borreli
47948c8d2b [Form] Fixed bug creating empty "1" directory in root 2011-04-28 01:06:38 +00:00
Victor Berchet
d350e01e33 File & UploadedFile tweaks 2011-04-27 09:10:41 +02:00
Eriksen Costa
164ce5210d capitalized 'boolean' 2011-04-27 02:35:10 -03:00
Kris Wallsmith
e726cdd917 changed some skipped tests to incomplete 2011-04-26 07:22:22 -07: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
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
66cc555bb1 [Form] Tweak to FileTypeTest to avoid warning 2011-04-23 19:47:14 -05:00
Ryan Weaver
78b2062c5e [Form] Adding an exception for an invalid widget option in DateType 2011-04-23 19:42:40 -05:00
Fabien Potencier
81deedfc1b [Form] fixed unit tests 2011-04-23 22:17:51 +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
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
33498bffa4 [Form] added a unit test 2011-04-18 19:01:09 +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
f078554c2a [Form] Removed StripTagsListenerTest 2011-04-18 14:27:18 +02:00
Bernhard Schussek
57722550de [Form] Added test for 'email' type and fixed a few bugs 2011-04-18 13:04:18 +02:00
Fabien Potencier
b71f9d2708 [Form] added a unit tests for previous commit 2011-04-18 08:21:18 +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
2ea68dfcd2 [Form] Improved test coverage of NumberToLocalizedStringTransformer 2011-04-15 16:25:48 +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
Bernhard Schussek
bc0efff28d [Form][FrameworkBundle] Fixed escaping of choice widgets 2011-04-15 15:27:15 +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
3d92549382 [FrameworkBundle] Fixed various escaping problems and added test cases for them 2011-04-15 14:38:46 +02:00
Bernhard Schussek
990bef8afb [Form][FrameworkBundle][TwigBundle] Fixed: CSRF fields are not rendered for nested forms anymore 2011-04-15 14:05:33 +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
c6fe6a750d [Form] Added functional test for the 'size' attribute in the select tags of a time field 2011-04-14 15:29:55 +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
4907c7d81d [Form] Added test coverage for expanded choice fields 2011-04-14 14:18:25 +02:00
Bernhard Schussek
c2dcebf6ea [FrameworkBundle] Added test coverage for FormHelper and fixed various rendering bugs 2011-04-14 13:37:27 +02:00
Bernhard Schussek
ce5f3073bd Fixed test suite and names of accessor methods in TemplateContext 2011-04-14 03:52:52 +02:00
Bernhard Schussek
602846f386 [Form] Added tests for table_layout.html.twig 2011-04-14 03:38:19 +02:00
Bernhard Schussek
96f040cec1 [Form] Added extensive test coverage for div_layout.html.twig 2011-04-14 03:15:56 +02:00
Bernhard Schussek
0b0535d30a [Form] Fixed fatal error in test 2011-04-13 14:01:25 +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
fc59936740 [Form] Fixed: ThemeRenderer::isChoiceSelected() works correctly for boolean choices 2011-04-02 16:00:46 +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
59ef0c991c [Form] fixed two unit tests 2011-03-31 07:36:52 +02:00
Fabien Potencier
c7ccb6643b [Form] removed unused constructor argument from Type\FieldType (themeFactory and template) 2011-03-31 07:34:04 +02:00
Bernhard Schussek
1fa004ceb2 [Form] Simplified the interface names of the Renderer subnamespace 2011-03-27 23:39:01 +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
edfae73cd4 [Form] Moved PropertyPath, PropertyPathIterator and VirtualFormAwareIterator to subnamespace Util 2011-03-27 15:37:13 +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
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
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
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
Benjamin Eberlei
d87651b6a2 [Form] Add option "prototype" defaulting to true. 2011-03-26 14:52:03 +01:00
Benjamin Eberlei
f882a511a0 [Form] Initialize on iterator access. 2011-03-26 12:28:46 +01:00