diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index 0bf9c7cd30c..6b4af417ece 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -70,12 +70,16 @@ $label=$somme=$nb=array(); $totalnb=$totalsum=0; $sql = "SELECT tf.code, tf.label, count(de.rowid) as nb, sum(de.total_ht) as km"; $sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d, ".MAIN_DB_PREFIX."expensereport_det as de, ".MAIN_DB_PREFIX."c_type_fees as tf"; -$sql.= " WHERE de.fk_expensereport = d.rowid AND de.fk_c_type_fees = tf.id"; +$sql.= " WHERE de.fk_expensereport = d.rowid AND d.entity IN (".getEntity('expensereport', 1)." AND de.fk_c_type_fees = tf.id"; // RESTRICT RIGHTS -if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous)) +if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous) + && (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || empty($user->rights->expensereport->writeall_advance))) { - $sql.= " AND d.fk_user_author IN (".join(',',$childids).")\n"; + $childids = $user->getAllChildIds(); + $childids[]=$user->id; + $sql.= " AND d.fk_user_author IN (".join(',',$childids).")\n"; } + $sql.= " GROUP BY tf.code, tf.label"; $result = $db->query($sql);