mirror of
https://github.com/moodle/moodle.git
synced 2025-03-13 20:26:32 +01:00
Merge branch 'MDL-54873-master' of git://github.com/andrewnicols/moodle
This commit is contained in:
commit
bb75b82e21
@ -176,7 +176,15 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
|
||||
$from .= 'LEFT JOIN {assign_user_flags} uf
|
||||
ON u.id = uf.userid
|
||||
AND uf.assignment = :assignmentid3';
|
||||
AND uf.assignment = :assignmentid3 ';
|
||||
|
||||
if (!empty($this->assignment->get_instance()->blindmarking)) {
|
||||
$from .= 'LEFT JOIN {assign_user_mapping} um
|
||||
ON u.id = um.userid
|
||||
AND um.assignment = :assignmentid4 ';
|
||||
$params['assignmentid4'] = (int)$this->assignment->get_instance()->id;
|
||||
$fields .= ', um.id as recordid ';
|
||||
}
|
||||
|
||||
$userparams = array();
|
||||
$userindex = 0;
|
||||
@ -463,8 +471,10 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
* @return string
|
||||
*/
|
||||
public function col_recordid(stdClass $row) {
|
||||
return get_string('hiddenuser', 'assign') .
|
||||
$this->assignment->get_uniqueid_for_user($row->userid);
|
||||
if (empty($row->recordid)) {
|
||||
$row->recordid = $this->assignment->get_uniqueid_for_user($row->userid);
|
||||
}
|
||||
return get_string('hiddenuser', 'assign') . $row->recordid;
|
||||
}
|
||||
|
||||
|
||||
@ -838,7 +848,10 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
'action' => 'grader');
|
||||
|
||||
if ($this->assignment->is_blind_marking()) {
|
||||
$urlparams['blindid'] = $this->assignment->get_uniqueid_for_user($row->userid);
|
||||
if (empty($row->recordid)) {
|
||||
$row->recordid = $this->assignment->get_uniqueid_for_user($row->userid);
|
||||
}
|
||||
$urlparams['blindid'] = $row->recordid;
|
||||
} else {
|
||||
$urlparams['userid'] = $row->userid;
|
||||
}
|
||||
@ -1015,7 +1028,10 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
'action' => 'grader');
|
||||
|
||||
if ($this->assignment->is_blind_marking()) {
|
||||
$urlparams['blindid'] = $this->assignment->get_uniqueid_for_user($row->userid);
|
||||
if (empty($row->recordid)) {
|
||||
$row->recordid = $this->assignment->get_uniqueid_for_user($row->userid);
|
||||
}
|
||||
$urlparams['blindid'] = $row->recordid;
|
||||
} else {
|
||||
$urlparams['userid'] = $row->userid;
|
||||
}
|
||||
|
@ -649,13 +649,14 @@ function assign_print_recent_activity($course, $viewfullnames, $timestart) {
|
||||
|
||||
$dbparams = array($timestart, $course->id, 'assign', ASSIGN_SUBMISSION_STATUS_SUBMITTED);
|
||||
$namefields = user_picture::fields('u', null, 'userid');
|
||||
if (!$submissions = $DB->get_records_sql("SELECT asb.id, asb.timemodified, cm.id AS cmid,
|
||||
if (!$submissions = $DB->get_records_sql("SELECT asb.id, asb.timemodified, cm.id AS cmid, um.id as recordid,
|
||||
$namefields
|
||||
FROM {assign_submission} asb
|
||||
JOIN {assign} a ON a.id = asb.assignment
|
||||
JOIN {course_modules} cm ON cm.instance = a.id
|
||||
JOIN {modules} md ON md.id = cm.module
|
||||
JOIN {user} u ON u.id = asb.userid
|
||||
LEFT JOIN {assign_user_mapping} um ON um.userid = u.id AND um.assignment = a.id
|
||||
WHERE asb.timemodified > ? AND
|
||||
asb.latest = 1 AND
|
||||
a.course = ? AND
|
||||
@ -735,7 +736,10 @@ function assign_print_recent_activity($course, $viewfullnames, $timestart) {
|
||||
// Obscure first and last name if blind marking enabled.
|
||||
if ($assign->is_blind_marking()) {
|
||||
$submission->firstname = get_string('participant', 'mod_assign');
|
||||
$submission->lastname = $assign->get_uniqueid_for_user($submission->userid);
|
||||
if (empty($submission->recordid)) {
|
||||
$submission->recordid = $assign->get_uniqueid_for_user($submission->userid);
|
||||
}
|
||||
$submission->lastname = $submission->recordid;
|
||||
}
|
||||
print_recent_activity_note($submission->timemodified,
|
||||
$submission,
|
||||
|
@ -1470,7 +1470,8 @@ class assign {
|
||||
$params['assignmentid1'] = $assignid;
|
||||
$params['assignmentid2'] = $assignid;
|
||||
|
||||
$sql = 'SELECT u.id, s.status, s.timemodified AS stime, g.timemodified AS gtime, g.grade FROM {user} u
|
||||
$fields = 'SELECT u.id, s.status, s.timemodified AS stime, g.timemodified AS gtime, g.grade';
|
||||
$from = ' FROM {user} u
|
||||
LEFT JOIN {assign_submission} s
|
||||
ON u.id = s.userid
|
||||
AND s.assignment = :assignmentid1
|
||||
@ -1479,7 +1480,18 @@ class assign {
|
||||
ON u.id = g.userid
|
||||
AND g.assignment = :assignmentid2
|
||||
AND g.attemptnumber = s.attemptnumber
|
||||
WHERE u.id ' . $insql;
|
||||
';
|
||||
$where = ' WHERE u.id ' . $insql;
|
||||
|
||||
if (!empty($this->get_instance()->blindmarking)) {
|
||||
$from .= 'LEFT JOIN {assign_user_mapping} um
|
||||
ON u.id = um.userid
|
||||
AND um.assignment = :assignmentid3 ';
|
||||
$params['assignmentid3'] = $assignid;
|
||||
$fields .= ', um.id as recordid ';
|
||||
}
|
||||
|
||||
$sql = "$fields $from $where";
|
||||
|
||||
$records = $DB->get_records_sql($sql, $params);
|
||||
|
||||
@ -1899,13 +1911,14 @@ class assign {
|
||||
// - If marking workflow is not enabled, the grade was updated in the past 24 hours, or
|
||||
// if marking workflow is enabled, the workflow state is at 'released'.
|
||||
$sql = "SELECT g.id as gradeid, a.course, a.name, a.blindmarking, a.revealidentities,
|
||||
g.*, g.timemodified as lastmodified, cm.id as cmid
|
||||
g.*, g.timemodified as lastmodified, cm.id as cmid, um.id as recordid
|
||||
FROM {assign} a
|
||||
JOIN {assign_grades} g ON g.assignment = a.id
|
||||
LEFT JOIN {assign_user_flags} uf ON uf.assignment = a.id AND uf.userid = g.userid
|
||||
JOIN {course_modules} cm ON cm.course = a.course AND cm.instance = a.id
|
||||
JOIN {modules} md ON md.id = cm.module AND md.name = 'assign'
|
||||
JOIN {grade_items} gri ON gri.iteminstance = a.id AND gri.courseid = a.course AND gri.itemmodule = md.name
|
||||
LEFT JOIN {assign_user_mapping} um ON g.id = um.userid AND um.assignment = a.id
|
||||
WHERE ((a.markingworkflow = 0 AND g.timemodified >= :yesterday AND g.timemodified <= :today) OR
|
||||
(a.markingworkflow = 1 AND uf.workflowstate = :wfreleased)) AND
|
||||
uf.mailed = 0 AND gri.hidden = 0
|
||||
@ -2005,7 +2018,11 @@ class assign {
|
||||
|
||||
$uniqueid = 0;
|
||||
if ($submission->blindmarking && !$submission->revealidentities) {
|
||||
$uniqueid = self::get_uniqueid_for_user_static($submission->assignment, $user->id);
|
||||
if (empty($submission->recordid)) {
|
||||
$uniqueid = self::get_uniqueid_for_user_static($submission->assignment, $user->id);
|
||||
} else {
|
||||
$uniqueid = $submission->recordid;
|
||||
}
|
||||
}
|
||||
$showusers = $submission->blindmarking && !$submission->revealidentities;
|
||||
self::send_assignment_notification($grader,
|
||||
@ -3921,7 +3938,11 @@ class assign {
|
||||
public function fullname($user) {
|
||||
if ($this->is_blind_marking()) {
|
||||
$hasviewblind = has_capability('mod/assign:viewblinddetails', $this->get_context());
|
||||
$uniqueid = $this->get_uniqueid_for_user($user->id);
|
||||
if (empty($user->recordid)) {
|
||||
$uniqueid = $this->get_uniqueid_for_user($user->id);
|
||||
} else {
|
||||
$uniqueid = $user->recordid;
|
||||
}
|
||||
if ($hasviewblind) {
|
||||
return get_string('participant', 'assign') . ' ' . $uniqueid . ' (' . fullname($user) . ')';
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user