Commit Graph

2570 Commits

Author SHA1 Message Date
Fabien Potencier
e24dce2ae7 merged branch stloyd/tests (PR #1318)
Commits
-------

edf4b87 Add missing "tearDown" functions, and some missing variable declaration (this saves for me almost 20MB when run all tests) Force AsseticBundle tests to use TestCase Fix test for DoctrineBundle to use TestCase
2b0c352 Increase code coverage for: YamlParser, Validators, PhpEngine + Helpers, HttpFoundation
b88a0a0 Remove tabs
99f9337 Additional tests for PhpEngine + Helpers More tests for UrlValidator
450ed85 Additional tests for DateTimeValidator, EmailValidator and UrlValidator

Discussion
----------

[Tests] Cleanup + make code coverage more happy

Hey,

this PR is a bit bigger than usually ;-) few infos what's inside:

- Fix `DoctrineBundle` test to use `TestCase`
- Mark tests as "incomplete" instead of commenting them out
- Increase code coverage for: `Validators`, `PhpEngine` + `Helpers`, `HttpFoundation` (`Session`, `Response` etc.)
- And my favourite ;-) added missing variables definition (also removed non-used) and `tearDown()` function (if needed) to tests which allowed me saved __~15MB__ when running all tests

---------------------------------------------------------------------------

by stloyd at 2011/06/16 05:58:21 -0700

@fabpot & @marcw It was rebased and cleanup up (I split up `AsseticBundle` symfony/AsseticBundle#1 change to new repo), and added few new tests.
2011-06-16 15:21:15 +02:00
Fabien Potencier
a7974ff43c renamed Form Twig templates to be more explicit 2011-06-16 15:20:12 +02:00
stloyd
edf4b87dcb Add missing "tearDown" functions, and some missing variable declaration (this saves for me almost 20MB when run all tests)
Force AsseticBundle tests to use TestCase
Fix test for DoctrineBundle to use TestCase
2011-06-16 15:06:36 +02:00
stloyd
2b0c3526d8 Increase code coverage for: YamlParser, Validators, PhpEngine + Helpers, HttpFoundation
Revert failing asserts for UrlValidator

Mark as incomplete instead of commenting them out
2011-06-16 11:43:27 +02:00
stloyd
b88a0a0d8a Remove tabs 2011-06-16 11:42:30 +02:00
stloyd
99f9337517 Additional tests for PhpEngine + Helpers
More tests for UrlValidator
2011-06-16 11:42:29 +02:00
Fabien Potencier
524d51adf8 [AsseticBundle] moved the bundle to its own repository -- https://github.com/symfony/AsseticBundle 2011-06-15 22:09:24 +02:00
Hugo Hamon
7d09695903 [FrameworkBundle] Simplified TemplateReference::getPath() method and added a unit test. 2011-06-15 18:56:20 +02:00
Hugo Hamon
2616efb03f [FrameworkBundle] fixed TemplateRefence::getPath() when using namespaced controllers (i.e: AcmeBlogBundle\\Controller\\Admin\\PostController) 2011-06-15 18:27:34 +02:00
Fabien Potencier
b3fa8bf7cb [Swiftmailer] allowed any service to be used as a transport (closes #1337) 2011-06-15 17:08:59 +02:00
Fabien Potencier
02f28b6e5e simplified Form templates as the safeguard is already set in the Form Type 2011-06-15 16:58:41 +02:00
Fabien Potencier
c7d5fd16e0 fixed CS 2011-06-15 13:46:46 +02:00
Fabien Potencier
fb24b95bd5 made some tweaks to error levels 2011-06-15 13:04:19 +02:00
Fabien Potencier
8dbaf2aa38 [FrameworkBundle] removed unused variable 2011-06-15 12:33:17 +02:00
Fabien Potencier
01fcd7bdfd merged branch kaiwa/loglevel (PR #1073)
Commits
-------

cdf4b6a Checked log levels
a45d3ee Reverted last commit
529381b ControllerNotFound: Changed log level from info to error. Also moved throw exception code block up, to prevent the message from beeing logged multiple times.
7c29e88 Changed log level of "Matched route ..." message from info to debug
dca09fd Changed log level of "Using Controller ..." message from info to debug

Discussion
----------

Log levels

Just wanted to ask if the log level INFO is still correct for these messages?

As there are only four log levels left (DEBUG, INFO, WARNING, ERROR), DEBUG might be the more appropriate level for these messages now.

Let me give an example: An application is logging user actions (maybe to database) in order to assure comprehensibility, e. g. "User %s deleted post %d", "User %s written a message to user %s". These are not warnings of course, so the only suitable log level is INFO.
But they will be thrown together with these very common (at least two per request?) "Using controller..." and "Matched route..." messages when choosing INFO as log level.

---------------------------------------------------------------------------

by Seldaek at 2011/05/24 07:13:18 -0700

Agreed, this stuff is framework debug information.

---------------------------------------------------------------------------

by fabpot at 2011/05/24 08:53:24 -0700

Why do you want to change these two specific ones? The framework uses the INFO level at other places too. Is it a good idea to say that the framework only logs with DEBUG?

---------------------------------------------------------------------------

by stof at 2011/05/24 09:12:53 -0700

Doctrine logs at the INFO level too and I think it is useful to keep it as INFO. Being able to see the queries without having all DEBUG messages of the event dispatcher and security components is useful IMO.

---------------------------------------------------------------------------

by Seldaek at 2011/05/25 02:30:24 -0700

Yeah, that's true, maybe we just need to reintroduce (again, meh:) NOTICE between INFO and WARNING.

@kaiwa Of course the other way could be that you just add your DB handler to the app logger stack. That could be done in a onCoreRequest listener or such, basically you'd have to call `->pushHandler($yourDBHandler)` on the `monolog.logger.app` service. That way your messages will flow to it, but it won't receive noise from the framework stuff since those log on monolog.logger.request and other log channels.

---------------------------------------------------------------------------

by fabpot at 2011/05/25 02:48:26 -0700

@Seldaek: I don't think we need another level. We just need to come up with a standard rules about the usage of each level. Adapted from log4j:

* ERROR: Other runtime errors or unexpected conditions.
* WARN: Use of deprecated APIs, poor use of API, 'almost' errors, other runtime that are undesirable or unexpected, but not necessarily "wrong" (unable to write to the profiler DB, ).
* INFO: Interesting runtime events (security infos like the fact the user is logged-in or not, SQL logs, ...).
* DEBUG: Detailed information on the flow through the system (route match, security flow infos like the fact that a token was found or that remember-me cookie is found, ...).

What do you think?

---------------------------------------------------------------------------

by stloyd at 2011/05/25 02:53:38 -0700

+1 for this standard (also this PR can be merged then), but we should review code for other "wrong" log levels usage (if everyone accept this standard)

---------------------------------------------------------------------------

by fabpot at 2011/05/25 02:55:07 -0700

I won't merge this PR before all occurrences of the logger calls have been reviewed carefully and changed to the right level.

---------------------------------------------------------------------------

by kaiwa at 2011/05/25 02:58:44 -0700

@fabpot: Just noticed these two occurring for every request in my log file. You are right, there are other places where this changes must be applied if we will change the log level.

@stof: Hmm, i see. It is not possible to set the logger separately for each bundle, is it? That maybe would solve the problem. If somebody is interested in seeing the queries, he could set the log handler level to DEBUG for doctrine bundle, but still use INFO for the framwork itself. Plus he could even define a different output file or a completely different handler.

I'm not sure if something like that is possible already (?) or realizable at all... just came into my mind.

---------------------------------------------------------------------------

by Seldaek at 2011/05/25 03:01:07 -0700

Just FYI, from Monolog\Logger (which has CRITICAL and ALERT):

     * Debug messages
    const DEBUG = 100;

     * Messages you usually don't want to see
    const INFO = 200;

     * Exceptional occurences that are not errors
     * This is typically the logging level you want to use
    const WARNING = 300;

     * Errors
    const ERROR = 400;

     * Critical conditions (component unavailable, etc.)
    const CRITICAL = 500;

     * Action must be taken immediately (entire service down)
     * Should trigger alert by sms, email, etc.
    const ALERT = 550;

The values kind of match http error codes too, 4xx are expected errors that are not really important (404s etc) and 5xx are server errors that you'd better fix ASAP. I'm ok with the descriptions, but I think alert and critical should be included too. I'll probably update Monolog docblocks to match whatever ends up in the docs.

---------------------------------------------------------------------------

by Seldaek at 2011/05/25 03:03:21 -0700

@kaiwa you can do a lot, but not from the default monolog configuration entry, I'm not sure if we can really make that fully configurable without having a giant config mess. Please refer to my [comment above](https://github.com/symfony/symfony/pull/1073#issuecomment-1234316) to see how you could solve it. Maybe @fabpot has an idea how to make this more usable though.

---------------------------------------------------------------------------

by stof at 2011/05/25 03:19:43 -0700

@Seldaek the issue is that the different logging channels are only know in the compiler pass, not in the DI extension. So changing the level in the extension is really hard IMO.
Thus, the handlers are shared between the different logging channels (needed to open the log file only once for instance, or to send a single mail instead of one per channel) and the level is handled in the handlers, not the logger.

I'm +1 for the standard, by adding the distinction between 400 and 500 status calls using ERROR and CRITICAL (which is already the case in the code).

@kaiwa do you have time to review the calls to the logger between DEBUG and INFO or do you prefer I do it ? For instance, the Security component currently logs all message at DEBUG level and some of them should be INFO.

---------------------------------------------------------------------------

by kaiwa at 2011/05/25 04:31:04 -0700

@stof ok i'll do that

---------------------------------------------------------------------------

by kaiwa at 2011/05/25 12:22:51 -0700

Need some help :) I came across `ControllerNameParser::handleControllerNotFoundException()` which leads to redundant log messages currently:

>[2011-05-25 20:53:16] request.INFO: Unable to find controller "AppBaseBundle:Blog" - class "App\BaseBundle\Controller\BlogController" does not exist.

>[2011-05-25 20:53:16] request.ERROR: InvalidArgumentException: Unable to find controller "AppBaseBundle:Blog" - class "App\BaseBundle\Controller\BlogController" does not exist. (uncaught exception) at /home/ruth/symfony3/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerNameParser.php line 87

Is it necessary to call `$this->logger->info($log);` if the InvalidArgumentException will be logged anyway?

---------------------------------------------------------------------------

by stof at 2011/05/25 12:39:22 -0700

Well, the issue is that the ControllerNameParser logs messages and then uses them to throw an exception. I guess the logging call should be removed as it is redundant with the one of the ExceptionListener. @fabpot thoughts ?

---------------------------------------------------------------------------

by kaiwa at 2011/05/27 11:39:25 -0700

I checked all debug, info and log calls. Sometimes it is hard to distinguish between the levels, so it would be great if someone reviews @cdf4b6a. @stof, maybe you want to take a look?

---------------------------------------------------------------------------

by kaiwa at 2011/05/31 12:52:07 -0700

@stof, thanks for your comments. I added some replies above, please let me know your suggestions.

---------------------------------------------------------------------------

by stof at 2011/05/31 14:04:22 -0700

@kaiwa As I said before, all the security logging calls should be DEBUG (most of them) or INFO (the one syaing that authentication succeeded for instance), but not WARN or ERROR as the exception don't go outside the firewall.
2011-06-15 12:31:31 +02:00
Fabien Potencier
52697ed3df [Swiftmailer] changed disable_strategy behavior
The blackhole plugin that was used previously stop the propagation
of events, which means that the behavior can be slightly different
depending on the order of plugin registrations.

Instead, we now use the null transport to avoid this issue.
2011-06-15 12:18:07 +02:00
Fabien Potencier
73dc8c96af merged branch vicb/form-proto (PR #1315)
Commits
-------

07fa82d [Form] Revert changes impacting perfomance and readability
b709551 [Order] Make Form::types and FormView::types use the same order (Parent > Child)
e56dad6 [Form] simplify the code
bdd755e [Form] Fix the exception message when no block is found
c68c511 [Form] Make theming form prototypes consistent (start by looking for a '_<id>_<section>' block)
9ec9960 [Form] Simplify the code
4e3e276 [Form] Make the prototype view child of the collection view

Discussion
----------

[Form] Make the prototype view child of the collection view

This PR should be a base for discussion.

The [current implementation](https://github.com/symfony/symfony/pull/1188) has some drawbacks because the prototype view is not a child of the collection view:

  * The 'multipart' attribute is not propagated from the prototype to the collection,
  * The prototype view do not use the theme from the collection.

Those 2 points are fixed by the proposed implementation and one more benefit is that the template markup might be easier to work with:

before:

```html
<div id="form_emails">
  <div>
    <label for="form_emails_0">0</label>
    <input type="email" id="form_emails_0" name="form[emails][0]" value="a@b.com">
  </div>
  <script type="text/html" id="form_emails_prototype">
    <div>
      <label for="$$name$$">$$name$$</label>
      <input type="email" id="$$name$$" name="$$name$$" value="" />
    </div>
  </script>
</div>
```
after:

```html
<div id="form_emails">
  <div>
    <label for="form_emails_0">0</label>
    <input type="email" id="form_emails_0" name="form[emails][0]" value="a@b.com">
  </div>
  <script type="text/html" id="form_emails_prototype">
    <div>
      <label for="form_emails_$$name$$">$$name$$</label>
      <input type="email" id="form_emails_$$name$$" name="form[emails][$$name$$]" value="" />
    </div>
  </script>
</div>
```

@kriswallsmith I'd like to get your feedback on this PR. thanks.

---------------------------------------------------------------------------

by stof at 2011/06/14 07:01:01 -0700

@fabpot any ETA about merging it ? Using the prototype currently is a pain to build the name. The change makes it far easier

---------------------------------------------------------------------------

by fabpot at 2011/06/14 07:09:46 -0700

The templates are much better but I'm a bit concerned that we need to add the logic into the Form class directly. That looks quite ugly. If there is no other way, I will merge it.

---------------------------------------------------------------------------

by vicb at 2011/06/14 07:14:32 -0700

I have found no better way... I am testing some minor tweaks I want to submit.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 07:34:25 -0700

I'm not happy with the code in Form.php either... would creating a PrototypeType accomplish the same thing?

---------------------------------------------------------------------------

by vicb at 2011/06/14 07:42:07 -0700

@kriswallsmith tried and dismissed, the id and name are bad & you have to go for `render_widget(form.get('proto'))` in the template. That should be fixeable but not any better.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 07:45:21 -0700

What do you mean the id and name are bad? If we have a distinct type for the prototype, can't we do whatever we want using buildView() and the template?

---------------------------------------------------------------------------

by vicb at 2011/06/14 07:53:31 -0700

@kriswallsmith the id would be smthg like `form_emails_$$name$$_prototype` but yes we should be able to do whatever we want but the code might end up being more complex.

I am done with the tweaks but still open to feedback on this PR.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 08:08:21 -0700

Yes, that is the type of name I would expect.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 08:08:33 -0700

Oops -- I mean id.

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 08:09:42 -0700

Maybe I'm confused what id you're referring to. I'll try to spend some time on this today.

---------------------------------------------------------------------------

by vicb at 2011/06/14 08:23:56 -0700

That should be the id of the `<input>`, the id of the script would be `form_emails_$$name$$_prototype_prototype` (if prototype is the name of the nested node).

I am trying to setup a branch with my code (playing with git & netbeans local history)

---------------------------------------------------------------------------

by vicb at 2011/06/14 08:46:25 -0700

@kriswallsmith https://github.com/vicb/symfony/tree/kris/proto if that can help (there are still changes in Form.php)

---------------------------------------------------------------------------

by kriswallsmith at 2011/06/14 08:47:08 -0700

Thanks, I'll take a look.

---------------------------------------------------------------------------

by vicb at 2011/06/15 00:48:38 -0700

I would have expected it to be faster however `array_map` is about twice slower... reverted !
2011-06-15 11:27:12 +02:00
Victor Berchet
b709551252 [Order] Make Form::types and FormView::types use the same order (Parent > Child) 2011-06-15 01:45:26 +02:00
Victor Berchet
c68c511388 [Form] Make theming form prototypes consistent (start by looking for a '_<id>_<section>' block) 2011-06-14 16:36:31 +02:00
Fabien Potencier
ddb0a8559d [AsseticBundle] fixed unit tests 2011-06-14 15:53:30 +02:00
Fabien Potencier
e5ccaabefd merged branch kriswallsmith/assetic/cssembed-config (PR #1321)
Commits
-------

ee8f34e [AsseticBundle] added more cssembed config options (closes #1249)

Discussion
----------

[AsseticBundle] added more cssembed config options (closes #1249)
2011-06-14 15:45:31 +02:00
Kris Wallsmith
ee8f34e7ed [AsseticBundle] added more cssembed config options (closes #1249) 2011-06-14 05:48:51 -07:00
Kris Wallsmith
4016dfbb84 [AsseticBundle] moved ExecutableFinder back into a closure so it's only called if needed 2011-06-14 04:22:47 -07:00
Fabien Potencier
a232c148eb fixed CS 2011-06-14 12:54:32 +02:00
Victor Berchet
4e3e2768fb [Form] Make the prototype view child of the collection view 2011-06-14 09:33:19 +02:00
Fabien Potencier
2ce3cfad18 [Form] made it possible to translate the empty value of Choice fields 2011-06-14 08:33:48 +02:00
Fabien Potencier
c364008a3b [Form] allowed an empty value to be displayed for choices even when required is true
Rules are as follows:

* If multiple is true, then the empty_value is ignored
* If not, and if the field is not required, the empty_value is set to the empty string by default and displayed
* If the field is required, and if the user explicitely set the empty_value, then it is displayed
2011-06-14 08:27:19 +02:00
Fabien Potencier
a12ea12fc1 fixed CS 2011-06-13 18:54:20 +02:00
Fabien Potencier
0b7a19e6fd [DoctrineBundle] removed old code 2011-06-13 18:38:56 +02:00
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
59f0602aef Merge remote branch 'kriswallsmith/assetic/fix-type-hint'
* kriswallsmith/assetic/fix-type-hint:
  [AsseticBundle] fixed an incorrect type hint
2011-06-13 17:37:08 +02:00
Kris Wallsmith
dc2da52790 [AsseticBundle] fixed an incorrect type hint 2011-06-13 08:27:11 -07:00
Kris Wallsmith
16e3aa3dc3 [AsseticBundle] added FileResource test 2011-06-13 08:17:05 -07:00
Kris Wallsmith
1890dab212 [AsseticBundle] added custom coalescing logic to work with logical template names 2011-06-13 08:17:05 -07:00
Fabien Potencier
33baf9d8ad [FrameworkBundle] partially reverted previous merge 2011-06-13 17:00:18 +02:00
Fabien Potencier
459678a0e9 Merge remote branch 'vicb/twig-templates'
* vicb/twig-templates:
  [FrameworkBundle] Fix previous commit
  [TwigBundle] Optimize the FilesystemLoader
2011-06-13 16:54:21 +02:00
Fabien Potencier
16e6cea240 [DoctrineBundle] fixed generation of the first entity in a bundle (closes #1271) 2011-06-13 16:29:04 +02:00
Fabien Potencier
9c1f999e21 [FrameworkBundle] fixed typo 2011-06-13 11:58:58 +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
dbac5324ee Merge remote branch 'pzwosta/php-scope-request'
* pzwosta/php-scope-request:
  [AsseticBundle] fixed ScopeWideningInjectionExc in prod evn using php templates
2011-06-13 11:15:48 +02:00
Kris Wallsmith
a3ed5e3f84 [AsseticBundle] changed file resource string value to logical template name 2011-06-12 19:12:22 -07:00
Victor Berchet
dbea68effc [FrameworkBundle] Fix previous commit 2011-06-12 18:37:54 +02:00
Victor Berchet
acd2cf11d8 [TwigBundle] Optimize the FilesystemLoader 2011-06-12 14:49:18 +02:00
Peter Zwosta
c0e120e072 [AsseticBundle] fixed ScopeWideningInjectionExc in prod evn using php templates
The definition "assetic.helper.static" references the service "templating.helper.assets" which belongs to a narrower scope. Generally, it is safer to either move "assetic.helper.static" to scope "request" or alternatively rely on the provider pattern by injecting the container itself, and requesting the service "templating.helper.assets" each time it is needed. In rare, special cases however that might not be necessary, then you can set the reference to strict=false to get rid of this error.
2011-06-11 19:49:13 +02:00
Kris Wallsmith
5b0f1da074 [HttpKernel] made WebTestCase methods static 2011-06-11 08:50:27 -07:00
Fabien Potencier
ca013311bd [TwigBundle] fixed XSD 2011-06-11 08:00:55 +02:00
Fabien Potencier
355f802546 [TwigBundle] fixed tests 2011-06-11 07:54:10 +02:00
Fabien Potencier
96045739b1 [TwigBundle] removed the extensions setting 2011-06-11 07:50:14 +02:00
Fabien Potencier
d67e25c003 Merge remote branch 'richardmiller/fixed_container_debug_command_help'
* richardmiller/fixed_container_debug_command_help:
  [FrameworkBundle] Added missing word to ContainerDebugCommand help message.
2011-06-10 19:50:58 +02:00
Christophe Coevoet
5458baf465 [MonologBundle] Changed the default bubbling behavior. Fixes #1268 2011-06-10 19:44:10 +02:00
Richard Miller
346cbf352a [FrameworkBundle] Added missing word to ContainerDebugCommand help message. 2011-06-10 17:56:06 +01:00
Hugo Hamon
aa6645d955 [DoctrineBundle] fixed missing backslashe. 2011-06-10 14:55:47 +02:00
Hugo Hamon
1da8922eab [DoctrineBundle] simplified getClassMetadataFactoryClass() method in both DisconnectedMetadataFactory and MetadataFactory classes. 2011-06-10 14:27:55 +02:00
Hugo Hamon
ce3839a3ea [DoctrineBundle] added new DisconnectedMetadataFactory class that is now used in the doctrine:generate:entities command instead of the MetadataFactory class. 2011-06-10 14:24:31 +02:00
Fabien Potencier
25c3fee1f2 [FrameworkBundle] removed obsolete code 2011-06-09 22:15:58 +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
Hugo Hamon
6e96accf3a [DoctrineBundle] fixed MetadataFactory::getMetadataForClass() to always return a ClassMetadataCollection object instead of NULL. 2011-06-09 11:13:42 +02:00
Kris Wallsmith
0df338fdb1 added script[type="text/html"] collection prototype to form themes 2011-06-08 09:41:12 -04:00
Fabien Potencier
d528b7481f fixed typo 2011-06-08 15:20:37 +02:00
Fabien Potencier
566511e9e7 moved some FormView methods to FormUtil where they really belongs 2011-06-08 14:07:04 +02:00
Fabien Potencier
1aabc5da64 fixed CS 2011-06-08 12:16:48 +02:00
Fabien Potencier
62e4342a86 fixed CS 2011-06-08 12:12:55 +02:00
Fabien Potencier
12dd52b00b [FrameworkBundle] removed the --without-debug option for cache:clear (it now inherits the debug flag from the parent Kernel) 2011-06-08 10:16:10 +02:00
Benjamin Eberlei
2a5449dcb0 [DoctrineBundle] added tests for registry 2011-06-08 08:48:49 +02:00
Fabien Potencier
879242cdf5 moved some Doctrine classes from the bundle to the bridge 2011-06-08 08:41:44 +02:00
Fabien Potencier
fbf36957e6 refactored Doctrine Bridge
* added a RegistryInterface

 * changed all classes to depend on the Registry instead of a specific EntityManager

This is more consistent as the validator already took the registry and this allows
to use any entity manager in Forms.
2011-06-08 08:35:48 +02:00
Fabien Potencier
84b25b1626 Merge remote branch 'beberlei/AsseticDirectoryResource'
* beberlei/AsseticDirectoryResource:
  [Assetic] Make AsseticExtension::createDirectoryResourceDefinition public, so that third party bundels can easilycreate definitions to search for assetic formulae in additional directories. LiipThemeBundle needs this to make the app/Resources/themes and Bundle/Resources/themes folder searchable. Without this change the whole method would need to be copy pasted. Since the method has no side-effects at all (only factory, not pushing into the container) this change is justifyable imho.
2011-06-07 23:04:57 +02:00
Benjamin Eberlei
d4e47a305b [Assetic] Make AsseticExtension::createDirectoryResourceDefinition public, so that third party bundels can easilycreate definitions to search for assetic formulae in additional directories. LiipThemeBundle needs this to make the app/Resources/themes and Bundle/Resources/themes folder searchable. Without this change the whole method would need to be copy pasted. Since the method has no side-effects at all (only factory, not pushing into the container) this change is justifyable imho. 2011-06-07 22:38:09 +02:00
Fabien Potencier
adc7904c33 [FrameworkBundle] fixed phpdoc 2011-06-07 19:49:03 +02:00
Fabien Potencier
aaf1300a20 merged hhamon/controller_getrequest_method 2011-06-07 19:48:40 +02:00
Fabien Potencier
97a745e973 Merge remote branch 'vicb/form-rendering-fix'
* vicb/form-rendering-fix:
  [Form] Fix accessibility for file inputs
  [FrameworkBundle] Fix the FormHelper phpDoc
  [FrameworkBundle][Form] Add some phpDoc for the FormHelper class
  [FrameworkBundle][Form] Fix label rendering
  [FrameworkBundle][Form] Fix rendering search inputs in PHP
  [Form] FormType labels should never have a for attribute
  [Form] Never render a view again
2011-06-07 19:46:20 +02:00
Fabien Potencier
74fbdc2fe2 Merge remote branch 'hhamon/typo_fix'
* hhamon/typo_fix:
  [FrameworkBundle] some typo fixes in phpdoc.
2011-06-07 19:39:03 +02:00
Fabien Potencier
2286452cc8 [DoctrineBundle] added a few aliases 2011-06-07 18:26:28 +02:00
Fabien Potencier
89f544afb6 moved Twig form templates to the Twig bridge 2011-06-07 16:38:23 +02:00
Fabien Potencier
1363068686 [FrameworkBundle] fixed phpdoc 2011-06-07 16:13:08 +02:00
Hugo Hamon
1c96ee672a [FrameworkBundle] some typo fixes in phpdoc. 2011-06-07 15:35:03 +02:00
Hugo Hamon
37b2df25bf [FrameworkBundle] Introduced a new Controller::getRequest() method to get the Request service from a controller. 2011-06-07 15:33:20 +02:00
Fabien Potencier
6737bd36bd [TwigBundle] made table_layout.html.twig useable as a trait 2011-06-07 13:52:58 +02:00
Fabien Potencier
41242dcc00 [DoctrineBundle] made XML/YAML mapping drivers more BC with their Doctrine counterparts
The ultimate goal is to move back these mapping dirvers to the Doctrine project.
2011-06-07 12:14:46 +02:00
Fabien Potencier
116e004f7d [DoctrineBundle] removed doctrine:generate:proxies as this command is never needed in a Symfony2 context 2011-06-07 12:01:07 +02:00
Fabien Potencier
b51d839ab8 removed duplicated test 2011-06-07 11:57:48 +02:00
Fabien Potencier
35c85a1547 added missing change from previous commit (sorry :() 2011-06-07 11:57:30 +02:00
Fabien Potencier
a17478ff74 tweaked previous commit 2011-06-07 11:48:08 +02:00
Fabien Potencier
96fc666454 simplified cache warmers
Here are the new simplified rules:

 * Required cache warmers are *always* executed when the Kernel boots for the first time;
 * Optional cache warmers are *only* executed from the CLI via cache:warmup

These new rules means that all the configuration settings for the cache
warmers have been removed. So, if you want the best performance, remember to
warmup the cache when going to production.

This also fixed quite a few bugs.
2011-06-07 11:42:27 +02:00
Fabien Potencier
5be0bafe7f removed TemplateReferenceInterface::getSignature() (replaced by the existing getLogicalName() which already acts as a unique identifier) 2011-06-07 10:12:38 +02:00
Fabien Potencier
5af7c7fffd moved TemplateFinder to CacheWarmer as it is only useful in this context 2011-06-07 09:39:41 +02:00
Fabien Potencier
125df3ab3b [DoctrineBundle] removed unneeded use statement 2011-06-07 09:06:58 +02:00
Fabien Potencier
22428b8b14 [DoctrineBundle] refactored Doctrine proxy cache warmer
* removed the dependency on the Container
* the proxy cache is now get from each entity manager configuration
2011-06-07 09:03:40 +02:00
Fabien Potencier
1c3fa20685 [DoctrineBundle] added Registry::getEntityManagers() 2011-06-07 08:53:04 +02:00
Fabien Potencier
85a381d048 [DoctrineBundle] added Registry::getConnections() 2011-06-07 08:53:03 +02:00
Fabien Potencier
2a5d7687b7 fixed Router cache warmer 2011-06-07 08:53:01 +02:00
Fabien Potencier
8618a27bf7 [DoctrineBundle] tweaked phpdoc 2011-06-07 08:44:59 +02:00
Victor Berchet
8d2974ce90 [Form] Fix accessibility for file inputs 2011-06-06 21:00:07 +02:00
Victor Berchet
c0355038cf [FrameworkBundle] Fix the FormHelper phpDoc 2011-06-06 21:00:07 +02:00
Victor Berchet
1196eb8e51 [FrameworkBundle][Form] Add some phpDoc for the FormHelper class 2011-06-06 20:12:37 +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
Fabien Potencier
cb3390e9ae Merge remote branch 'gordonslondon/http-foundation/response'
* gordonslondon/http-foundation/response:
  [HttpFoundation] merge Response::isRedirected() with Response::isRedirect() - Response::isRedirected() has been removed
2011-06-06 18:06:51 +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
Fabien Potencier
c3bf2037df Merge remote branch 'vicb/form-collection-rendering'
* vicb/form-collection-rendering:
  [Form] Fix collection rendering
2011-06-06 14:56:16 +02:00
Fabien Potencier
48733b927d [Swiftmailer] added the swiftmailer.plugin tag to automatically register Swiftmailer plugins 2011-06-06 14:48:42 +02:00
Fabien Potencier
a5daf4706a [SwiftmailerBundle] updated XSD 2011-06-06 14:43:36 +02:00
Victor Berchet
ef8cb967f5 Merge branch 'master' into form-collection-rendering 2011-06-06 14:39:18 +02:00
Fabien Potencier
b83aa9d006 [SwiftmailerBundle] fixed previous merge 2011-06-06 14:25:17 +02:00
Victor Berchet
bca17fe6a3 [Form] Fix collection rendering 2011-06-06 14:21:49 +02:00
Fabien Potencier
ce4a49d648 merged arjenjb/swift-antiflood-plugin 2011-06-06 14:21:20 +02:00
Victor Berchet
6711a184fd [TwigBundle][Form] Simplify templates
The Repeated and Collection types extend the Form type so there is no need to explicitely render the parent section.
2011-06-06 12:53:19 +02:00
Victor Berchet
181fb56925 [Form][Twig] Reorganized the form template 2011-06-06 12:32:08 +02:00
Fabien Potencier
a1d866e709 [DoctrineBundle] fixed typo 2011-06-06 09:11:02 +02:00
Fabien Potencier
433e403981 Merge branch 'doctrine-mapping-convert'
* doctrine-mapping-convert:
  [DoctrineBundle] fixed extensions of generated files
2011-06-05 08:31:06 +02:00
Fabien Potencier
9d18b38fc0 [DoctrineBundle] fixed non-working safe-guards (closes #1129) 2011-06-05 08:30:00 +02:00
Fabien Potencier
8c0e5029a0 [DoctrineBundle] fixed extensions of generated files 2011-06-05 08:12:53 +02:00
Fabien Potencier
8457bfa365 [FrameworkBundle] fixed _locale management in core.request 2011-06-04 22:59:06 +02:00
Fabien Potencier
0298f323e3 fixed typo 2011-06-04 19:23:48 +02:00
Fabien Potencier
736c27e0c9 Merge remote branch 'arjenjb/swift-impersonate-plugin'
* arjenjb/swift-impersonate-plugin:
  Removed plugin from SF
  [SwiftmailerBundle] Added ImpersonateSenderPlugin
2011-06-04 18:34:18 +02:00
Fabien Potencier
cb1f2c7e69 Merge remote branch 'kriswallsmith/templating/packages-rework'
* kriswallsmith/templating/packages-rework:
  [FrameworkBundle] updated for templating changes, added http/ssl logic
  [Templating] reworked asset helper and packages
2011-06-04 18:25:52 +02:00
Fabien Potencier
604b043d6e Merge remote branch 'weaverryan/doctrine_controller_methods'
* weaverryan/doctrine_controller_methods:
  [FrameworkBundle] Adding a check for the existence of the Doctrine service
  [DoctrineBundle] Fixing error per @stloyd
  [FrameworkBundle][DoctrineBundle] Adding a few shortcut methods
2011-06-04 13:55:25 +02:00
Fabien Potencier
0bf10c4ce1 Merge remote branch 'schmittjoh/events'
* schmittjoh/events:
  [FrameworkBundle] add the old method naming convention
2011-06-04 13:52:59 +02:00
Fabien Potencier
33b47b22db Merge remote branch 'schmittjoh/security'
* schmittjoh/security:
  [SecurityBundle] exposed setting in the configuration
  [Security/Http] removed irrelevant code
2011-06-04 13:52:18 +02:00
Fabien Potencier
9f3e996c43 [FrameworkBundle] fixed tests 2011-06-04 11:57:49 +02:00
Fabien Potencier
c62b2309cf [FrameworkBundle] fixed WDT for redirects emitted by the Security component 2011-06-04 10:25:44 +02:00
Fabien Potencier
611a4a212c [FrameworkBundle] allowed a service to register a kernel listener more than once for a given event 2011-06-04 10:23:42 +02:00
Johannes M. Schmitt
d03c6c72eb [SecurityBundle] exposed setting in the configuration 2011-06-03 14:06:55 +02:00
Joseph Bielawski
a414e56881 Fix for failing tests #1199 when Twig vendor doesn't exists. 2011-06-03 01:42:19 -07:00
Ryan Weaver
172c956b73 [FrameworkBundle] Adding a check for the existence of the Doctrine service 2011-06-02 13:26:51 -05:00
Ryan Weaver
1ac4675e32 [DoctrineBundle] Fixing error per @stloyd 2011-06-02 13:26:17 -05:00
Ryan Weaver
28dcb3c581 [FrameworkBundle][DoctrineBundle] Adding a few shortcut methods
This adds to convience methods, for two separate reasons:

* Controller::getDoctrine() - this will allow method completion on the Registry class to work in IDEs, is slightly shorter, and should feel very "concrete" to beginners

* Registry::getRepository() - the repository is a very convenient thing to need - this allows it to be fetched much more succintly

Overall Before:

    $product = $this->get('doctrine')
        ->getEntityManager()
        ->getRepository('AcmeDemoBundle:Product')
        ->find($id);

Overall After (with IDE method auto-completion for `getRepository`):

    $product = $this->getDoctrine()
        ->getRepository('AcmeDemoBundle:Product')
        ->find($id);
2011-06-02 09:31:22 -05:00
Fabien Potencier
4b86b15105 Merge remote branch 'schmittjoh/security'
* schmittjoh/security:
  [SecurityBundle] fixed a regression
  [SecurityBundle] re-use local variable
  [SecurityBundle] added validation for check paths
  [SecurityBundle] added user_providers option for remember_me
  [Security/Core] added missing method to interface
2011-06-01 16:03:02 +02:00
Johannes M. Schmitt
9ad318546d [SecurityBundle] fixed a regression 2011-06-01 13:53:21 +02:00
Johannes M. Schmitt
66f3abfe0c [SecurityBundle] re-use local variable 2011-06-01 13:20:52 +02:00
Johannes M. Schmitt
6f8871d2d7 [SecurityBundle] added validation for check paths 2011-06-01 13:05:34 +02:00
Johannes M. Schmitt
d2fa6c3e4e [SecurityBundle] added user_providers option for remember_me 2011-06-01 11:48:20 +02:00
NicoB
145216477b AsseticBundle : Add the missing cssmin filter service's schema 2011-06-01 16:30:31 +07:00
Fabien Potencier
2093a45aef merged stloyd/form_label 2011-06-01 11:11:25 +02:00
Fabien Potencier
a8089225e2 Merge remote branch 'fivestar/controller-signature'
* fivestar/controller-signature:
  [FrameworkBundle] Fixed phpdoc.
  [FrameworkBundle] Fixed signature of the Controller::createForm() to accept string type
2011-06-01 10:59:08 +02:00
Fabien Potencier
3d532f806a [FrameworkBundle] renamed getProfiler to getProfile (as the method now returns a Profile instance) 2011-06-01 10:55:46 +02:00
Katsuhiro OGAWA
16a40f6112 [FrameworkBundle] Fixed phpdoc. 2011-06-01 17:45:51 +09:00
Fabien Potencier
481d684973 Merge remote branch 'vslinko/master'
* vslinko/master:
  [AsseticBundle] Fixed typo in use statement
2011-06-01 10:40:16 +02:00
Fabien Potencier
885da2ef87 Merge remote branch 'kriswallsmith/assetic/parameter-replacement'
* kriswallsmith/assetic/parameter-replacement:
  [AsseticBundle] added support for parameter replacement in asset inputs
2011-06-01 10:35:43 +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
cf78841111 [WebProfilerController] cleaned up the controller 2011-06-01 07:44:52 +02:00
Kris Wallsmith
3e68eb61a5 [AsseticBundle] added support for parameter replacement in asset inputs
{% javascripts '%kernel.root_dir%/Resources/css/main.css' %}
    ...
    {% endjavascripts %}
2011-05-31 21:35:31 -07:00
stloyd
cb22ccc516 [Form] Added missing feature for adding attributes to an field label 2011-05-31 17:01:28 +02:00
Kris Wallsmith
d9f5c99fab [FrameworkBundle] updated for templating changes, added http/ssl logic 2011-05-31 06:46:30 -07:00
Fabien Potencier
af84cfec33 [DoctrineBundle] fixed doctrine:generate:entity 2011-05-31 15:15:18 +02:00
arjen
df02c05271 Removed plugin from SF 2011-05-31 14:31:23 +02:00
arjen
ed4f659693 [SwiftmailerBundle] Added ImpersonateSenderPlugin 2011-05-31 13:34:06 +02:00
Fabien Potencier
65200aa86a added missing license headers 2011-05-31 10:57:06 +02:00
Fabien Potencier
839c332438 moved all listener classes under a common EventListener sub-namespace 2011-05-31 10:43:20 +02:00
Johannes Schmitt
bee6a48f97 [FrameworkBundle] add the old method naming convention 2011-05-31 08:58:24 +02:00
Fabien Potencier
02605f3481 merged origin/master 2011-05-31 08:34:05 +02:00
Fabien Potencier
2e56703a32 [SecurityBundle] fixed error_log() being called during functional tests 2011-05-31 08:02:18 +02:00
Katsuhiro OGAWA
57fa3af441 [FrameworkBundle] Fixed signature of the Controller::createForm() to accept string type 2011-05-31 11:02:49 +09:00
Fabien Potencier
988355993a refactored Profiler class 2011-05-30 22:25:25 +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
Vyacheslav Slinko
683d452a3a [AsseticBundle] Fixed typo in use statement 2011-05-30 18:50:07 +04:00
Fabien Potencier
57fb1ba399 [FrameworkBundle] fixed typo 2011-05-30 16:27:38 +02:00
Fabien Potencier
5cffd9139b [FrameworkBundle] fixed typo 2011-05-30 16:25:43 +02:00
Fabien Potencier
c8f9904ac8 merged origin/master 2011-05-30 15:00:41 +02:00
Fabien Potencier
6731065626 tweaked priorities 2011-05-30 14:59:32 +02:00
Fabien Potencier
ea848be42f [SecurityBundle] added some cleanup 2011-05-30 14:59:18 +02:00
Fabien Potencier
9181e5dd0c merged origin/master 2011-05-30 14:28:54 +02:00
Fabien Potencier
9698669baa renamed RequestAttributeInitializingListener to RouterListener and
SessionInitializingListener to SessionListener
2011-05-30 14:22:13 +02:00
Johannes M. Schmitt
8837ce0e57 Merge branch 'master' of http://github.com/symfony/symfony into security 2011-05-30 10:00:07 +02:00
Fabien Potencier
5059559035 Merge remote branch 'Seldaek/events' into events1
* Seldaek/events:
  [EventDispatcher] Removed temporary code
  [FrameworkBundle] Improved code readability
  [FrameworkBundle] Clarified code and fixed regression
  Update Core and Security events to latest model
  [EventDispatcher] Allow registration of arbitrary callbacks
  [EventDispatcher] Remove useless code
  [EventDispatcher] Minor memory optimization to getListeners()
  [FrameworkBundle] Small optimization, remove some function calls
2011-05-30 08:58:49 +02:00
Fabien Potencier
ce6c049d3a Merge remote branch 'weaverryan/controller_form_methods'
* weaverryan/controller_form_methods:
  [FrameworkBundle] Adding two form-related methods to the base controller
2011-05-30 07:30:42 +02:00
Ryan Weaver
9f4e88ec17 [FrameworkBundle] Adding two form-related methods to the base controller
With these two methods, the concept of a "form factory" doesn't need to be understood by a beginner to create forms.
2011-05-29 23:00:31 -05:00
Pascal Borreli
824e48efa7 [Various] Fixed phpdoc 2011-05-29 23:33:36 +00:00
Pascal Borreli
50d5e3e007 [Various] Fixed typos 2011-05-29 22:24:32 +00:00
Fabien Potencier
6301728383 Merge remote branch 'pborreli/fixed-typos'
* pborreli/fixed-typos:
  [Various] Fixed typo
  [FrameworkBundle] Fixed css
2011-05-29 20:54:38 +02:00
Christophe Coevoet
15c5d61af8 Use an alias of translator.real instead of copying the definition
Copying the definition leads to 2 different services which the same
definition but different instances.
2011-05-29 18:56:45 +02:00
Pascal Borreli
46cdf02750 [Various] Fixed typo 2011-05-29 14:19:02 +00:00
Pascal Borreli
6b91af976d [FrameworkBundle] Fixed css 2011-05-29 14:18:15 +00:00
GordonsLondon
ef9dc7c623 [HttpFoundation] merge Response::isRedirected() with Response::isRedirect() - Response::isRedirected() has been removed 2011-05-29 15:34:02 +02:00
arjen
59b4b67548 Fixed Configuration 2011-05-29 10:37:24 +02:00
Johannes M. Schmitt
32d8d4547e fixed compiled class map 2011-05-29 09:35:58 +02:00
Fabien Potencier
54329387fd Merge remote branch 'ooflorent/patch-1'
* ooflorent/patch-1:
  Made the profiler toolbar loading an XML HTTP request.
2011-05-28 18:10:27 +02:00
Johannes Schmitt
786823151e changed injection type 2011-05-28 18:06:25 +02:00
Fabien Potencier
4054cbae29 Merge remote branch 'craue/patch-2'
* craue/patch-2:
  The toolbar wraps to a 2nd line for long route names which makes it hiding page content, thus better show more white space instead of overlaying content with the toolbar.
2011-05-28 18:02:59 +02:00
Johannes Schmitt
e3ddb81b38 added some tests for security/routing integration 2011-05-28 17:58:44 +02:00
Johannes Schmitt
439699daeb Merge branch 'functionalTests' into security 2011-05-28 17:17:00 +02:00
Johannes Schmitt
5cda240c6f refactored functional tests a bit 2011-05-28 17:16:55 +02:00
Johannes Schmitt
f37386e336 Merge branch 'master' of git://github.com/symfony/symfony into security 2011-05-28 17:07:16 +02:00
kaiwa
cdf4b6aa77 Checked log levels 2011-05-27 20:29:51 +02:00
Miha Vrhovnik
b8144c62ad DateType single-text should be single_text 2011-05-27 16:23:59 +02:00
Christian Raue
f29a2b9b72 The toolbar wraps to a 2nd line for long route names which makes it hiding page content, thus better show more white space instead of overlaying content with the toolbar. 2011-05-27 07:17:39 -07:00
arjen
9012eacfd7 Fixed indenting 2011-05-27 16:04:32 +02:00
arjen
499282f278 [SwiftmailerBundle] Added support for AntiFloodPlugin 2011-05-27 15:03:46 +02:00
Florent Cailhol
f052d2d439 Made the profiler toolbar loading an XML HTTP request. 2011-05-27 02:14:03 -07:00
Fabien Potencier
923c234160 fixed form_rest() for embedded forms (refs #1051, #1115) 2011-05-27 08:12:39 +02:00
Johannes Schmitt
746151c783 added another test case 2011-05-27 07:37:54 +02:00
Fabien Potencier
32ac29a73d Merge remote branch 'schmittjoh/functionalTests'
* schmittjoh/functionalTests:
  [SecurityBundle] bootstrapped functional test suite
2011-05-27 07:35:13 +02:00
Fabien Potencier
da09411e14 [SwiftmailerBundle] optimized code 2011-05-27 07:33:04 +02:00
Johannes Schmitt
1ca4dcad91 [SecurityBundle] bootstrapped functional test suite 2011-05-27 01:07:04 +02:00
Fabien Potencier
5ed136b3f1 [SwiftMailer] optimized configuration
* Removed the requirement of the init.php file when getting the Swift_Mailer object (must now be done via autoloading -- see Symfony SE)
* Changed the data collector to avoid loading Swiftmailer when no email has been send
2011-05-26 22:29:28 +02:00
Fabien Potencier
a0462593eb [DoctrineBundle] extracted code from Doctrine commands 2011-05-26 16:39:36 +02:00
Jordi Boggiano
ba8758b4c2 [EventDispatcher] Removed temporary code 2011-05-26 11:56:59 +02:00
Jordi Boggiano
3f6407ccd1 [FrameworkBundle] Improved code readability 2011-05-26 11:55:11 +02:00