From 2a9b468c35c86e6b387a04b43ca29e048833c6d1 Mon Sep 17 00:00:00 2001 From: David Mudrak Date: Mon, 4 Jan 2010 18:17:27 +0000 Subject: [PATCH] Faking assessments reworked --- mod/workshop/develtools.php | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/mod/workshop/develtools.php b/mod/workshop/develtools.php index 802e164935..b42fd9961f 100644 --- a/mod/workshop/develtools.php +++ b/mod/workshop/develtools.php @@ -96,11 +96,30 @@ if ($tool == 'mksubmissions') { } if ($tool == 'mkassessments') { - $sql = 'UPDATE {workshop_assessments} - SET grade = 100*RANDOM() - WHERE submissionid IN (SELECT id FROM {workshop_submissions} WHERE workshopid = :workshopid)'; - $params['workshopid'] = $workshop->id; - $DB->execute($sql, $params); + $diminfo = $workshop->grading_strategy_instance()->get_dimensions_info(); + + $sql = 'SELECT a.id + FROM {workshop_assessments} a + INNER JOIN {workshop_submissions} s ON (a.submissionid = s.id) + WHERE s.example = 0 AND s.workshopid = :workshopid'; + $params = array('workshopid' => $workshop->id); + $assessments = $DB->get_records_sql($sql, $params); + + foreach ($assessments as $assessment) { + foreach ($diminfo as $dimension) { + if (! $DB->record_exists('workshop_grades', array('assessmentid'=>$assessment->id, 'strategy'=>$workshop->strategy, 'dimensionid'=>$dimension->id))) { + $grade = new stdClass(); + $grade->assessmentid = $assessment->id; + $grade->strategy = $workshop->strategy; + $grade->dimensionid = $dimension->id; + $grade->grade = rand($dimension->min, $dimension->max); + $DB->insert_record('workshop_grades', $grade, false, true); + } + } + // to make this script work, make the update_peer_grade() a public method of the strategy class + $workshop->grading_strategy_instance()->update_peer_grade($assessment); + } + echo $OUTPUT->header(); echo $OUTPUT->heading('Submissions graded'); echo $OUTPUT->continue_button($PAGE->url->out()); @@ -115,6 +134,6 @@ include(dirname(__FILE__) . '/tabs.php'); echo $OUTPUT->heading('Workshop development tools', 1); echo ''; echo $OUTPUT->footer(); -- 2.39.5