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
Victor Berchet
4e3e2768fb
[Form] Make the prototype view child of the collection view
2011-06-14 09:33:19 +02:00
Kris Wallsmith
8d55df42de
[Form] fixed isValid() on readOnly forms that have children
2011-06-10 07:11:50 -07:00
Fabien Potencier
79e709cdc9
removed the ON_ prefix for Form event names
2011-05-31 07:19:18 +02:00
Fabien Potencier
9b7e14dd10
[Form] converted code to the new event dispatcher
2011-05-30 09:37:42 +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
Victor Berchet
ebb0e83a7e
[Form] CSRF documentation and a few CS changes
2011-05-18 12:45:01 +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
Victor Berchet
87a6fd0f99
[Form] phpDoc
2011-05-13 11:00:04 +02:00
Victor Berchet
f68d16fdff
[Form] Fix the Form fluid interface
2011-05-11 17:08:53 +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
75a499b0e2
[Form] Fix the fluid interface of FormBuilder
2011-05-10 20:09:28 +02:00
Victor Berchet
2a8f2d2bfa
[Form] fix and add some phpDoc
2011-05-10 15:33:02 +02:00
Kris Wallsmith
f3b077a0dd
[Form] removed a bunch of unused use statements
2011-05-06 14:07:16 -07:00
Pascal Borreli
8c0beea677
[Phpdoc] Cleaning/fixing
2011-04-23 15:18:47 +00: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
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
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
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
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
c864d7fae1
[Form] Improved test coverage of Form class
2011-03-31 15:23:33 +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
b180319371
[Form] Moved creation of empty data to Form to clean up DataMapperInterface
2011-03-27 15:12:35 +02:00
Bernhard Schussek
c786fac303
[Form] Sample fix implementation of renderers
2011-03-26 16:03:34 +01:00
Bernhard Schussek
3c412ffba0
[Form] Moved Form::validateData() to DelegatingValidator::validateFormData()
2011-03-25 01:59:28 +01:00
Bernhard Schussek
4372bd5dc8
[Form] Fixed: Bubbling errors are caught correctly
2011-03-25 00:18:58 +01:00
Bernhard Schussek
262bdcb21d
[Form] Fixed validation
2011-03-25 00:16:21 +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
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
577e106361
[Form] Implemented custom mapping of data errors to form fields
2011-03-22 01:15:48 +01:00
Bernhard Schussek
c1abf08d9c
[Form] Implemented error bubbling
2011-03-21 22:13:02 +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
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
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
65353bd81e
[Form] Fixed failing choice field tests
2011-03-19 18:22:08 +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
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
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
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
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
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
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
cb283d3783
[Form] Renamed 'key' to 'name'. Removed setKey() totally.
2011-03-17 11:03:10 +01:00
Bernhard Schussek
e85aab2dc1
[Form] Changed form to use the new EventDispatcher implementation
2011-03-16 18:20:13 +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
4346097ffd
[Form] Added TODOs and a tweak
2011-03-04 16:01:50 +01:00
Bernhard Schussek
ea49621034
[Form] Fixed CSRF protection
2011-03-02 15:01:04 +01:00
Bernhard Schussek
5705f74bd0
[Form] Refactored FieldFactory and moved new implementation into the DIC. FormTest fails now.
2011-03-02 14:58:19 +01:00
Bernhard Schussek
68013f4db2
Merge remote branch 'symfony/master' into experimental
2011-03-02 12:27: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
c1edf116f2
[Form] Removed notion of "hidden" fields
...
Instead, hidden fields now override the "row" template to not include a label or errors.
The "rest" (former "hidden") helper has been adapted to output any fields that were not
rendered manually. It should usually be called at the end of a form.
2011-02-28 17:01:11 +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
Pascal Borreli
03f91ff1e0
[Form] Removed useless else
2011-02-27 18:36:37 +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
fee0885256
[Form] Moved options from Field and Form to FormFactory. Tests fail now
2011-02-23 14:11:18 +01:00
Bernhard Schussek
975b8ebe9b
[Form] Started to refactor DateField to FormFactory::getDateField(). Validation logic is still missing.
2011-02-23 14:11:18 +01:00
Bernhard Schussek
6edff6b8a9
[Form] Moved submission logic of ChoiceField to preprocessor
2011-02-23 14:11:18 +01:00
Bernhard Schussek
7a48c0a5c5
[Form] Refactored logic from ChoiceField into ChoicePlugin and SelectMultipleNamePlugin
2011-02-23 14:11:18 +01:00
Bernhard Schussek
f7dc71ef59
[Form] Refactored id and name generation to renderer plugins
2011-02-23 14:11:17 +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
59bf50bf41
[Form] Disabled by reference handling for arrays
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