UserAdmin.php 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace Muzich\AdminBundle\Admin;
  3. use Sonata\AdminBundle\Admin\Admin;
  4. use Sonata\AdminBundle\Form\FormMapper;
  5. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  6. use Sonata\AdminBundle\Datagrid\ListMapper;
  7. use FOS\UserBundle\Model\UserManagerInterface;
  8. class UserAdmin extends Admin
  9. {
  10. protected $userManager;
  11. protected function configureListFields(ListMapper $listMapper)
  12. {
  13. $listMapper
  14. ->addIdentifier('username')
  15. ->add('email')
  16. ->add('enabled')
  17. ->add('_action', 'actions', array(
  18. 'actions' => array(
  19. 'view' => array(),
  20. 'edit' => array(),
  21. )
  22. ))
  23. ;
  24. }
  25. protected function configureDatagridFilters(DatagridMapper $datagrid)
  26. {
  27. $datagrid
  28. ->add('username')
  29. ->add('email')
  30. ->add('enabled')
  31. ;
  32. }
  33. //
  34. // protected function configureFormFields(FormMapper $formMapper)
  35. // {
  36. // $formMapper
  37. // ->add('email')
  38. // ->add('enabled', null, array('required' => false))
  39. // //->add('password')
  40. // ->add('confirmationToken', null, array('required' => false))
  41. // ;
  42. // }
  43. //
  44. //// public function validate(ErrorElement $errorElement, $object)
  45. //// {
  46. ////
  47. //// }
  48. protected function configureFormFields(FormMapper $formMapper)
  49. {
  50. $formMapper
  51. ->with('General')
  52. ->add('username')
  53. ->add('email')
  54. ->add('plainPassword', 'text')
  55. ->end()
  56. // ->with('Groups')
  57. // ->add('groups', 'sonata_type_model', array('required' => false))
  58. // ->end()
  59. ->with('Management')
  60. // ->add('roles', 'sonata_security_roles', array( 'multiple' => true))
  61. ->add('locked', null, array('required' => false))
  62. ->add('expired', null, array('required' => false))
  63. ->add('enabled', null, array('required' => false))
  64. ->add('credentialsExpired', null, array('required' => false))
  65. ->end()
  66. ;
  67. }
  68. public function preUpdate($user)
  69. {
  70. $this->getUserManager()->updateCanonicalFields($user);
  71. $this->getUserManager()->updatePassword($user);
  72. }
  73. public function setUserManager(UserManagerInterface $userManager)
  74. {
  75. $this->userManager = $userManager;
  76. }
  77. /**
  78. * @return UserManagerInterface
  79. */
  80. public function getUserManager()
  81. {
  82. return $this->userManager;
  83. }
  84. }