diff --git a/app/assets/javascripts/exercises.js.erb b/app/assets/javascripts/exercises.js.erb index 9b0b185a..0244cdbe 100644 --- a/app/assets/javascripts/exercises.js.erb +++ b/app/assets/javascripts/exercises.js.erb @@ -302,6 +302,7 @@ $(document).on('turbolinks:load', function () { fields.slideUp(); parent.find('[name$="[feedback_message]"]').val(''); parent.find('[name$="[weight]"]').val(1); + parent.find('[name$="[hidden_feedback]"]').prop('checked', false); } }); }; diff --git a/app/views/exercises/_file_form.html.slim b/app/views/exercises/_file_form.html.slim index 0028005f..ee6b2d04 100644 --- a/app/views/exercises/_file_form.html.slim +++ b/app/views/exercises/_file_form.html.slim @@ -34,11 +34,13 @@ li.card.mt-2 label.form-check-label = f.check_box(:read_only, class: 'form-check-input') = t('activerecord.attributes.file.read_only') - .form-check.mb-3 - label.form-check-label - = f.check_box(:hidden_feedback, class: 'form-check-input') - = t('activerecord.attributes.file.hidden_feedback') .test-related-fields style="display: #{f.object.teacher_defined_assessment? ? 'initial' : 'none'};" + .mb-3 + .form-check + label.form-check-label + = f.check_box(:hidden_feedback, class: 'form-check-input') + = f.label(:hidden_feedback, t('activerecord.attributes.file.hidden_feedback'), class: 'form-label') + .help-block.form-text = t('.hints.hidden_feedback') .mb-3 = f.label(:name, t('activerecord.attributes.file.feedback_message'), class: 'form-label') = f.text_area(:feedback_message, class: 'form-control', maxlength: 255) diff --git a/app/views/shared/_file.html.slim b/app/views/shared/_file.html.slim index 8759944f..e9557a41 100644 --- a/app/views/shared/_file.html.slim +++ b/app/views/shared/_file.html.slim @@ -5,6 +5,7 @@ = row(label: 'file.hidden', value: file.hidden) = row(label: 'file.read_only', value: file.read_only) - if file.teacher_defined_assessment? + = row(label: 'file.hidden_feedback', value: file.hidden_feedback) = row(label: 'file.feedback_message', value: render_markdown(file.feedback_message), class: 'm-0') = row(label: 'file.weight', value: file.weight) = row(label: 'file.content', value: file.native_file? ? link_to_if(policy(file).show?, file.native_file.file.filename, protected_upload_path(id: file.id, filename: file.filepath)) : code_tag(file.content, file.file_type.programming_language)) diff --git a/config/locales/de.yml b/config/locales/de.yml index fe7792cc..1d3868ea 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -461,6 +461,7 @@ de: file_form: hints: feedback_message: Diese Nachricht wird als Hinweis zu fehlschlagenden Tests angezeigt. + hidden_feedback: Bei Aktivierung dieser Option werden Tests nur im Hintergrund ausgeführt, das Ergebnis und Feedback Lernenden allerdings nicht angezeigt. path: 'Pfad der Datei im Projektverzeichnis. Kann auch leer gelassen werden.' upload: Eine hochgeladene Datei hat Vorrang vor Änderungen im Textfeld und wird nach dem Speichern sichtbar. Der Dateiname und die Dateiendung wird automatisch von der hochgeladenen Datei übernommen. form: diff --git a/config/locales/en.yml b/config/locales/en.yml index 0b0654a2..13ff5235 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -86,7 +86,7 @@ en: file_type: File Type file_type_id: File Type hidden: Hidden - hidden_feedback: Suppress feedback + hidden_feedback: Suppress Feedback name: Name path: Path read_only: Read-only @@ -461,6 +461,7 @@ en: file_form: hints: feedback_message: This message is used as a hint for failing tests. + hidden_feedback: If this option is checked, tests are only executed in the background, but the result and feedback are not displayed to learners. path: "The file's path in the project tree. Can be left blank." upload: An uploaded file takes precedence over changes in the text area and will be visible once saved. The resulting file name and file type will be set to match the uploaded file automatically. form: