diff --git a/htdocs/user/class/usergroup.class.php b/htdocs/user/class/usergroup.class.php index a9884ca59d1..250fec08c30 100644 --- a/htdocs/user/class/usergroup.class.php +++ b/htdocs/user/class/usergroup.class.php @@ -100,6 +100,7 @@ class UserGroup extends CommonObject public $members = array(); // Array of users public $nb_rights; // Number of rights granted to the user + public $nb_users; // Number of users in the group private $_tab_loaded = array(); // Array of cache of already loaded permissions @@ -151,7 +152,7 @@ class UserGroup extends CommonObject * @param boolean $load_members Load all members of the group * @return int <0 if KO, >0 if OK */ - public function fetch($id = '', $groupname = '', $load_members = true) + public function fetch($id = '', $groupname = '', $load_members = false) { global $conf; @@ -166,7 +167,7 @@ class UserGroup extends CommonObject if ($result) { if ($load_members) { - $this->members = $this->listUsersForGroup(); + $this->members = $this->listUsersForGroup(); // This make a lot of subrequests } return 1; @@ -237,7 +238,7 @@ class UserGroup extends CommonObject $ret = array(); - $sql = "SELECT u.rowid"; + $sql = "SELECT u.rowid, u.login, u.lastname, u.firstname, u.photo, u.fk_soc, u.entity, u.employee, u.email"; if (!empty($this->id)) { $sql .= ", ug.entity as usergroup_entity"; } @@ -263,12 +264,23 @@ class UserGroup extends CommonObject dol_syslog(get_class($this)."::listUsersForGroup", LOG_DEBUG); $resql = $this->db->query($sql); + if ($resql) { while ($obj = $this->db->fetch_object($resql)) { if (!array_key_exists($obj->rowid, $ret)) { if ($mode != 1) { $newuser = new User($this->db); - $newuser->fetch($obj->rowid); + //$newuser->fetch($obj->rowid); // We are inside a loop, no subrequests inside a loop + $newuser->id = $obj->rowid; + $newuser->login = $obj->login; + $newuser->photo = $obj->photo; + $newuser->lastname = $obj->lastname; + $newuser->firstname = $obj->firstname; + $newuser->email = $obj->email; + $newuser->socid = $obj->fk_soc; + $newuser->entity = $obj->entity; + $newuser->employee = $obj->employee; + $ret[$obj->rowid] = $newuser; } else { $ret[$obj->rowid] = $obj->rowid; @@ -936,10 +948,10 @@ class UserGroup extends CommonObject $return .= '