Commit Graph

850 Commits

Author SHA1 Message Date
Eriksen Costa
0a577e6fce [Locale] added more tests to time zone parsing with AM/PM markers 2011-03-07 03:07:17 -03:00
Eriksen Costa
d2df09f744 [Locale] refactored time zone support 2011-03-07 03:07:12 -03:00
Kris Wallsmith
2d1d2ba893 [Security] cleaned up opt-in to benchmark test 2011-03-06 20:06:13 +01:00
Robert Schönthal
8caa5dfdb9 [HttpKernel] added tests for Bundle 2011-03-06 15:15:36 +01:00
Fabien Potencier
8c423edfef replaced symfony-project.org by symfony.com 2011-03-06 12:40:06 +01:00
Fabien Potencier
a137d72351 Merge remote branch 'hhamon/cookie_path_fix'
* hhamon/cookie_path_fix:
  [Security] renamed Cookie::isHttponly() to Cookie::isHttpOnly()
  [HttpKernel] renamed Cookie::isHttponly() to Cookie::isHttpOnly()
  [BrowserKit] renamed Cookie::isHttponly() to Cookie::isHttpOnly()
  [HttpFoundation] fix cookie path default value to / and added some new unit tests to cover the class
2011-03-06 10:44:40 +01:00
Fabien Potencier
487cddcfee Merge remote branch 'DuoSRX/code-coverage'
* DuoSRX/code-coverage:
  [HttpFoundation] Fixed a typo in response->setLastModified()
  [HttpFoundation] Added some more tests on response
  [HttpFoundation] Added some tests on Response
  [HttpFoundation] Replace a duplicated test with a method in Response
  Fixed code coverage generation when resources folder are deeper
2011-03-06 10:44:13 +01:00
Fabien Potencier
bbc5f40636 Merge remote branch 'jakzal/FileLocatorTest'
* jakzal/FileLocatorTest:
  [Config] Added missing tests to satisfy 100% test coverage of FileLocator. Made sure that every path returned with locate() is unique.
2011-03-06 10:40:52 +01:00
Fabien Potencier
31eb5ff443 Merge remote branch 'jakzal/BooleanNodeTest'
* jakzal/BooleanNodeTest:
  [Config] Added tests for BooleanNode.
2011-03-06 10:40:48 +01:00
Fabien Potencier
c02ebbf2d8 Merge remote branch 'digitalkaoz/httpkernel-datacollector'
* digitalkaoz/httpkernel-datacollector:
  [HttpKernel] added Tests for DataCollectors
  [HttpFoundation] more sophisticated checks for valid expiration
2011-03-06 10:38:55 +01:00
Fabien Potencier
89f309a1a3 Merge remote branch 'digitalkaoz/httpkernel-exception'
* digitalkaoz/httpkernel-exception:
  [HttpKernel] added Tests for FlattenException
2011-03-06 10:37:35 +01:00
Fabien Potencier
54e19b5376 Merge remote branch 'digitalkaoz/httpkernel-debug'
* digitalkaoz/httpkernel-debug:
  [HttpKernel] added tests for debug stuff
  [HttpKernel] reset handling if subject::handle throws an exception, otherwise it wouldnt be able to handle furthermore
2011-03-06 10:37:14 +01:00
Fabien Potencier
4accca3a76 Merge remote branch 'digitalkaoz/httpfoundation-session'
* digitalkaoz/httpfoundation-session:
  [HttpFoundation] added Session tests.
  [HttpFoundation] added a check for array keys existence.
2011-03-06 10:36:15 +01:00
Fabien Potencier
1e996901f5 Merge remote branch 'schmittjoh/security'
* schmittjoh/security:
  [Security] forward the entire access denied exception instead of only the message
  [Security] changed defaults for MessageDigestEncoder
  TICKET #9557: session isn't required when using http basic authentification mecanism for example
  [Security] improved entropy to make collision attacks harder
  [Security] added the 'key' attribute of RememberMeToken to serialized string to be stored in session
  Fix the Acl schema generator script.
2011-03-06 10:33:18 +01:00
Fabien Potencier
0a8730ab26 Merge remote branch 'lewinski/yaml-escapes'
* lewinski/yaml-escapes:
  [Yaml] Improved support for double quoted values.
2011-03-06 08:34:20 +01:00
Robert Schönthal
44b0bbc0d1 [HttpKernel] added Tests for DataCollectors 2011-03-06 00:15:01 +01:00
Xavier Perez
7900e8624f [HttpFoundation] Added some more tests on response 2011-03-06 00:14:10 +01:00
Robert Schönthal
87e1359ebd [HttpFoundation] more sophisticated checks for valid expiration 2011-03-06 00:13:47 +01:00
Matthew Lewinski
ed338d9422 [Yaml] Improved support for double quoted values.
Added support for the full range of escaped values in double quoted
strings in chapter 5 of the YAML 1.1 and 1.2 specs. The escaping
and unescaping strategies were factored out into separate classes to
keep the logic isolated.

Added examples from the spec to the unit tests for all escaped values.
2011-03-05 15:39:48 -06:00
Robert Schönthal
935315bd79 [HttpKernel] added Tests for FlattenException 2011-03-05 21:21:19 +01:00
Robert Schönthal
3e7ccae2ba [HttpKernel] added tests for debug stuff 2011-03-05 20:23:35 +01:00
Xavier Perez
0327e93552 [HttpFoundation] Added some tests on Response 2011-03-05 16:12:17 +01:00
Jakub Zalas
bdd4194b6f [Config] Added missing tests to satisfy 100% test coverage of FileLocator. Made sure that every path returned with locate() is unique. 2011-03-05 15:24:44 +01:00
Jakub Zalas
61f67d20c8 [Config] Added tests for BooleanNode. 2011-03-05 13:53:07 +01:00
Johannes Schmitt
f82b89cdc5 [Security] changed defaults for MessageDigestEncoder
- encode_as_base64 set to true
- iterations increased to 5000 from 1
2011-03-05 13:45:35 +01:00
Robert Schönthal
3567fc4e6c [HttpFoundation] added Session tests. 2011-03-05 13:32:36 +01:00
Fabien Potencier
44d069a3fb Merge remote branch 'kriswallsmith/dic/auto-ext-load'
* kriswallsmith/dic/auto-ext-load:
  [HttpKernel] added an subclass merge extension configuration compiler pass to ensure each bundle's "main" extension is loaded
  [DependencyInjection] extensions should only load if called during configuration
2011-03-05 12:18:18 +01:00
Fabien Potencier
50c118a368 Merge remote branch 'cyqui/FIX-OVERRIDED-SERVER'
* cyqui/FIX-OVERRIDED-SERVER:
  requestTest, override globals erase  for the next tests. so backup it and restore it.
2011-03-05 12:12:07 +01:00
Cyril Quintin
1e4e899641 requestTest, override globals erase for the next tests. so backup it and restore it. 2011-03-05 12:11:21 +01:00
Fabien Potencier
4a8f10192f [DependencyInjection] fixed unit tests when using phar and suhosin 2011-03-05 11:43:11 +01:00
Hugo Hamon
cd5d1bd62e [Security] renamed Cookie::isHttponly() to Cookie::isHttpOnly() 2011-03-03 14:52:53 +01:00
Hugo Hamon
8182913f1f [BrowserKit] renamed Cookie::isHttponly() to Cookie::isHttpOnly() 2011-03-03 14:52:03 +01:00
Hugo Hamon
ad56bd8e47 [HttpFoundation] fix cookie path default value to / and added some new unit tests to cover the class 2011-03-03 14:50:14 +01:00
Kris Wallsmith
33d47be32e [HttpKernel] added an subclass merge extension configuration compiler pass to ensure each bundle's "main" extension is loaded 2011-03-03 13:54:32 +01:00
Kris Wallsmith
bf0553c23a [DependencyInjection] extensions should only load if called during configuration 2011-03-03 13:53:29 +01:00
Igor Wiedler
c22a43860b [Locale] add missing StubCollator methods, with tests 2011-03-02 17:13:24 +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
8a6246bd06 [Form] Refactored contents of FormFactory into individual FieldConfig classes 2011-03-02 12:20:30 +01:00
Fabien Potencier
fd53035c8d Merge remote branch 'schmittjoh/inlinePassFix'
* schmittjoh/inlinePassFix:
  [DependencyInjection/Compiler] fixes a bug which silently changed the scope of services
2011-03-01 20:38:48 +01:00
Pascal Borreli
3a47fa6eed [Tests] Fixed Typo 2011-03-01 18:58:08 +01:00
Bernhard Schussek
9eff64dd54 [Form] Added EventListener implementation and moved CollectionField to factory 2011-03-01 15:18:55 +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
Johannes M. Schmitt
67c886f3df [DependencyInjection/Compiler] fixes a bug which silently changed the scope of services 2011-03-01 13:47:34 +01:00
Eriksen Costa
18e16860ae [Locale] fixed PHP notice 2011-03-01 02:24:19 -03:00
Eriksen Costa
4cc5b6f2d0 [Locale] throw exception if value different than null is provided (behavior not implemented in the stub) 2011-03-01 02:08:13 -03:00
Igor Wiedler
fd0cc37c71 [Locale] handle escaped (enquoted) strings when parsing 2011-02-28 18:22:22 +01:00
Degory Valentine
057e86161e added test to verify ArgvInput->parse() failure with array input definition 2011-02-28 17:16:58 +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
Igor Wiedler
a5f8411eff [Locale] minor cosmetical tweaks to the pre-escaped regExp 2011-02-28 13:54:38 +01:00
Igor Wiedler
7e577acede [Locale] do not use unimplemented chars in examples 2011-02-28 09:46:30 -03:00
Igor Wiedler
20acdac57d [Locale] remove support for era (BC|AD)
parsing it is a pain, nobody uses it, BC only works on 64 bit.
2011-02-28 09:46:30 -03:00
Igor Wiedler
195b2ebdde [Locale] handle IntlDateFormatter::parse with non-integer timestamp 2011-02-28 09:46:30 -03:00
Igor Wiedler
3f42be3fe9 [Locale] use assertSame in parse tests 2011-02-28 09:46:29 -03:00
Eriksen Costa
b7e9b35ca9 [Locale] added parsing of dates with regExp metachars 2011-02-28 09:44:14 -03:00
Martin Hason
3d94c6c4bd [DependencyInjection] added phar creator in test 2011-02-28 09:58:37 +01:00
Martin Hason
c75622cb4b [DependencyInjection] removed unused class Extension, fix tests 2011-02-28 09:57:18 +01:00
Martin Hason
d231a8a8d5 [Config] [DependencyInjection] removed DependencyInjection dependency in Config, fix tests 2011-02-28 09:19:13 +01:00
Eriksen Costa
0449889513 [Locale] added timezone parsing implementation 2011-02-28 01:19:19 -03:00
Eriksen Costa
dadd896915 [Locale] added implementation for minutes and seconds 2011-02-27 18:21:35 -03:00
Fabien Potencier
c99a44b1e8 Merge remote branch 'schmittjoh/security'
* schmittjoh/security:
  [Security] added method to retrieve the configured remember-me parameter
  [Security] Copy token attributes when auth providers create a new token from another
2011-02-27 22:20:44 +01:00
Fabien Potencier
72a0f3b7f0 [Translation] re-added a unit test inadvertently removed in a previous commit 2011-02-27 22:18:34 +01:00
Fabien Potencier
c58b6afc38 Merge remote branch 'cristiangsp/Translation_FallbackLocale'
* cristiangsp/Translation_FallbackLocale:
  [Translation] Modified Translation unit test "testTransWithFallbackLocale"
  [Translation] Fixed the addition of the fallbackLocale catalogue to the current locale catalogue.
  [Translation] Added search to FallbackLocale Catalogue.
2011-02-27 21:48:34 +01:00
Fabien Potencier
2b4b3f83a5 fixed previous commit 2011-02-27 21:14:03 +01:00
Fabien Potencier
49f84f1997 Merge remote branch 'lsmith77/code_analyzer_2011_02_27'
* lsmith77/code_analyzer_2011_02_27:
  corrected NonceExpiredException namespace
  issues found by static code analysis
2011-02-27 21:12:31 +01:00
Lukas Kahwe Smith
4b3c49550f issues found by static code analysis 2011-02-27 19:34:02 +01:00
Eriksen Costa
c1c0c3c42e [Locale] added parsing for hours (12 and 24 hours) 2011-02-27 15:22:25 -03:00
Pascal Borreli
96981670ea [BrowserKit] Removed useless else 2011-02-27 18:36:36 +01:00
Cristian Gonzalez
db1ea0d2e1 [Translation] Modified Translation unit test "testTransWithFallbackLocale"
Now the test shows the behavior when is requested a translation to an undefined locale catalogue and, therefore, the fallbacklocale catalogue must be queried. The original test function only checks the step to reach the language catalog not to the fallbacklocale one (even the fallbacklocale isn't set). This test gives error in the current version of symfony/symfony.
2011-02-27 12:32:46 +01:00
Eriksen Costa
ed85345312 [Locale] added parsing implementation for year, month and day 2011-02-27 02:22:07 -03:00
Johannes Schmitt
97ee92e7b0 Merge branch 'CopyTokenAttributesInProviders' of https://github.com/opensky/symfony into opensky-CopyTokenAttributesInProviders 2011-02-26 21:47:57 +01:00
Johannes Schmitt
621a79f1f2 [Security] added method to retrieve the configured remember-me parameter 2011-02-26 21:44:40 +01:00
Fabien Potencier
e16c666266 [Routing] made an empty path info to redirect to / (as for any other route that ends with a /) 2011-02-26 08:56:44 +01:00
Bernhard Schussek
e334c4734e [Form] Registered FormFactory in the DIC 2011-02-24 21:27:44 +01:00
Bernhard Schussek
f2c1976da6 [Form] Refactored FileField to FormFactory and fixed file upload mechanism 2011-02-24 20:47:48 +01:00
Bernhard Schussek
848ec01f02 [Form] Refactored RepeatedField to FormFactory 2011-02-24 16:54:34 +01:00
Bernhard Schussek
0f8a413221 [Form] Fixed EntityChoiceFieldTest 2011-02-24 16:26:57 +01:00
Bernhard Schussek
acc5c76f77 [Form] Fixed failing DateFieldTest and TimeFieldTest 2011-02-24 16:19:59 +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
0e75891f25 [Form] Fixed DateTimeToLocalizedStringTransformerTest 2011-02-24 10:05:35 +01:00
Bernhard Schussek
8e2d0bae90 [Form] Ported DateTimeField to FormFactory 2011-02-23 23:34:25 +01:00
Bernhard Schussek
b5671c1be0 [Form] Implemented ArrayToPartsTransformer and ValueToDuplicatesTransformer 2011-02-23 22:30:15 +01:00
Jeremy Mikola
5113886f34 [Security] Copy token attributes when auth providers create a new token from another
PreAuthenticatedAuthenticationProvider and UserAuthenticationProvider tend to copy a token instead of modifying it during their authenticate() methods, which is probably a good idea if the token might be immutable. Ensure that the token's attributes get copied along with everything else.
2011-02-23 16:03:01 -05:00
Bernhard Schussek
ac5440f8d4 [Form] DateTimeToArrayTransformer does not accept partially filled arrays anymore. Replaces DateField::isPartiallyFilled() and TimeField::isPartiallyFilled() 2011-02-23 21:17:20 +01:00
Igor Wiedler
bcca989c41 [Locale] refactor and simplify some parts of StubIntlDateFormatter 2011-02-23 19:09:48 +01:00
Bernhard Schussek
33e70673c2 [Locale] Fixed failing StubNumberFormatterTest when intl extension is not loaded 2011-02-23 14:38:05 +01:00
Igor Wiedler
71c99422f3 [Locale] convenience createStubFormatter method for StubIntlDateFormatter tests 2011-02-23 14:20:47 +01:00
Igor Wiedler
ee5bc36c55 [Locale] add docblocks to StubIntlDateFormatter and adjust some things to be more like StubNumberFormatter 2011-02-23 14:20:47 +01:00
Igor Wiedler
5fdf68a08a [Locale] add license docblock to LocaleTestCase 2011-02-23 14:20:47 +01:00
Igor Wiedler
31313f183a [Locale] use is64Bit helper for StubIntlDateFormatterTest 2011-02-23 14:20:46 +01:00
Igor Wiedler
17e2d4e24c [Locale] StubCollator: asort with initial tests 2011-02-23 14:20:46 +01:00
Igor Wiedler
3cc60f7cb4 [Locale] throw NotImplementedException on unimplemented chars 2011-02-23 14:20:45 +01:00
Igor Wiedler
d555049342 [Locale] only test BC era if on 64bit 2011-02-23 14:20:45 +01:00
Igor Wiedler
4fb79b715a [Locale] split another StubIntlDateFormatter test into two 2011-02-23 14:20:45 +01:00
Igor Wiedler
53839f9235 [Locale] refactor tests, make use of specialized exception 2011-02-23 14:20:45 +01:00
Igor Wiedler
77258223f1 [Locale] re-order StubIntlDateFormatter methods, rename timezoneId to timeZoneId, add setLenient method 2011-02-23 14:20:44 +01:00
Igor Wiedler
1191ab4b56 [Locale] add remaining IntlDateFormatter methods with tests 2011-02-23 14:20:44 +01:00
Igor Wiedler
69b38faff7 [Locale] refactoring and some more tests 2011-02-23 14:20:44 +01:00
Igor Wiedler
e95df5d2a7 [Locale] fix failing test case 2011-02-23 14:20:44 +01:00
Igor Wiedler
8dab760160 [Locale] use eriksens intl test helpers 2011-02-23 14:20:43 +01:00
Jordi Boggiano
47c1110166 [Locale] Fixed two tests 2011-02-23 14:20:43 +01:00
Igor Wiedler
e962c4a633 [Locale] add another failing escape test case 2011-02-23 14:20:42 +01:00
Igor Wiedler
c7380fbb4c [Locale] support standard date and time types if no format is set, refactoring and more tests 2011-02-23 14:20:42 +01:00
Igor Wiedler
85e6c5e426 [Locale] add some more test cases with escaping 2011-02-23 14:20:42 +01:00
Igor Wiedler
632ded5c96 [Locale] use UTC if timezone is unsupported 2011-02-23 14:20:42 +01:00
Igor Wiedler
a883a3f62a [Locale] adjust to new quoting format, some tests failing 2011-02-23 14:20:42 +01:00
Igor Wiedler
cbfaaef76e [Locale] support for z (timezone offset from GMT) 2011-02-23 14:20:41 +01:00
Igor Wiedler
d68c5fa7fd [Locale] refactor to use DateTime and DateTimeZone, adding timezone support 2011-02-23 14:20:41 +01:00
Igor Wiedler
7efe476693 [Locale] support for s (second) 2011-02-23 14:20:41 +01:00
Igor Wiedler
87d3547679 [Locale] support for m (minute of hour) 2011-02-23 14:20:40 +01:00
Igor Wiedler
6b26f8296d [Locale] support for K (12-hour (0-11)) 2011-02-23 14:20:40 +01:00
Igor Wiedler
5a767045b6 [Locale] implement k (24-hour (1-24) 2011-02-23 14:20:40 +01:00
Igor Wiedler
bfc7e55692 [Locale] support for H (24 hour) 2011-02-23 14:20:39 +01:00
Igor Wiedler
71e3c97358 [Locale] support for a (AM/PM) 2011-02-23 14:20:39 +01:00
Igor Wiedler
49752f104b [Locale] support for E (day of week) 2011-02-23 14:20:39 +01:00
Igor Wiedler
d4c1357f11 [Locale] support for D (day of year) 2011-02-23 14:20:39 +01:00
Igor Wiedler
5ffce2d6a2 [Locale] add support for h 2011-02-23 14:20:39 +01:00
Igor Wiedler
3b9f52ae9a [Locale] use assertSame instead of assertEquals 2011-02-23 14:20:39 +01:00
Igor Wiedler
ae3ee5d896 [Locale] add support for L, which is the same as M 2011-02-23 14:20:38 +01:00
Igor Wiedler
b702ce86b5 [Locale] support for G and Q placeholders in StubIntlDateFormatter::format 2011-02-23 14:20:38 +01:00
Igor Wiedler
69f56dbbd9 [Locale] move intl bugs to skipped tests 2011-02-23 14:20:38 +01:00
Igor Wiedler
8c1146974f [Locale] add support for escaping, give specifics on implementation used in tests 2011-02-23 14:20:38 +01:00
Igor Wiedler
55ac407458 [Locale] first implementation of StubIntlDateFormatter 2011-02-23 14:20:37 +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
7492873186 [Form] Fixed a couple of unit tests, refactored PasswordField to FormFactory 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
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
813ec54fa1 [Form] Refactored parts of the choice fields into ChoiceList instances 2011-02-23 14:11:17 +01:00
Eriksen Costa
b649843e00 [Locale] added implementation to StubNumberFormatter::getLocale(), matching StubIntlDateFormatter::getLocale() 2011-02-23 13:26:05 +01:00
Eriksen Costa
b58e25cc83 [Locale] added static constructor 2011-02-23 13:26:05 +01:00
Eriksen Costa
69b0e09d6a [Locale] added stub implementations of Locale and NumberFormatter classes
Updated update-data.php script to extract locales, countries names, languages and currencies
from ICU to be used by the stub implementations
2011-02-23 13:26:05 +01:00
Kris Wallsmith
fb005396dc [HttpKernel] fixed another test where an explicit cache-control header is necessary 2011-02-21 21:53:04 -08:00
Kris Wallsmith
3e131f5b70 [HttpKernel] fixed invalid test
According to ResponseHeaderBag::computeCacheControlValue(), a response with an ETag but no explicit Cache-Control header should have a sensible Cache-Control of "private, must-revalidate" set. According to Response::isCacheable(), a response that includes a private Cache-Controls is not considered cacheable. Therefore, in order for this test response to be cacheable and stored, it requires an explicit Cache-Control of public.
2011-02-21 20:09:50 -08:00
Kris Wallsmith
a0bae94f88 [HttpFoundation] updated ResponseHeaderBag to compute Cache-Control whenever any of the headers it considers changes 2011-02-21 19:57:05 -08:00
Fabien Potencier
fc372bc217 [HttpKernel] changed core.view event to use notifyUntil() instead of filter() -- as soon as a listener returns a Response, we are done 2011-02-21 18:24:55 +01:00
Fabien Potencier
bf20238178 fixed a bug in Response content-type auto-detection
Without this patch, if you call __toString() on a Response,
the content-type auto-detection would never be trigerred
as __toString() changes the default content-type.
2011-02-21 16:57:25 +01:00
Fabien Potencier
9619c7dade [Routing] removing the routing hack where we add a / at the beginning if it does not exist 2011-02-21 10:25:22 +01:00
Matthew Lewinski
c56bcd9ff4 Fix unit test breakage from ProfilerStorageInterface change. 2011-02-20 20:06:36 -06:00
yclian
092403909e [DependencyInjection] Test for Symfony\Component\DependencyInjection\Compiler\ReplaceAliasByActualDefinitionPass. 2011-02-20 20:23:40 +08:00
yclian
3275820a6f [DependencyInjection] Add Symfony\Tests\Component\DependencyInjection\ContainerBuilderTest::testAddGetCompilerPass(). 2011-02-20 20:23:32 +08:00
Yuen-Chi Lian
a0e00ff159 [DependencyInjection] Aesthetic changes on ContainerTest, consequence of not using a formatter. 2011-02-19 19:50:57 +01:00
Yuen-Chi Lian
c42f38523f [DependencyInjection] Test coverage improvements and corrections on Container. 2011-02-19 19:49:26 +01:00
Ryan Weaver
026ab6c6ce [Config] Adding an ignoreExtraKeys options, which allows you to let options simply be ignore without throwing a validation exception.
I had thought that this was unnecessary - when would you ever want to just let "extra" options fail silently?

But, the SecurityExtension takes advantage of this by creating two separate config trees. The first tree looks for just one particular value on the configuration array and ignores the rest. So, there *is* a use-case for allowing all extra fields to simply be ignored, though this should not be the norm.
2011-02-18 13:31:14 -06:00
Ryan Weaver
d2971e0f5f [Config] Reverting some meaningless changes that are no longer needed to minimize the true diff of the changes. Increasing the test precision. 2011-02-18 13:08:53 -06:00
Ryan Weaver
6f17b6d58e [Config] Reverting the preventExtraKeys option. This is a revert of functionality that would have allowed "unnamed" children to be added to an array node.
We decided that this is not necessary and that it's leaving too many things wide open. Instead, in these cases where we have an array with unknown items, a prototype should be used.

Further functionality will need to be added later to allow you to specify a few nodes that you *do* know about under an array and then also specify a prototype to catch everything else.
2011-02-18 12:59:27 -06:00
Ryan Weaver
6d24d37b16 [Config] Moving the removal of the key attribute on ArrayNode onto the setKeyAttribute() method per Johannes.
This is more consistent with how this was handled elsewhere, and it really is an "option" on the keyAttribute idea.
2011-02-18 08:41:30 -06:00
Ryan Weaver
48459e9082 [Config] Renaming the key attribute removal property for consistency per Johannes' recommendation. Also fixing a PHPDoc typo per Stof. 2011-02-18 08:38:09 -06:00
Ryan Weaver
d6617f6fba [Config] Renaming NodeBuilder::nodeBuilder() to NodeBuilder::builder() due to the fact that PHP can get confused when you have a __construct() method *and* a method that has the same name as the class (looks like two constructors to PHP). 2011-02-18 07:31:00 -06:00
Ryan Weaver
ea768fe6fc [Config] Making the option to remove a key attribute optional.
This is *usually* what you want (and is defaulted this way). If you have an entry in an array *just* so it can become the key to that entry later, then you shouldn't normally still need it in the resulting array.

The importance of this comes in with validation. Since we're throwing an exception if you have any unrecognized options, the presence of the "key" field in the resulting array will cause issues when it's not needed.
2011-02-18 07:15:59 -06:00
Ryan Weaver
7a9243a220 [Config] Making changes per the recent movement of the Config builder into the Config component. 2011-02-18 06:59:35 -06:00
Ryan Weaver
e7c098e8a2 [DependencyInjection] Renaming allowUnnamedChildren to preventExtraKeys. Also moved the place where validation of extra configs occurs. 2011-02-18 06:52:44 -06:00
Ryan Weaver
fd5cdfc18f [DependencyInjection] Being sure to remove XML-remapped singular options and key attribute options after processing.
This prevents these keys from being validated as extra fields.
2011-02-18 06:52:44 -06:00
Ryan Weaver
bd15ddda96 [DependencyInjection] Adding a NodeBuilder::addNodeBuilder() method that helps achieve a fluid interface when a pre-built NodeBuilder needs to be added. 2011-02-18 06:51:56 -06:00
Ryan Weaver
f5b1cb18e1 [DependencyInjection] Initial implementation of an allowUnnamedChildren method on NodeBuilder. Also added an "extra field" exception.
This allows for an array node, which has any number of child values not represented by nodes.
2011-02-18 06:51:56 -06:00
hhamon
f985da5a9c [HttpFoundation] fix Cache-Control header when forcing the Response to have an Expires header field. The RFC2616 Bis indicates that if the Response has both max-age (or s-maxage) and Expires header field, the Cache-Control maxage wins over Expires. The previous code in ResponseHeaderBag always returned "private, max-age=0, must-revalidate" even if the Expires header field was forced.
This commit breaks functional tests in Symfony\Component\HttpKernel\HttpCache\HttpCacheTest.php. I tried to fix functional tests but I didn\'t manage to. For your information, the "try { } catch" block in the HttpKernel\HttpCache::lookup() method seems strange because I suspect line 274 to never leverage any exception...
2011-02-18 12:34:33 +01:00
hhamon
b687e52835 [DomCrawler] fix Form::getUri() when the form action attribute contains only a sharp (#) character. 2011-02-17 19:37:25 +01:00
Fabien Potencier
6b12c21261 moved DependencyInjection\Configuration to Config\Definition 2011-02-17 16:03:48 +01:00
Ryan Weaver
c5e4dfb5a6 [DependencyInjection] Adding to InvalidArgumentException messages to clarify when a service is given an invalid "tags" value. 2011-02-17 15:59:39 +01:00
Victor Berchet
0a33cbb403 [Finder] Add support for relative path 2011-02-17 07:23:55 +01:00
Bernhard Schussek
9569262635 [Form] Fixed date handling classes to use server timezone by default 2011-02-16 23:05:22 +01:00
Bernhard Schussek
0a260b96fb [Form] Fixed error handling in DateTimeToArrayTransformer 2011-02-16 23:05:22 +01:00
Bernhard Schussek
df011ed1ef [Form] Fixed isXXXWithinRange() methods in TimeField and DateField to ignore empty dropdowns 2011-02-16 23:05:22 +01:00
Bernhard Schussek
14c3518c6e [Form] Fixed: If a DateField or TimeField is displayed with select boxes, either all or no select box must have a value selected 2011-02-16 23:05:22 +01:00
Bernhard Schussek
40acc6ac79 [Form] Fixed ChoiceField::isChoiceSelected() to differentiate between zero and empty 2011-02-16 23:05:21 +01:00
Bernhard Schussek
1593d6f75d [Form] Added method FieldInterface::isEmpty() 2011-02-16 23:05:21 +01:00
Johannes M. Schmitt
53f3ff8258 [Security] adds a chain user provider 2011-02-16 23:00:27 +01:00
Victor Berchet
bad3a97ad6 [Finder] tweak code 2011-02-16 22:51:06 +01:00
Fabien Potencier
a29a413c48 made DIC extensions members of the Container instead of static members 2011-02-15 22:22:32 +01:00
Fabien Potencier
62e3053769 refactored previous commit, fixed tests
How to upgrade?

For XML configuration files:

 * All extensions should now use the config tag (this is just a convention as
   the YAML configurations files do not use it anymore):

 * The previous change means that the doctrine and security bundles now are
   wrapped under a main "config" tag:

        <doctrine:config>
            <doctrine:orm />
            <doctrine:dbal />
        </doctrine:config>

        <security:config>
            <security:acl />
            ...
        </security:config>

For YAML configuration files:

 * The main keys have been renamed as follows:

        * assetic:config -> assetic
        * app:config -> framework
        * webprofiler:config -> web_profiler
        * doctrine_odm.mongodb -> doctrine_mongo_db
        * doctrine:orm -> doctrine: { orm: ... }
        * doctrine:dbal -> doctrine: { dbal: ... }
        * security:config -> security
        * security:acl -> security: { acl: ... }
        * twig.config -> twig
        * zend.config -> zend
2011-02-15 22:22:28 +01:00
Pablo Godel
02492d2ab3 renamed SQLiteProfilerStorage to SqliteProfilerStorage 2011-02-15 21:57:09 +01:00
Pablo Godel
f6a1c2d195 renamed SQLiteProfilerStorage to SqliteProfilerStorage 2011-02-15 21:57:09 +01:00
Pablo Godel
c3649882f6 renamed file 2011-02-15 21:57:08 +01:00
Pablo Godel
05f651ae87 renamed file 2011-02-15 21:57:08 +01:00
Jeremy Mikola
cc4eb6b40f [Security] Add providerKey to PreAuthenticatedToken tokens constructed by PreAuthenticatedAuthenticationProvider 2011-02-15 21:55:24 +01:00
Kris Wallsmith
ba239905d7 [HttpFoundation] removed unknown constructor arg from tests 2011-02-15 21:51:21 +01:00
Jeremy Mikola
b8d574087f [Security] Allow authentication tokens to hold attributes 2011-02-15 21:50:02 +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
John Wards
73cd26e2ca [Serializer] added the ability to add attributes to nodes using an array key begining with @
Example:

array(
	'foo-bar' => array(
		'@id' => 1,
		'@name' => 'Bar'
	),
	Foo' => array(
		'Bar' => "Test",
		'@Type' => 'test'
	)
)

Parse XML now creates @ attribites for the array.

$rss = array(
   "channel" => array(
     "title" => "Test RSS",
     "description" => "Test description",
     "item" => array(
       0 => array(
         "title" => "Test Title 1",
         "link" => "http://foo.com"
       ),
       1 => array(
         "title" => "Test Title 2",
         "link" => "http://bar.com"
       )
     )
   )
);

<channel>
    <title>Test RSS</title>
    <description>Test description</description>
    <item>
        <title>Test Title 1</title>
        <link>http://foo.com</link>
    </item>
    <item>
        <title>Test Title 2</title>
        <link>http://bar.com</title>
    </item>
</channel>
2011-02-14 22:20:03 +01:00
Victor Berchet
8588d55c11 [Config] Improve the component 2011-02-14 22:05:56 +01:00
Victor Berchet
af81bcabf0 [Templating] Refactor the component 2011-02-14 21:11:44 +01:00
Johannes M. Schmitt
44b89e5ac3 [Security] fixes a bug when clearing cookies on logout 2011-02-14 20:55:07 +01:00
Johannes Schmitt
5c7fe8f866 [Security] simplified encoder factory implementation 2011-02-14 20:55:06 +01:00
Fabien Potencier
5c905beb13 moved common configuration classes to a new Config component 2011-02-13 22:31:50 +01:00
Jordi Boggiano
f5f41696ec [Serializer] Allow for more flexible element names 2011-02-13 17:47:22 +01:00
Jordi Boggiano
8216a6ef3d [Serializer] Added XmlEncoder::setRootNodeName 2011-02-13 17:47:22 +01:00
Johannes M. Schmitt
d4d2d60f7b [DependencyInjection] minor interface change 2011-02-13 10:38:10 +01:00
Christophe Coevoet
cb0fa406aa Added unit tests 2011-02-12 21:56:22 +01:00
Fabian Vogler
9bf845bc51 Test for SimpleXML encode 2011-02-12 21:54:27 +01:00
Johannes Schmitt
19bbafc441 [Security] Refactored security context, moved getUser() implementation to templating 2011-02-12 21:53:04 +01:00
Johannes Schmitt
66fbbd6b17 [Security] removed __toString() from AccountInterface 2011-02-12 21:53:04 +01:00
hhamon
beaaa6d457 [BrowserKit] fix Response::__toString() method to take care of multiple headers, for example when setting more than one cookie. 2011-02-12 21:52:33 +01:00
Kris Wallsmith
36ff9abe67 [Console] fixed new ArgvInput method 2011-02-12 21:51:34 +01:00
Jordi Boggiano
5bf593353f [Routing] Added optional trailing slash support to ApacheMatcherDumper 2011-02-10 23:46:23 +01:00
Jordi Boggiano
2ed0b975f1 [Routing] Added tests for PhpMatcherDumper changes 2011-02-10 23:46:23 +01:00
Fabien Potencier
b91f082be5 Revert "moved Resource to the Config component"
This reverts commit f53080860a.

Revert "[Router] config fixes"

This reverts commit 51beecc6f2.

Revert "moved duplicated files to a new Config component"

This reverts commit a8ec9b27f0.
2011-02-10 16:14:12 +01:00
Fabien Potencier
f53080860a moved Resource to the Config component 2011-02-10 16:07:42 +01:00
Fabien Potencier
a8ec9b27f0 moved duplicated files to a new Config component 2011-02-10 03:43:36 +01:00
Fabien Potencier
e58a84eb09 added a FileLocator to DIC so that we can load resources like @BundleName/Resources/... 2011-02-10 00:44:02 +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
Kris Wallsmith
ef43b22546 [HttpFoundation] fixed test cleanup 2011-02-08 04:14:39 +01:00
pborreli
41bf849a63 [HttpFoundation] Request coverage 2011-02-07 02:49:14 +01:00
Marc Weistroff
bebdcb242d [HttpKernel] Added response cache-control modification if page is composed of ESIs.
Rules are :
- If one of the ESI has validation cache strategy, the whole page will be
forced to validate.
- In none of the ESI has validation, the response will feature a Cache-Control
directive with s-maxage value equals to the smallest TTL of ESIs.
2011-02-07 01:34:14 +01:00
pborreli
7ad4f99153 [HttpFoundation] File/UploadedFile, MimeTest, Exception full coverage 2011-02-06 21:53:36 +01:00
Johannes M. Schmitt
2b256a0804 [DependencyInjection] allow null for scalar nodes 2011-02-06 20:50:03 +01:00
Johannes M. Schmitt
c7ef8d98d6 [DependencyInjection] append new elements for prototype nodes without a key attribute 2011-02-06 20:11:08 +01:00
Johannes Schmitt
0b8fef2347 [Security/DependencyInjection] adds support for merging security configurations
The merging is done in three steps:

    1. Normalization:
    =================
    All passed config arrays will be transformed into the same structure
    regardless of what format they come from.

    2. Merging:
    ===========
    This is the step when the actual merging is performed. Starting at the root
    the configs will be passed along the tree until a node has no children, or
    the merging of sub-paths of the current node has been specifically disabled.

       Left-Side       Right-Side      Merge Result
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       -nothing-       array           Right-Side will be taken.
       scalar          scalar          Right-Side will be taken.
       array           false           Right-Side will be taken if ->canBeUnset()
                                       was called on the array node.
       false           array           Right-Side will be taken.
       array           array           Each value in the array will be passed to
                                       the specific child node, or the prototype
                                       node (whatever is present).

    3. Finalization:
    ================
    The normalized, and merged config will be passed through the config tree to
    perform final validation on the submitted values, and set default values
    where this has been requested.

You can influence this process in various ways, here is a list with some examples.
All of these methods must be called on the node on which they should be applied.

  * isRequired(): Node must be present in at least one config file.
  * requiresAtLeastOneElement(): PrototypeNode must have at least one element.
  * treatNullLike($value): Replaces null with $value during normalization.
  * treatTrueLike($value): Same as above just for true
  * treatFalseLike($value): Same as above just for false
  * defaultValue($value): Sets a default value for this node (only for scalars)
  * addDefaultsIfNotSet(): Whether to add default values of an array which has not
                           been defined in any configuration file.
  * disallowNewKeysInSubsequentConfigs(): All keys for this array must be defined
                                          in one configuration file, subsequent
                                          configurations may only overwrite these.
  * fixXmlConfig($key, $plural = null): Transforms XML config into same structure
                                        as YAML, and PHP configurations.
  * useAttributeAsKey($name): Defines which XML attribute to use as array key.
  * cannotBeOverwritten(): Declares a certain sub-path as non-overwritable. All
                           configuration for this path must be defined in the same
                           configuration file.
  * cannotBeEmpty(): If value is set, it must be non-empty.
  * canBeUnset(): If array values should be unset if false is specified.

Architecture:
=============
The configuration consists basically out of two different sets of classes.

  1. Builder classes: These classes provide the fluent interface and
                      are used to construct the config tree.

  2. Node classes: These classes contain the actual logic for normalization,
                   merging, and finalizing configurations.

After you have added all the metadata to your builders, the call to
->buildTree() will convert this metadata to actual node classes. Most of the
time, you will not have to interact with the config nodes directly, but will
delegate this to the Processor class which will call the respective methods
on the config node classes.
2011-02-06 20:11:08 +01:00
ornicar
c5fb96b86b [HttpKernel] Add more unit tests for Kernel 2011-02-06 20:05:49 +01:00
Bernhard Schussek
74d0ac82f7 [Form] Cleaned up ValueTransformerInterface
This commit removes CollectionToStringTransformer. Transformers should never change the state of the outside world, otherwise hard-to-track bugs might creap in.

This functionality needs to be implemented as a custom FieldType (see EntityChoiceField).
2011-02-06 19:46:29 +01:00
Bernhard Schussek
bd3e6c6b49 [Form] Fixed: Form::bind() throws an exception if form is anonymous 2011-02-06 19:46:28 +01:00
Bernhard Schussek
6ff4120784 [Form] Added Form option "by_reference" so that objects received from parent forms are modified by reference when this option is true (the default)
The implication is that set<Reference>() in the object of the parent form will not be called (and thus not has to be implemented/public).

If you want to suppress this behaviour, manually set "by_reference" to false.
2011-02-06 19:46:28 +01:00
ornicar
9ba2943aff [HttpKernel] Add unit tests for Kernel. Also slightly modify Kernel to make it more testable. 2011-02-06 16:17:35 +01:00
John Kary
c251a36935 [HttpFoundation] Add tests for Cookie 2011-02-06 16:16:05 +01:00
ornicar
bd97471954 [HttpKernel] Add test coverage for cache warming 2011-02-05 23:54:09 +01:00
pborreli
f56a6efbf5 [HttpFoundation] File/File full coverage 2011-02-05 23:24:00 +01:00
Fabien Potencier
e5403490e7 removed the need to define getNamespace() and getPath() in bundles 2011-02-05 22:40:30 +01:00
Jeremy Mikola
743f25a287 [DependencyInjection] Create explicit factoryClass property for Definitions
Previously, the Definition class was used both for type inference and factory construction (if factoryService was absent). This is fine for cases where classes create instances of themselves (e.g. getInstance() or create()), but leads to ambiguity when we have a separate factory class.
2011-02-05 20:39:42 +01:00
ornicar
575b75a9df [DependencyInjection] Fix fixture class loaded twice during dumper tests 2011-02-05 20:27:47 +01:00
Fabien Potencier
199e6bf893 [BrowserKit] removed annotation in a unit test to fix coverage 2011-02-05 16:02:59 +01:00
Martijn Evers
1e3dc1479c [Testing][HttpKernel] Added possibility to functional test raw body data 2011-02-04 13:07:13 +01:00
Victor Berchet
3ed47114d6 [Bundle] Make getPath() less error prone by allowing both backward and forward slashes 2011-02-04 12:12:19 +01:00
Bernhard Schussek
2276b98fc1 [Form] Fixed: ChoiceFields never validated 2011-02-04 11:30:49 +01:00
Daniel Holmes
f4282eea98 [Routing] added support for non-standard port numbers in absolute urls 2011-02-04 00:25:25 +01:00
Fabien Potencier
b6f400a2bc [DependencyInjection] made an optimization on dumped DIC
When dumping a Container, and if it is frozen, we use a plain
PHP array for parameters instead of a ParameterBag.
2011-02-04 00:17:51 +01:00
Bernhard Schussek
a725415440 [Form] Fixed RepeatedField not to trigger NotNull/NotBlank errors if any of the fields was filled in 2011-02-03 13:28:29 +01:00
Bernhard Schussek
39c148197f [Form] Fixed form validation
Separated validation of data and form had serious drawbacks. When a form had nested form whose data was not connected to the data of the root form, this data would not be validated.

The new implementation validates the whole object graph at once. Class Form has a new method validateData(), that manually passes the data to the GraphWalker of the Validator and overrides the Default group with the groups set in the form.
2011-02-03 13:21:44 +01:00
Bernhard Schussek
1a34743990 [Validator] Fixed: Collections annotated with @Valid may contain scalar values. These values are ignored by the GraphWalker 2011-02-03 13:21:37 +01:00
Bernhard Schussek
50955a3919 [Validator] Fixed PropertyPath to read array indices with special characters 2011-02-03 11:28:51 +01:00
Bernhard Schussek
5ed4d91bb8 [Validator] Implemented Execute constraint 2011-02-03 11:00:03 +01:00
Bernhard Schussek
7c9c7af863 [Form] Fixed arrays not to be passed to the validator 2011-02-02 17:32:24 +01:00
Bernhard Schussek
5e3fab214e [Form] The form is now validated seperatedly from its data. The form is validated in group "Default", the data in the group set in option "validation_groups" 2011-02-02 15:25:05 +01:00
Bernhard Schussek
c923af2879 [Form] Adapted constructor of CollectionField to match the constructors of the other fields. The field prototype is now optional. 2011-02-02 14:46:33 +01:00
Bernhard Schussek
4f0283a508 [Form] Removed Form::isBound(). Form::bind() is only a shortcut method now, use Form::isSubmitted() if you want to find out whether a form was submitted. 2011-02-02 14:46:33 +01:00
Bernhard Schussek
628a4d1fd8 [Form] Refactored validation logic into validate() method. Removed bindGlobals() to reduce API clutter 2011-02-02 14:46:33 +01:00
Thomas
e6dc155e89 fix validator class metadata warning 2011-02-02 11:37:41 +01:00
Jeremy Mikola
4e0db56810 [Form] Fix getValidator() to reference the "validator" option instead of property 2011-02-02 11:34:18 +01:00
Johannes Schmitt
b484763a7a [DependencyInjection] added first version of the config normalizer
This is mainly intended for complex configurations to ease the work you
have with normalizing different configuration formats (YAML, XML, and PHP).

First, you have to set-up a config tree:

    $treeBuilder = new TreeBuilder();
    $tree = $treeBuilder
        ->root('security_config', 'array')
            ->node('access_denied_url', 'scalar')->end()
            ->normalize('encoder')
            ->node('encoders', 'array')
                ->key('class')
                ->prototype('array')
                    ->before()->ifString()->then(function($v) { return array('algorithm' => $v); })->end()
                    ->node('algorithm', 'scalar')->end()
                    ->node('encode_as_base64', 'scalar')->end()
                    ->node('iterations', 'scalar')->end()
                ->end()
            ->end()
        ->end()
        ->buildTree()
    ;

This tree and the metadata attached to the different nodes is then used
to intelligently transform the passed config array:

    $normalizedConfig = $tree->normalize($config);
2011-02-01 16:07:04 +01:00
Bernhard Schussek
a28151a8af [Form] Removed FormFactory and improved the form instantiation process
With the form factory there was no reasonable way to implement instantiation of custom form classes. So the implementation was changed to let the classes instantiate themselves. A FormContext instance with default settings has to be passed to the creation method. This context is by default configured in the DI container.

	$context = $this->get('form.context');
	// or
	$context = FormContext::buildDefault();
	$form = MyFormClass::create($context, 'author');

If you want to circumvent this process, you can also create a form manually. Remember that the services stored in the default context won't be available then unless you pass them explicitely.

	$form = new MyFormClass('author');
2011-02-01 15:27:12 +01:00
Bernhard Schussek
fb1f99137d [Form] Changed semantics of a "bound" form
A form now always has to be bound, independent of whether the request is a POST request or not. The bind() method detects itself whether the request was a post request or not and reads its data accordingly. The "old" bind()/isBound() methods were renamed to submit()/isSubmitted().

	$form = new Form('author');
	$form->bind($request, $author);

	if ($form->isValid()) {
		// isValid() implies isSubmitted(), non-submitted forms can
		// never be valid
		// do something with author now
	}

Alternatively, you can only bind global variables, if you don't have a request object.

	$form->bindGlobals($author);

Note that the $author object is in both cases optional. You can also pass no object at all and read the data using $form->getData(), but then no validation will occur. You can also prefill the form with an object during instantiation.

	$form = new Form('author', array('data' => $author));
	$form->bind($request);

	// etc.
2011-02-01 15:27:12 +01:00
Bernhard Schussek
e5ed98c324 [Form] Added option 'data' to Field for populating a field with a fixed value 2011-02-01 15:27:12 +01:00
Bernhard Schussek
fdbc064f06 [Form] Removed automatic distribution of the locale in the Form component. This leads to more problems than it solves. 2011-02-01 15:27:12 +01:00
Bernhard Schussek
c468db5c5b [Form] Merged classes FieldGroup and Form for simplicity 2011-02-01 15:27:12 +01:00
Bernhard Schussek
4fcb98547c [Form] Simplified Form::bind(), added convenience methods Form::bindRequest() and Form::bindGlobals() 2011-02-01 15:27:12 +01:00
Bernhard Schussek
57cbd57265 [Form] Fields may now be anonymous, but anonymous fields must not be added to groups. They can only be used as prototypes 2011-02-01 15:27:12 +01:00
Bernhard Schussek
d152b5e265 [Form] Moved Doctrine2 specific files 2011-02-01 15:27:12 +01:00
Bernhard Schussek
347c069e8d [DoctrineBundle][Form] Implemented EntityChoiceField 2011-02-01 15:27:12 +01:00