$coredata->feedbackauthorattachment = 0; } } if ($canmanage) { // Remember the last one who edited the reference assessment. $coredata->reviewerid = $USER->id; } // Update the assessment data if there is something other than just the 'id'. if (count((array) $coredata) > 1) { $DB->update_record('workshopplus_assessments', $coredata); } if (!is_null($rawgrade) and isset($data->saveandclose)) { if ($canmanage) { redirect($workshopplus->view_url()); } else { redirect($workshopplus->excompare_url($example->id, $assessment->id)); } } else { // either it is not possible to calculate the $rawgrade // or the reviewer has chosen "Save and continue" redirect($PAGE->url); } } // output starts here $output = $PAGE->get_renderer('mod_workshopplus'); // workshopplus renderer echo $output->header(); echo $output->heading(format_string($workshopplus->name)); echo $output->heading(get_string('assessedexample', 'workshopplus'), 3); $example = $workshopplus->get_example_by_id($example->id); // reload so can be passed to the renderer
$cmid = required_param('cmid', PARAM_INT); // course module id $sid = required_param('sid', PARAM_INT); // example submission id $aid = required_param('aid', PARAM_INT); // the user's assessment id $cm = get_coursemodule_from_id('workshopplus', $cmid, 0, false, MUST_EXIST); $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); require_login($course, false, $cm); if (isguestuser()) { print_error('guestsarenotallowed'); } $workshopplus = $DB->get_record('workshopplus', array('id' => $cm->instance), '*', MUST_EXIST); $workshopplus = new workshopplus($workshopplus, $cm, $course); $strategy = $workshopplus->grading_strategy_instance(); $PAGE->set_url($workshopplus->excompare_url($sid, $aid)); $example = $workshopplus->get_example_by_id($sid); $assessment = $workshopplus->get_assessment_by_id($aid); if ($assessment->submissionid != $example->id) { print_error('invalidarguments'); } $mformassessment = $strategy->get_assessment_form($PAGE->url, 'assessment', $assessment, false); if ($refasid = $DB->get_field('workshopplus_assessments', 'id', array('submissionid' => $example->id, 'weight' => 1))) { $reference = $workshopplus->get_assessment_by_id($refasid); $mformreference = $strategy->get_assessment_form($PAGE->url, 'assessment', $reference, false); } $canmanage = has_capability('mod/workshopplus:manageexamples', $workshopplus->context); $isreviewer = $USER->id == $assessment->reviewerid; if ($canmanage) { // ok you can go } elseif ($isreviewer and $workshopplus->assessing_examples_allowed()) {