Fix report filter by skill for DRH role - refs BT#9084

1.10.x
Angel Fernando Quiroz Campos 11 years ago
parent 38c13e8d9f
commit 7358a649e5
  1. 10
      main/inc/lib/skill.lib.php
  2. 6
      plugin/advancedskills/report.php

@ -1117,7 +1117,7 @@ class Skill extends Model
* @param int $skillId The skill id
* @return array The users list
*/
public function listUsersWhoAchieved($skillId)
public function listUsersWhoAchieved($skillId, $filterByUsers = array())
{
$skillId = intval($skillId);
@ -1136,8 +1136,12 @@ class Skill extends Model
. "ON sru.user_id = user.user_id "
. "INNER JOIN {$this->table} "
. "ON sru.skill_id = skill.id "
. "WHERE skill.id = $skillId";
. "WHERE skill.id = $skillId ";
if (!empty($filterByUsers)) {
$sql .= "AND user.user_id IN (" . implode(', ', $filterByUsers) . ")";
}
$result = Database::query($sql);
while ($row = Database::fetch_assoc($result)) {

@ -132,10 +132,14 @@ if ($isStudent) {
$userId, STUDENT, false, false, false, null, null, null, null, null, null, DRH
);
$usersFilter = array();
foreach ($students as $student) {
$tableRows = $objSkill->listUsersWhoAchieved($selectedSkill, $student['user_id']);
$usersFilter[] = $student['user_id'];
}
$tableRows = $objSkill->listUsersWhoAchieved($selectedSkill, $usersFilter);
break;
}

Loading…
Cancel
Save