Fabien Potencier
17cd08dc6c
fixed CS
2011-06-08 19:56: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
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
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
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
e476231e8a
[Form] Removed invalid tests, cleaned up some tests, added test coverage
2011-04-06 15:58:53 +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
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
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
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
c1abf08d9c
[Form] Implemented error bubbling
2011-03-21 22:13:02 +01:00
Bernhard Schussek
4989e965cd
[Form] Moved form type tests into according namespace
2011-03-20 15:45:09 +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
6793bcd698
[Form] Removed magic from method signature of add()
2011-03-19 19:20:55 +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
0b929ee342
[Form] Renamed ValueTransformers to DataTransformers to fit with DataMapper and DataValidator
2011-03-18 16:01:06 +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
9caaf0f3a3
[Form] Introduced FieldBuilder for field/form creation and made Field/Form mostly immutable
2011-03-18 12:50:26 +01:00
Bernhard Schussek
3f70f89339
Merge remote branch 'symfony/master' into experimental
...
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Debug/TraceableEventDispatcher.php
src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
src/Symfony/Component/HttpFoundation/File/UploadedFile.php
2011-03-18 10:39:40 +01:00
Kris Wallsmith
0a229947a6
[Form] updated tests for changes in HttpFoundation
2011-03-17 16:09:12 -07: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
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
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
cb283d3783
[Form] Renamed 'key' to 'name'. Removed setKey() totally.
2011-03-17 11:03:10 +01:00
Bernhard Schussek
0bf566310c
Merge branch 'event-manager' into experimental
...
Conflicts:
src/Symfony/Component/Form/BirthdayField.php
src/Symfony/Component/Form/CheckboxField.php
src/Symfony/Component/Form/ChoiceField.php
src/Symfony/Component/Form/ChoiceList/TimeZoneChoiceList.php
src/Symfony/Component/Form/CollectionField.php
src/Symfony/Component/Form/DateField.php
src/Symfony/Component/Form/DateTimeField.php
src/Symfony/Component/Form/EntityChoiceField.php
src/Symfony/Component/Form/Events.php
src/Symfony/Component/Form/FieldFactory/FieldFactory.php
src/Symfony/Component/Form/FieldFactory/FieldFactoryInterface.php
src/Symfony/Component/Form/FileField.php
src/Symfony/Component/Form/Filters.php
src/Symfony/Component/Form/FormContext.php
src/Symfony/Component/Form/FormContextInterface.php
src/Symfony/Component/Form/FormFactoryInterface.php
src/Symfony/Component/Form/HybridField.php
src/Symfony/Component/Form/IntegerField.php
src/Symfony/Component/Form/LanguageField.php
src/Symfony/Component/Form/LocaleField.php
src/Symfony/Component/Form/MoneyField.php
src/Symfony/Component/Form/NumberField.php
src/Symfony/Component/Form/PasswordField.php
src/Symfony/Component/Form/PercentField.php
src/Symfony/Component/Form/RepeatedField.php
src/Symfony/Component/Form/TextField.php
src/Symfony/Component/Form/TimeField.php
src/Symfony/Component/Form/ToggleField.php
src/Symfony/Component/Form/UrlField.php
src/Symfony/Component/HttpFoundation/File/UploadedFile.php
tests/Symfony/Tests/Component/Form/FileFieldTest.php
tests/Symfony/Tests/Component/Form/FormContextTest.php
tests/Symfony/Tests/Component/Form/HiddenFieldTest.php
2011-03-13 21:04:24 +01:00
Fabien Potencier
8c423edfef
replaced symfony-project.org by symfony.com
2011-03-06 12:40:06 +01:00
Bernhard Schussek
8a6246bd06
[Form] Refactored contents of FormFactory into individual FieldConfig classes
2011-03-02 12:20:30 +01:00
Bernhard Schussek
528ef55da6
[Form] Implemented generic data filter hooks
...
You can now modify set or bound data by adding a filter for either of the following events:
* Filters::filterBoundDataFromClient
* Filters::filterBoundData
* Filters::filterSetData
2011-03-01 14:19:28 +01:00
Bernhard Schussek
02d2121dcd
[Form] Improved rendering
...
Fields are not available in the templates anymore. Instead, all required information can be
accessed through view variables.
Example usage of helpers and variables in a form theme:
// use the label helper
{{ this.label('my label') }}
// use the label variable
{{ this.vars.label }}
{{ label }}
Example usage of helpers and variables in a normal template:
// use the label helper
{{ field.label('my label') }}
// use the label variable
{{ field.vars.label }}
2011-02-28 16:50:23 +01:00
Bernhard Schussek
e3e8c29875
Merge branch 'bugfix' into experimental
...
Conflicts:
src/Symfony/Component/Form/EntityChoiceField.php
src/Symfony/Component/Form/Field.php
src/Symfony/Component/Form/HybridField.php
tests/Symfony/Tests/Component/Form/FieldTest.php
tests/Symfony/Tests/Component/Form/FormTest.php
2011-02-24 13:17:53 +01:00
Bernhard Schussek
87e6cbf8f0
[Form] Fixed: PropertyPath always requires arrays or objects. Forms now always store arrays or objects as transformed data, even when they were bound empty
2011-02-24 12:22:00 +01:00
Bernhard Schussek
a40e2dd77b
[Form] Deleted obsolete Field classes, ported some more to FormFactory and fixed lots of failing tests
2011-02-23 14:11:18 +01:00
Bernhard Schussek
1593d6f75d
[Form] Added method FieldInterface::isEmpty()
2011-02-16 23:05:21 +01:00
Bernhard Schussek
7dbc09ed8b
[Form] Fixed reference handling in forms. Sometimes data wasn't written into the domain object, resulting in failed validation.
2011-02-15 21:39:32 +01:00
Bernhard Schussek
f51dafca3f
[Form] Fixed: "data_constructor" option is used even if "data_class" option is not set
2011-02-08 04:14:56 +01:00
Bernhard Schussek
5b95805340
[Form] Added option "data_constructor" to Form. When a Form is initialized with NULL, an object is automatically created using this constructor. If no constructor is given but the option "data_class" is set, an object of that class is created with the default constructor instead.
2011-02-08 04:14:56 +01:00
Bernhard Schussek
09a50c3c55
[Form] Fixed: "by_reference" option is ignored if reading from/writing to an array
2011-02-08 04:14:55 +01:00
Bernhard Schussek
bd3e6c6b49
[Form] Fixed: Form::bind() throws an exception if form is anonymous
2011-02-06 19:46:28 +01:00