$output = $PAGE->get_renderer('mod_teamwork'); if ($id) { // example is specified $example = $teamwork->get_example_by_id($id); } else { // no example specified - create new one require_capability('mod/teamwork:manageexamples', $teamwork->context); $example = new stdclass(); $example->id = null; $example->authorid = $USER->id; $example->example = 1; } $canmanage = has_capability('mod/teamwork:manageexamples', $teamwork->context); $canassess = has_capability('mod/teamwork:peerassess', $teamwork->context); $refasid = $DB->get_field('teamwork_assessments', 'id', array('submissionid' => $example->id, 'weight' => 1)); if ($example->id and ($canmanage or $teamwork->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', $teamwork->view_url(), 'view or manage example submission'); } if ($id and $delete and $confirm and $canmanage) { require_sesskey(); $teamwork->delete_submission($example); redirect($teamwork->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();
$PAGE->set_url($teamwork->excompare_url($sid, $aid)); $example = $teamwork->get_example_by_id($sid); $assessment = $teamwork->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('teamwork_assessments', 'id', array('submissionid' => $example->id, 'weight' => 1))) { $reference = $teamwork->get_assessment_by_id($refasid); $mformreference = $strategy->get_assessment_form($PAGE->url, 'assessment', $reference, false); } $canmanage = has_capability('mod/teamwork:manageexamples', $teamwork->context); $isreviewer = $USER->id == $assessment->reviewerid; if ($canmanage) { // ok you can go } elseif ($isreviewer and $teamwork->assessing_examples_allowed()) { // ok you can go } else { print_error('nopermissions', 'error', $teamwork->view_url(), 'compare example assessment'); } $PAGE->set_title($teamwork->name); $PAGE->set_heading($course->fullname); $PAGE->navbar->add(get_string('examplecomparing', 'teamwork')); // Output starts here $output = $PAGE->get_renderer('mod_teamwork'); echo $output->header(); echo $output->heading(format_string($teamwork->name)); echo $output->heading(get_string('assessedexample', 'teamwork'), 3); echo $output->render($teamwork->prepare_example_submission($example)); // if the reference assessment is available, display it if (!empty($mformreference)) {
} $teamwork = new teamwork($teamwork, $cm, $course); $PAGE->set_url($teamwork->exassess_url($assessment->id)); $PAGE->set_title($teamwork->name); $PAGE->set_heading($course->fullname); $PAGE->navbar->add(get_string('assessingexample', 'teamwork')); $currenttab = 'assessment'; $canmanage = has_capability('mod/teamwork:manageexamples', $teamwork->context); $isreviewer = $USER->id == $assessment->reviewerid; if ($isreviewer or $canmanage) { // such a user can continue } else { print_error('nopermissions', 'error', $teamwork->view_url(), 'assess example submission'); } // only the reviewer is allowed to modify the assessment if ($canmanage and $assessment->weight == 1 or $isreviewer and $teamwork->assessing_examples_allowed()) { $assessmenteditable = true; } else { $assessmenteditable = false; } // load the grading strategy logic $strategy = $teamwork->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 teamwork core, subplugins set their own data themselves. $currentdata = (object) array('feedbackauthor' => $assessment->feedbackauthor, 'feedbackauthorformat' => $assessment->feedbackauthorformat); if ($assessmenteditable and $teamwork->overallfeedbackmode) { $currentdata = file_prepare_standard_editor($currentdata, 'feedbackauthor', $teamwork->overall_feedback_content_options(), $teamwork->context, 'mod_teamwork', 'overallfeedback_content', $assessment->id); if ($teamwork->overallfeedbackfiles) { $currentdata = file_prepare_standard_filemanager($currentdata, 'feedbackauthorattachment', $teamwork->overall_feedback_attachment_options(), $teamwork->context, 'mod_teamwork', 'overallfeedback_attachment', $assessment->id); }