{"pull_request":{"user":{"id":439401,"login":"stof","url":"https://api.github.com/users/stof","avatar_url":"https://secure.gravatar.com/avatar/7894bbdf1c05b18a1444ad8c76c9d583?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7894bbdf1c05b18a1444ad8c76c9d583"},"title":"[DoctrineBridge] Refactor EntityChoiceList","created_at":"2011-12-19T17:09:43Z","merged_at":null,"review_comments":0,"updated_at":"2011-12-19T17:09:43Z","state":"open","id":610481,"patch_url":"https://github.com/symfony/symfony/pull/2921.patch","html_url":"https://github.com/symfony/symfony/pull/2921","closed_at":null,"deletions":160,"mergeable":null,"issue_url":"https://github.com/symfony/symfony/issues/2921","base":{"user":{"id":143937,"login":"symfony","url":"https://api.github.com/users/symfony","avatar_url":"https://secure.gravatar.com/avatar/bc6312a5b583c4258c9fad11122c6e31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"bc6312a5b583c4258c9fad11122c6e31"},"ref":"master","sha":"694c74da30fd697af42c11f2e3bddfc69afdcba0","repo":{"created_at":"2010-01-04T14:21:21Z","watchers":3598,"git_url":"git://github.com/symfony/symfony.git","open_issues":189,"updated_at":"2011-12-19T16:52:22Z","fork":false,"id":458058,"language":"PHP","html_url":"https://github.com/symfony/symfony","name":"symfony","description":"The Symfony2 PHP framework","master_branch":null,"forks":934,"url":"https://api.github.com/repos/symfony/symfony","ssh_url":"git@github.com:symfony/symfony.git","clone_url":"https://github.com/symfony/symfony.git","pushed_at":"2011-12-19T16:52:19Z","owner":{"id":143937,"login":"symfony","url":"https://api.github.com/users/symfony","avatar_url":"https://secure.gravatar.com/avatar/bc6312a5b583c4258c9fad11122c6e31?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"bc6312a5b583c4258c9fad11122c6e31"},"homepage":"symfony.com","size":85112,"private":false,"svn_url":"https://svn.github.com/symfony/symfony"},"label":"symfony:master"},"body":"Bug fix: no\r\nFeature addition: yes\r\nBackwards compatibility break: no (99%)\r\nSymfony2 tests pass: yes\r\n\r\nThis decouples the ORM from the EntityChoiceList and makes its much more flexible. Instead of having a \"query_builder\" to do smart or complex queries you can now create \"loader\" instances which can arbitrarily help loading entities.\r\n\r\nAdditionally i removed lots of code that was unnecessary and not used by the current code.\r\n\r\nThere is a slight BC break in that the EntityChoiceList class is now accepting an EntityLoaderInterface instead of a querybuilder. However that class was nested inside the EntityType and should not be widely used or overwritten.\r\n\r\nThe abstract class DoctrineType is meant to be used as base class by other Doctrine project to share the logic by simply using a different type name and a different loader implementation.\r\n\r\nThis PR replaces #2728.","commits":7,"additions":293,"number":2921,"url":"https://api.github.com/repos/symfony/symfony/pulls/2921","diff_url":"https://github.com/symfony/symfony/pull/2921.diff","_links":{"review_comments":{"href":"https://api.github.com/repos/symfony/symfony/pulls/2921/comments"},"html":{"href":"https://github.com/symfony/symfony/pull/2921"},"self":{"href":"https://api.github.com/repos/symfony/symfony/pulls/2921"},"comments":{"href":"https://api.github.com/repos/symfony/symfony/issues/2921/comments"}},"merged_by":null,"comments":0,"head":{"user":{"id":439401,"login":"stof","url":"https://api.github.com/users/stof","avatar_url":"https://secure.gravatar.com/avatar/7894bbdf1c05b18a1444ad8c76c9d583?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7894bbdf1c05b18a1444ad8c76c9d583"},"ref":"doctrine_choice_list","sha":"200ed5490b3ee33dafc465ea2f7ebc53a2f29fad","repo":{"created_at":"2011-02-22T19:38:18Z","watchers":2,"git_url":"git://github.com/stof/symfony.git","open_issues":0,"updated_at":"2011-12-19T17:07:32Z","fork":true,"id":1399043,"language":"PHP","html_url":"https://github.com/stof/symfony","name":"symfony","description":"The Symfony2 PHP framework (PHP 5.3 only -- not yet stable) -- documentation for master is at http://docs.symfony-reloaded.org/master/","master_branch":null,"forks":0,"url":"https://api.github.com/repos/stof/symfony","ssh_url":"git@github.com:stof/symfony.git","clone_url":"https://github.com/stof/symfony.git","pushed_at":"2011-12-19T17:07:32Z","owner":{"id":439401,"login":"stof","url":"https://api.github.com/users/stof","avatar_url":"https://secure.gravatar.com/avatar/7894bbdf1c05b18a1444ad8c76c9d583?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"7894bbdf1c05b18a1444ad8c76c9d583"},"homepage":"http://www.symfony-reloaded.org/","size":176,"private":false,"svn_url":"https://svn.github.com/stof/symfony"},"label":"stof:doctrine_choice_list"},"changed_files":9,"merged":false},"number":2921,"action":"opened"}