From 088cb7ad8f9e16667657e9e23b78d0ffcffcdee3 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Mon, 29 Jul 2024 17:29:19 +0100 Subject: [PATCH] MDL-63015 mod_feedback: preview feedback questions in read-only. --- mod/feedback/classes/complete_form.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mod/feedback/classes/complete_form.php b/mod/feedback/classes/complete_form.php index af5cd44a422..30af0d89fb3 100644 --- a/mod/feedback/classes/complete_form.php +++ b/mod/feedback/classes/complete_form.php @@ -242,6 +242,15 @@ class mod_feedback_complete_form extends moodleform { return $this->mode == self::MODE_VIEW_RESPONSE; } + /** + * Returns whether the form is considered read-only (e.g. when previewing it) + * + * @return bool + */ + private function is_readonly(): bool { + return $this->mode === self::MODE_PRINT; + } + /** * Returns the current course module * @return cm_info @@ -327,6 +336,11 @@ class mod_feedback_complete_form extends moodleform { $element->freeze(); } + // For read-only forms, just disable each added element. + if ($this->is_readonly()) { + $this->_form->disabledIf($element->getName(), 'id'); + } + // Add red asterisks on required fields. if ($item->required) { $required = $OUTPUT->pix_icon('req', get_string('requiredelement', 'form'), 'moodle', ['class' => 'ml-2']);