Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'MDL-35127_m24' of git://github.com/merrill-oakland/mood…

…le into MDL-35127-24
  • Loading branch information...
commit 507507352b8f3bab89e776166a5f3c621a0c43b3 2 parents f881b74 + 37cb15e
@damyon damyon authored
Showing with 36 additions and 33 deletions.
  1. +36 −33 mod/assign/lib.php
View
69 mod/assign/lib.php
@@ -330,38 +330,6 @@ function assign_print_overview($courses, &$htmlarray) {
//
list($sqlassignmentids, $assignmentidparams) = $DB->get_in_or_equal($assignmentids);
- // Build up and array of unmarked submissions indexed by assignment id/ userid
- // for use where the user has grading rights on assignment.
- $dbparams = array_merge(array(ASSIGN_SUBMISSION_STATUS_SUBMITTED), $assignmentidparams);
- $rs = $DB->get_recordset_sql('SELECT
- s.assignment as assignment,
- s.userid as userid,
- s.id as id,
- s.status as status,
- g.timemodified as timegraded
- FROM {assign_submission} s
- LEFT JOIN {assign_grades} g ON
- s.userid = g.userid AND
- s.assignment = g.assignment
- WHERE
- ( g.timemodified is NULL OR
- s.timemodified > g.timemodified ) AND
- s.timemodified IS NOT NULL AND
- s.status = ? AND
- s.assignment ' . $sqlassignmentids, $dbparams);
-
- $unmarkedsubmissions = array();
- foreach ($rs as $rd) {
- $unmarkedsubmissions[$rd->assignment][$rd->userid] = $rd->id;
- }
- $rs->close();
-
-
- // get all user submissions, indexed by assignment id
- $mysubmissions = $DB->get_records_sql("SELECT a.id AS assignment, a.nosubmissions AS nosubmissions, g.timemodified AS timemarked, g.grader AS grader, g.grade AS grade, s.status AS status
- FROM {assign} a LEFT JOIN {assign_grades} g ON g.assignment = a.id AND g.userid = ? LEFT JOIN {assign_submission} s ON s.assignment = a.id AND s.userid = ?
- WHERE a.id $sqlassignmentids", array_merge(array($USER->id, $USER->id), $assignmentidparams));
-
foreach ($assignments as $assignment) {
// Do not show assignments that are not open
if (!in_array($assignment->id, $assignmentids)) {
@@ -386,7 +354,33 @@ function assign_print_overview($courses, &$htmlarray) {
}
$context = context_module::instance($assignment->coursemodule);
if (has_capability('mod/assign:grade', $context)) {
-
+ if (!isset($unmarkedsubmissions)) {
+ // Build up and array of unmarked submissions indexed by assignment id/ userid
+ // for use where the user has grading rights on assignment.
+ $dbparams = array_merge(array(ASSIGN_SUBMISSION_STATUS_SUBMITTED), $assignmentidparams);
+ $rs = $DB->get_recordset_sql('SELECT
+ s.assignment as assignment,
+ s.userid as userid,
+ s.id as id,
+ s.status as status,
+ g.timemodified as timegraded
+ FROM {assign_submission} s
+ LEFT JOIN {assign_grades} g ON
+ s.userid = g.userid AND
+ s.assignment = g.assignment
+ WHERE
+ ( g.timemodified is NULL OR
+ s.timemodified > g.timemodified ) AND
+ s.timemodified IS NOT NULL AND
+ s.status = ? AND
+ s.assignment ' . $sqlassignmentids, $dbparams);
+
+ $unmarkedsubmissions = array();
+ foreach ($rs as $rd) {
+ $unmarkedsubmissions[$rd->assignment][$rd->userid] = $rd->id;
+ }
+ $rs->close();
+ }
// count how many people can submit
$submissions = 0; // init
if ($students = get_enrolled_users($context, 'mod/assign:view', 0, 'u.id')) {
@@ -402,6 +396,15 @@ function assign_print_overview($courses, &$htmlarray) {
$str .= '<div class="details"><a href="'.$link.'">'.get_string('submissionsnotgraded', 'assign', $submissions).'</a></div>';
}
} if (has_capability('mod/assign:submit', $context)) {
+ if (!isset($mysubmissions)) {
+ // get all user submissions, indexed by assignment id
+ $mysubmissions = $DB->get_records_sql("SELECT a.id AS assignment, a.nosubmissions AS nosubmissions, g.timemodified
+ AS timemarked, g.grader AS grader, g.grade AS grade, s.status AS status
+ FROM {assign} a LEFT JOIN {assign_grades} g ON g.assignment = a.id AND
+ g.userid = ? LEFT JOIN {assign_submission} s ON s.assignment = a.id AND
+ s.userid = ? WHERE a.id $sqlassignmentids",
+ array_merge(array($USER->id, $USER->id), $assignmentidparams));
+ }
$str .= '<div class="details">';
$str .= get_string('mysubmission', 'assign');
$submission = $mysubmissions[$assignment->id];
Please sign in to comment.
Something went wrong with that request. Please try again.