Keine Beschreibung

Thomas Rabaix 61510c9eca [orm] make the QueryProxy behave like Doctrine1 with join and limit close vor 14 Jahren
Admin e44feceb42 Fix filter binding, clean up some codes vor 14 Jahren
Builder e44feceb42 Fix filter binding, clean up some codes vor 14 Jahren
Command 56ad599cb8 fix the Explain command vor 14 Jahren
Controller 95ad431536 Restore the deleted feature on one to many vor 14 Jahren
Datagrid 61510c9eca [orm] make the QueryProxy behave like Doctrine1 with join and limit close vor 14 Jahren
DependencyInjection 736aae0c85 rename prefix 'sonata_admin' => 'sonata.admin', move services declaration to xml files vor 14 Jahren
Filter e44feceb42 Fix filter binding, clean up some codes vor 14 Jahren
Form b8a7ae58ce Add an orm independant MergeCollectionListener vor 14 Jahren
Model 61510c9eca [orm] make the QueryProxy behave like Doctrine1 with join and limit close vor 14 Jahren
Resources 100b5e5538 added asset() call to fix incorrect paths for images representing boolean values in the default list vor 14 Jahren
Route 960104e28e fix CS vor 14 Jahren
Tests b0df44f989 add more Interfaces, add ModelManager to abstract the persistency layer vor 14 Jahren
Twig e44feceb42 Fix filter binding, clean up some codes vor 14 Jahren
.gitignore 6c6fb91c23 update documentation vor 14 Jahren
CHANGES e44feceb42 Fix filter binding, clean up some codes vor 14 Jahren
CREDITS e0e3e92a69 update README, add missing type vor 14 Jahren
LICENSE 5b24344281 add jquery.form.js to allows file upload from a modal window vor 14 Jahren
README.md 56ad599cb8 fix the Explain command vor 14 Jahren
SonataAdminBundle.php a17cae0341 The admin classes are now non shared service defined in the DIC vor 14 Jahren
phpunit.xml.dist 51fb49c0ca update references from BaseApplicationBundle to AdminBundle vor 14 Jahren

README.md

AdminBundle - The missing Symfony2 Admin Generator

Quick example

Defining an Admin class is pretty easy: simply define fields as properties

class PostAdmin extends Admin
{
    protected $form = array(
        'author' => array('edit' => 'list'),
        'enabled' => array('form_field_options' => array('required' => false)),
        'title',
        'abstract',
        'content',
        'tags'     => array('form_field_options' => array('expanded' => true)),
        'commentsCloseAt',
        'commentsEnabled' => array('form_field_options' => array('required' => false)),
    );

    protected $list = array(
        'title' => array('identifier' => true),
        'author',
        'enabled',
        'commentsEnabled',
    );

    protected $filter = array(
        'title',
        'author',
        'enabled',
    );
}

Screenshots : http://www.dropbox.com/gallery/581816/2/BaseApplicationBundle/preview?h=59b2e8

Of course, power users will be happy as an Admin class is very flexible as all dependencies are injected by the DIC.

Features

  • Dashboard

  • List

    • Automatic sort
    • Link to associated admin (Post => User)
    • Custom templates
    • Row Action : edit, view, ...
    • Batch Action
    • Clever row visualisation : boolean values are represented with 'check picture'
    • Filter
    • Pagination
  • Edit/Create

    • Inline edition
    • Association management (create related model with + icon)
    • Group fields
    • Sortable option
    • Modal window to select model (when the list can be important)
    • Dynamic form on [one|many]-to-many association (add new element)
  • Templating

    • base templates (field, list, filter) can be overwritten
    • layout templates can be defined into the Service Container
  • Others

    • Nested Admin, ie /news/post/5/comment/list : filter and create comments only for the post with id=5
    • Contextual Breadcrumb
    • persistent parameters across an Admin
    • side menu option
    • Translated into 7 languages : DE, EN, ES, FR, NL, PL and RU.
    • Built to be extended
    • Explain command line utility

More information

You need to go to the Ressources/doc folder where the reStructuredText documentation is available. Please note the Github preview might break and hide some content.

Usage examples

TODO

  • create the ODM version
  • save filter criteria
  • export list