$PAGE->set_title($workshop->name); $PAGE->set_heading($course->fullname); $PAGE->navbar->add(get_string('assessingexample', 'workshop')); $currenttab = 'assessment'; $canmanage = has_capability('mod/workshop:manageexamples', $workshop->context); $isreviewer = ($USER->id == $assessment->reviewerid); if ($isreviewer or $canmanage) { // such a user can continue } else { print_error('nopermissions', 'error', $workshop->view_url(), 'assess example submission'); } // only the reviewer is allowed to modify the assessment if (($canmanage and $assessment->weight == 1) or ($isreviewer and $workshop->assessing_examples_allowed())) { $assessmenteditable = true; } else { $assessmenteditable = false; } // load the grading strategy logic $strategy = $workshop->grading_strategy_instance(); // load the assessment form and process the submitted data eventually $mform = $strategy->get_assessment_form($PAGE->url, 'assessment', $assessment, $assessmenteditable); // Set data managed by the workshop core, subplugins set their own data themselves. $currentdata = (object)array( 'feedbackauthor' => $assessment->feedbackauthor, 'feedbackauthorformat' => $assessment->feedbackauthorformat,
$PAGE->set_url($workshop->excompare_url($sid, $aid)); $example = $workshop->get_example_by_id($sid); $assessment = $workshop->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('workshop_assessments', 'id', array('submissionid' => $example->id, 'weight' => 1))) { $reference = $workshop->get_assessment_by_id($refasid); $mformreference = $strategy->get_assessment_form($PAGE->url, 'assessment', $reference, false); } $canmanage = has_capability('mod/workshop:manageexamples', $workshop->context); $isreviewer = $USER->id == $assessment->reviewerid; if ($canmanage) { // ok you can go } elseif ($isreviewer and $workshop->assessing_examples_allowed()) { // ok you can go } else { print_error('nopermissions', 'error', $workshop->view_url(), 'compare example assessment'); } $PAGE->set_title($workshop->name); $PAGE->set_heading($course->fullname); $PAGE->navbar->add(get_string('examplecomparing', 'workshop')); // Output starts here $output = $PAGE->get_renderer('mod_workshop'); echo $output->header(); echo $output->heading(get_string('assessedexample', 'workshop'), 2); echo $output->render($workshop->prepare_example_submission($example)); if (!empty($mformreference)) { echo $output->heading(get_string('assessmentreference', 'workshop'), 2); $a = new stdclass();
$output = $PAGE->get_renderer('mod_workshop'); if ($id) { // example is specified $example = $workshop->get_example_by_id($id); } else { // no example specified - create new one require_capability('mod/workshop:manageexamples', $workshop->context); $example = new stdclass(); $example->id = null; $example->authorid = $USER->id; $example->example = 1; } $canmanage = has_capability('mod/workshop:manageexamples', $workshop->context); $canassess = has_capability('mod/workshop:peerassess', $workshop->context); $refasid = $DB->get_field('workshop_assessments', 'id', array('submissionid' => $example->id, 'weight' => 1)); if ($example->id and ($canmanage or $workshop->assessing_examples_allowed() and $canassess)) { // ok you can go } elseif (is_null($example->id) and $canmanage) { // ok you can go } else { print_error('nopermissions', 'error', $workshop->view_url(), 'view or manage example submission'); } if ($id and $delete and $confirm and $canmanage) { require_sesskey(); $workshop->delete_submission($example); redirect($workshop->view_url()); } if ($id and $assess and $canmanage) { // reference assessment of an example is the assessment with the weight = 1. There should be just one // such assessment require_sesskey();
} $workshop = new workshop($workshop, $cm, $course); $PAGE->set_url($workshop->exassess_url($assessment->id)); $PAGE->set_title($workshop->name); $PAGE->set_heading($course->fullname); $PAGE->navbar->add(get_string('assessingexample', 'workshop')); $currenttab = 'assessment'; $canmanage = has_capability('mod/workshop:manageexamples', $workshop->context); $isreviewer = $USER->id == $assessment->reviewerid; if ($isreviewer or $canmanage) { // such a user can continue } else { print_error('nopermissions', 'error', $workshop->view_url(), 'assess example submission'); } // only the reviewer is allowed to modify the assessment if ($canmanage or $isreviewer and $workshop->assessing_examples_allowed()) { $assessmenteditable = true; } else { $assessmenteditable = false; } // load the grading strategy logic $strategy = $workshop->grading_strategy_instance(); // load the assessment form and process the submitted data eventually $mform = $strategy->get_assessment_form($PAGE->url, 'assessment', $assessment, $assessmenteditable); if ($mform->is_cancelled()) { redirect($workshop->view_url()); } elseif ($assessmenteditable and $data = $mform->get_data()) { if ($canmanage) { if (is_null($assessment->grade)) { $workshop->log('add reference assessment', $workshop->exassess_url($assessment->id), $assessment->submissionid); } else {