FIX compatibility with multicompany (avoid duplicate data)

This commit is contained in:
Regis Houssin 2020-02-03 11:46:18 +01:00
parent 2813c9d4b4
commit bc3a210d12

View File

@ -1658,19 +1658,19 @@ class Holiday extends CommonObject
{
// Si utilisateur de Dolibarr
$sql = "SELECT u.rowid";
$sql = "SELECT DISTINCT u.rowid";
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
if (! empty($conf->multicompany->enabled) && ! empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE))
{
$sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ug";
$sql.= " WHERE (ug.fk_user = u.rowid";
$sql.= " AND ug.entity = ".$conf->entity.")";
$sql.= " OR u.admin = 1";
$sql.= ",".MAIN_DB_PREFIX."usergroup_user as ug";
$sql.= " WHERE ((ug.fk_user = u.rowid";
$sql.= " AND ug.entity IN (".getEntity('user')."))";
$sql.= " OR u.entity = 0)"; // Show always superadmin
}
else
{
$sql.= " WHERE u.entity IN (0,".$conf->entity.")";
$sql.= " WHERE u.entity IN (".getEntity('user').")";
}
$sql.= " AND u.statut > 0";
if ($filters) $sql.=$filters;
@ -1754,18 +1754,20 @@ class Holiday extends CommonObject
// List for Dolibarr users
if ($type)
{
$sql = "SELECT u.rowid, u.lastname, u.firstname, u.gender, u.photo, u.employee, u.statut, u.fk_user";
$sql = "SELECT DISTINCT u.rowid, u.lastname, u.firstname, u.gender, u.photo, u.employee, u.statut, u.fk_user";
$sql.= " FROM ".MAIN_DB_PREFIX."user as u";
if (! empty($conf->multicompany->enabled) && ! empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE))
{
$sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ug";
$sql.= " WHERE (ug.fk_user = u.rowid";
$sql.= " AND ug.entity = ".$conf->entity.")";
$sql.= " OR u.admin = 1";
$sql.= ",".MAIN_DB_PREFIX."usergroup_user as ug";
$sql.= " WHERE ((ug.fk_user = u.rowid";
$sql.= " AND ug.entity IN (".getEntity('user')."))";
$sql.= " OR u.entity = 0)"; // Show always superadmin
}
else
$sql.= " WHERE u.entity IN (0,".$conf->entity.")";
{
$sql.= " WHERE u.entity IN (".getEntity('user').")";
}
$sql.= " AND u.statut > 0";
if ($filters) $sql.=$filters;