Commit Graph

356 Commits

Author SHA1 Message Date
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