Fixed Bugs #1059 and #1061.

This commit is contained in:
rkingdon 2004-03-12 15:28:52 +00:00
parent 2f39268b3d
commit b082b2c641
2 changed files with 39 additions and 36 deletions

View file

@ -2095,43 +2095,45 @@ function workshop_list_student_submissions($workshop, $user) {
$nassessments[$submission->id] = $n + rand(0, 98) / 100; $nassessments[$submission->id] = $n + rand(0, 98) / 100;
} }
// put the submissions with the lowest number of assessments first if (isset($nassessments)) { // make sure we end up with something to play with :-)
asort($nassessments); // put the submissions with the lowest number of assessments first
reset($nassessments); asort($nassessments);
$nsassessments = $workshop->nsassessments; reset($nassessments);
foreach ($nassessments as $submissionid =>$n) { $nsassessments = $workshop->nsassessments;
// only use those submissions which fall below the allocation threshold foreach ($nassessments as $submissionid =>$n) {
if ($n < ($workshop->nsassessments + $workshop->overallocation)) { // only use those submissions which fall below the allocation threshold
$comment = ""; if ($n < ($workshop->nsassessments + $workshop->overallocation)) {
$submission = get_record("workshop_submissions", "id", $submissionid); $comment = "";
// skip submission if it belongs to this user $submission = get_record("workshop_submissions", "id", $submissionid);
if ($submission->userid != $user->id) { // skip submission if it belongs to this user
// add a "hot" assessment record if user has NOT already assessed this submission if ($submission->userid != $user->id) {
if (!get_record("workshop_assessments", "submissionid", $submission->id, "userid", // add a "hot" assessment record if user has NOT already assessed this submission
$user->id)) { if (!get_record("workshop_assessments", "submissionid", $submission->id, "userid",
$yearfromnow = time() + 365 * 86400; $user->id)) {
// ...create one and set timecreated way in the future, this is reset when record is updated $yearfromnow = time() + 365 * 86400;
$assessment->workshopid = $workshop->id; // ...create one and set timecreated way in the future, this is reset when record is updated
$assessment->submissionid = $submission->id; $assessment->workshopid = $workshop->id;
$assessment->userid = $user->id; $assessment->submissionid = $submission->id;
$assessment->grade = -1; // set impossible grade $assessment->userid = $user->id;
$assessment->timecreated = $yearfromnow; $assessment->grade = -1; // set impossible grade
if (!$assessment->id = insert_record("workshop_assessments", $assessment)) { $assessment->timecreated = $yearfromnow;
error("List Student submissions: Could not insert workshop assessment!"); if (!$assessment->id = insert_record("workshop_assessments", $assessment)) {
} error("List Student submissions: Could not insert workshop assessment!");
$nassessed++; }
// is user up to quota? $nassessed++;
if ($nassessed == $nsassessments) { // is user up to quota?
break; if ($nassessed == $nsassessments) {
} break;
} }
} }
} }
} }
}
} }
} }
// now list the student submissions this user has been allocated, list only the hot and warm ones, the cold ones }
// are listed in the "your assessments list" (_list_assessed submissions) // now list the student submissions this user has been allocated, list only the hot and warm ones,
// the cold ones are listed in the "your assessments list" (_list_assessed submissions)
if ($assessments = workshop_get_user_assessments($workshop, $user)) { if ($assessments = workshop_get_user_assessments($workshop, $user)) {
$timenow = time(); $timenow = time();
foreach ($assessments as $assessment) { foreach ($assessments as $assessment) {

View file

@ -1025,7 +1025,8 @@
} }
} }
else { // funny this user did not submit - create a dummy submission to hold any grades they might have else { // funny this user did not submit - create a dummy submission to hold any grades they might have
$bestsubmission->workshopid = $workshop->id; unset($bestsubmission);
$bestsubmission->workshopid = $workshop->id;
$bestsubmission->userid = $user->id; $bestsubmission->userid = $user->id;
$bestsubmission->title = "No Submission"; $bestsubmission->title = "No Submission";
$bestsubmission->timecreated = 0; $bestsubmission->timecreated = 0;