diff --git a/mod/workshop/exsubmission.php b/mod/workshop/exsubmission.php
index d1ab70dbd40..3a29bdf3b03 100644
--- a/mod/workshop/exsubmission.php
+++ b/mod/workshop/exsubmission.php
@@ -103,6 +103,15 @@ if ($id and $assess and $canassess) {
if (!$asid) {
$asid = $workshop->add_allocation($example, $USER->id, 0);
}
+ if ($asid == workshop::ALLOCATION_EXISTS) {
+ // the training assessment of the example was not found but the allocation already
+ // exists. this probably means that the user is the author of the reference assessment.
+ echo $output->header();
+ echo $output->box(get_string('assessmentreferenceconflict', 'workshop'));
+ echo $output->continue_button($workshop->view_url());
+ echo $output->footer();
+ die();
+ }
redirect($workshop->exassess_url($asid));
}
diff --git a/mod/workshop/lang/en/workshop.php b/mod/workshop/lang/en/workshop.php
index 2302ebb18f9..f51361fc875 100644
--- a/mod/workshop/lang/en/workshop.php
+++ b/mod/workshop/lang/en/workshop.php
@@ -53,6 +53,7 @@ $string['assessmentenddatetime'] = 'Assessment deadline: {$a->daydatetime} ({$a-
$string['assessmentform'] = 'Assessment form';
$string['assessmentofsubmission'] = 'Assessment of {$a->submissiontitle}';
$string['assessmentreference'] = 'Reference assessment';
+$string['assessmentreferenceconflict'] = 'It is not possible to assess an example submission for which you provided a reference assessment.';
$string['assessmentreferenceneeded'] = 'You have to assess this example submission to provide a reference assessment. Click \'Continue\' button to assess the submission.';
$string['assessmentsettings'] = 'Assessment settings';
$string['assessmentstart'] = 'Open for assessment from';