diff --git a/mod/workshop/exassessment.php b/mod/workshop/exassessment.php index a487dff2de4..559ec944b68 100644 --- a/mod/workshop/exassessment.php +++ b/mod/workshop/exassessment.php @@ -127,9 +127,8 @@ if ($canmanage and $assessment->weight == 1) { 'showreviewer' => false, 'showauthor' => false, 'showform' => true, - 'showweight' => false, ); - $assessment = $workshop->prepare_assessment($assessment, $mform, $options); + $assessment = $workshop->prepare_example_reference_assessment($assessment, $mform, $options); $assessment->title = get_string('assessmentreference', 'workshop'); echo $output->render($assessment); @@ -138,9 +137,8 @@ if ($canmanage and $assessment->weight == 1) { 'showreviewer' => true, 'showauthor' => false, 'showform' => true, - 'showweight' => false, ); - $assessment = $workshop->prepare_assessment($assessment, $mform, $options); + $assessment = $workshop->prepare_example_assessment($assessment, $mform, $options); $assessment->title = get_string('assessmentbyyourself', 'workshop'); echo $output->render($assessment); @@ -151,7 +149,7 @@ if ($canmanage and $assessment->weight == 1) { 'showform' => true, 'showweight' => false, ); - $assessment = $workshop->prepare_assessment($assessment, $mform, $options); + $assessment = $workshop->prepare_example_assessment($assessment, $mform, $options); echo $output->render($assessment); } diff --git a/mod/workshop/excompare.php b/mod/workshop/excompare.php index 126fc040050..c5b972e4daa 100644 --- a/mod/workshop/excompare.php +++ b/mod/workshop/excompare.php @@ -84,10 +84,12 @@ if (!empty($mformreference)) { 'showreviewer' => false, 'showauthor' => false, 'showform' => true, - 'showweight' => false, ); - $reference = $workshop->prepare_assessment($reference, $mformreference, $options); + $reference = $workshop->prepare_example_reference_assessment($reference, $mformreference, $options); $reference->title = get_string('assessmentreference', 'workshop'); + if ($canmanage) { + $reference->url = $workshop->exassess_url($reference->id); + } echo $output->render($reference); } @@ -96,9 +98,8 @@ if ($isreviewer) { 'showreviewer' => true, 'showauthor' => false, 'showform' => true, - 'showweight' => false, ); - $assessment = $workshop->prepare_assessment($assessment, $mformassessment, $options); + $assessment = $workshop->prepare_example_assessment($assessment, $mformassessment, $options); $assessment->title = get_string('assessmentbyyourself', 'workshop'); if ($workshop->assessing_examples_allowed()) { $assessment->add_action( @@ -113,9 +114,8 @@ if ($isreviewer) { 'showreviewer' => true, 'showauthor' => false, 'showform' => true, - 'showweight' => false, ); - $assessment = $workshop->prepare_assessment($assessment, $mformassessment, $options); + $assessment = $workshop->prepare_example_assessment($assessment, $mformassessment, $options); echo $output->render($assessment); } diff --git a/mod/workshop/renderer.php b/mod/workshop/renderer.php index 955a1718087..b9daa8596c2 100644 --- a/mod/workshop/renderer.php +++ b/mod/workshop/renderer.php @@ -565,7 +565,7 @@ class mod_workshop_renderer extends plugin_renderer_base { } else { $title = get_string('assessment', 'workshop'); } - if ($this->page->url != $assessment->url) { + if (($assessment->url instanceof moodle_url) and ($this->page->url != $assessment->url)) { $o .= $this->output->container(html_writer::link($assessment->url, $title), 'title'); } else { $o .= $this->output->container($title, 'title'); @@ -629,6 +629,26 @@ class mod_workshop_renderer extends plugin_renderer_base { return $o; } + /** + * Renders the assessment of an example submission + * + * @param workshop_example_assessment $assessment + * @return string HTML + */ + protected function render_workshop_example_assessment(workshop_example_assessment $assessment) { + return $this->render_workshop_assessment($assessment); + } + + /** + * Renders the reference assessment of an example submission + * + * @param workshop_example_reference_assessment $assessment + * @return string HTML + */ + protected function render_workshop_example_reference_assessment(workshop_example_reference_assessment $assessment) { + return $this->render_workshop_assessment($assessment); + } + //////////////////////////////////////////////////////////////////////////// // Internal rendering helper methods ////////////////////////////////////////////////////////////////////////////