浏览代码

Fix bugs with groups, tweak required fields

Thomas Rabaix 13 年之前
父节点
当前提交
4399b1282d
共有 3 个文件被更改,包括 34 次插入7 次删除
  1. 1 1
      Admin/Entity/GroupAdmin.php
  2. 2 2
      Admin/Entity/UserAdmin.php
  3. 31 4
      Entity/BaseUser.php

+ 1 - 1
Admin/Entity/GroupAdmin.php

@@ -44,7 +44,7 @@ class GroupAdmin extends Admin
     {
         $formMapper
             ->add('name')
-            ->add('roles', 'sonata_security_roles', array( 'multiple' => true))
+            ->add('roles', 'sonata_security_roles', array( 'multiple' => true, 'required' => false))
         ;
     }
 }

+ 2 - 2
Admin/Entity/UserAdmin.php

@@ -52,13 +52,13 @@ class UserAdmin extends Admin
             ->with('General')
                 ->add('username')
                 ->add('email')
-                ->add('plainPassword', 'text')
+                ->add('plainPassword', 'text', array('required' => false))
             ->end()
             ->with('Groups')
                 ->add('groups', 'sonata_type_model', array('required' => false))
             ->end()
             ->with('Management')
-                ->add('roles', 'sonata_security_roles', array( 'multiple' => true))
+                ->add('roles', 'sonata_security_roles', array( 'multiple' => true, 'required' => false))
                 ->add('locked', null, array('required' => false))
                 ->add('expired', null, array('required' => false))
                 ->add('enabled', null, array('required' => false))

+ 31 - 4
Entity/BaseUser.php

@@ -22,7 +22,8 @@ class BaseUser extends AbstractedUser
     /**
      * Set createdAt
      *
-     * @param \DateTime $createdAt
+     * @param \DateTime|null $createdAt
+     * @return void
      */
     public function setCreatedAt(\DateTime $createdAt = null)
     {
@@ -32,7 +33,7 @@ class BaseUser extends AbstractedUser
     /**
      * Get createdAt
      *
-     * @return \DateTime $createdAt
+     * @return \DateTime|null
      */
     public function getCreatedAt()
     {
@@ -42,7 +43,8 @@ class BaseUser extends AbstractedUser
     /**
      * Set updatedAt
      *
-     * @param \DateTime $updatedAt
+     * @param \DateTime|null $updatedAt
+     * @return void
      */
     public function setUpdatedAt(\DateTime $updatedAt = null)
     {
@@ -52,19 +54,25 @@ class BaseUser extends AbstractedUser
     /**
      * Get updatedAt
      *
-     * @return \DateTime $updatedAt
+     * @return \DateTime|null
      */
     public function getUpdatedAt()
     {
         return $this->updatedAt;
     }
 
+    /**
+     * @return void
+     */
     public function prePersist()
     {
         $this->createdAt = new \DateTime;
         $this->updatedAt = new \DateTime;
     }
 
+    /**
+     * @return void
+     */
     public function preUpdate()
     {
         $this->updatedAt = new \DateTime;
@@ -78,13 +86,32 @@ class BaseUser extends AbstractedUser
         return $this->credentialsExpireAt;
     }
 
+    /**
+     * @param \DateTime|null $date
+     * @return void
+     */
     public function setCredentialsExpireAt(\DateTime $date = null)
     {
         $this->credentialsExpireAt = $date;
     }
 
+    /**
+     * @return string
+     */
     public function __toString()
     {
         return $this->getUsername() ?: '-';
     }
+
+    /**
+     * Set related groups
+     *
+     * @param aarrat $groups
+     */
+    public function setGroups($groups)
+    {
+        foreach ($groups as $group){
+            $this->addGroup($group);
+        }
+    }
 }