MDL-37806 Add new workshop class method to return pending assessments

This is a simple wrapper around workshop::get_assessments_by_reviewer()
that filters assigned assessments and returns just those that were not
graded by the reviewer yet.
This commit is contained in:
David Mudrák 2013-01-31 18:13:26 +01:00
parent 1918a2452e
commit 0001eea6dd

View File

@ -1169,6 +1169,37 @@ class workshop {
return $DB->get_records_sql($sql, $params);
}
/**
* Get allocated assessments not graded yet by the given reviewer
*
* @see self::get_assessments_by_reviewer()
* @param int $reviewerid the reviewer id
* @param null|int|array $exclude optional assessment id (or list of them) to be excluded
* @return array
*/
public function get_pending_assessments_by_reviewer($reviewerid, $exclude = null) {
$assessments = $this->get_assessments_by_reviewer($reviewerid);
foreach ($assessments as $id => $assessment) {
if (!is_null($assessment->grade)) {
unset($assessments[$id]);
continue;
}
if (!empty($exclude)) {
if (is_array($exclude) and in_array($id, $exclude)) {
unset($assessments[$id]);
continue;
} else if ($id == $exclude) {
unset($assessments[$id]);
continue;
}
}
}
return $assessments;
}
/**
* Allocate a submission to a user for review
*