Bonjour,

J'ai un peu de mal avec sonata ....

J'aimerai personnaliser la création et l'édition d'une entité License.

L'entité License possède un attribut numLicense.

La class licenseAdmin :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
class LicenseAdmin extends Admin
{
    protected $baseRouteName = 'sonata_license';
 
    // Fields to be shown on create/edit forms
    protected function configureFormFields(FormMapper $formMapper)
    {
        $formMapper
            ->add('numLicense', 'text', 
                array('label' => 'Numéro de License', 'attr' => array('readonly' => 'readonly'))
            )
            ->add('user',  'entity', array('class' => 'ApplicationSonataUserBundle:User', 'property' => 'username'))
        ;
    }
 
    // Fields to be shown on filter forms
    protected function configureDatagridFilters(DatagridMapper $datagridMapper)
    {
        $datagridMapper
            ->add('numLicense')
        ;
    }
 
    // Fields to be shown on lists
    protected function configureListFields(ListMapper $listMapper)
    {
        $listMapper
            ->addIdentifier('numLicense')
        ;
    }
}
J'aimerai que dans le panneau d'administration de Sonata -> Ajouter une License :

Le formulaire possède un bouton générer un numéro de licence qui aura pour effet de remplir le champ numéro de licence.

Comment procéder ? Il faut créer un type de champ personnalisé ? ou il existe une méthode plus adaptée ?