From 0fa2b2ee8829608deb82f6414d1458855f7cedb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Mudr=C3=A1k?= Date: Fri, 14 Jul 2017 14:54:19 +0200 Subject: [PATCH] MDL-59544 workshop: Drop the custom validation of allowed file types Now that the validation is provided directly by the filemanager, we do not need to do the same here. Note that existing Behat tests are left untouched to make sure there is no regression. --- mod/workshop/form/assessment_form.php | 37 --------------------------- mod/workshop/lang/en/deprecated.txt | 1 + mod/workshop/lang/en/workshop.php | 2 +- mod/workshop/submission_form.php | 23 ----------------- 4 files changed, 2 insertions(+), 61 deletions(-) diff --git a/mod/workshop/form/assessment_form.php b/mod/workshop/form/assessment_form.php index 7ecbcf6738c..56128dcf5b3 100644 --- a/mod/workshop/form/assessment_form.php +++ b/mod/workshop/form/assessment_form.php @@ -120,41 +120,4 @@ class workshop_assessment_form extends moodleform { public function is_editable() { return !$this->_form->isFrozen(); } - - /** - * Validate assessment form data. - * - * @param array $data - * @param array $files - * @return array - */ - public function validation($data, $files) { - - $errors = parent::validation($data, $files); - - if (isset($data['feedbackauthorattachment_filemanager']) and isset($this->workshop->overallfeedbackfiletypes)) { - $filetypesutil = new \core_form\filetypes_util(); - $whitelist = $filetypesutil->normalize_file_types($this->workshop->overallfeedbackfiletypes); - if ($whitelist) { - $draftfiles = file_get_drafarea_files($data['feedbackauthorattachment_filemanager']); - if ($draftfiles) { - $wrongfiles = array(); - foreach ($draftfiles->list as $file) { - if (!$filetypesutil->is_allowed_file_type($file->filename, $whitelist)) { - $wrongfiles[] = $file->filename; - } - } - if ($wrongfiles) { - $a = array( - 'whitelist' => implode(', ', $whitelist), - 'wrongfiles' => implode(', ', $wrongfiles), - ); - $errors['feedbackauthorattachment_filemanager'] = get_string('err_wrongfileextension', 'mod_workshop', $a); - } - } - } - } - - return $errors; - } } diff --git a/mod/workshop/lang/en/deprecated.txt b/mod/workshop/lang/en/deprecated.txt index 01fea12c442..dc549a1c974 100644 --- a/mod/workshop/lang/en/deprecated.txt +++ b/mod/workshop/lang/en/deprecated.txt @@ -1,2 +1,3 @@ err_unknownfileextension,mod_workshop +err_wrongfileextension,mod_workshop yourassessment,mod_workshop diff --git a/mod/workshop/lang/en/workshop.php b/mod/workshop/lang/en/workshop.php index 21df5a6d7c4..6af18ef1ef8 100644 --- a/mod/workshop/lang/en/workshop.php +++ b/mod/workshop/lang/en/workshop.php @@ -107,7 +107,6 @@ $string['editingsubmission'] = 'Editing submission'; $string['editsubmission'] = 'Edit submission'; $string['err_multiplesubmissions'] = 'While editing this form, another version of the submission has been saved. Multiple submissions per user are not allowed.'; $string['err_removegrademappings'] = 'Unable to remove the unused grade mappings'; -$string['err_wrongfileextension'] = 'Some files ({$a->wrongfiles}) cannot be uploaded. Only file types {$a->whitelist} are allowed.'; $string['evaluategradeswait'] = 'Please wait until the assessments are evaluated and the grades are calculated'; $string['evaluation'] = 'Grading evaluation'; $string['evaluationmethod'] = 'Grading evaluation method'; @@ -373,3 +372,4 @@ $string['yourassessment'] = 'Your assessment'; // Deprecated since Moodle 3.4. $string['err_unknownfileextension'] = 'Unknown file extension: {$a}'; +$string['err_wrongfileextension'] = 'Some files ({$a->wrongfiles}) cannot be uploaded. Only file types {$a->whitelist} are allowed.'; diff --git a/mod/workshop/submission_form.php b/mod/workshop/submission_form.php index 6b794dcd935..29980feb374 100644 --- a/mod/workshop/submission_form.php +++ b/mod/workshop/submission_form.php @@ -94,29 +94,6 @@ class workshop_submission_form extends moodleform { $errors['attachment_filemanager'] = get_string('submissionrequiredfile', 'mod_workshop'); } - if (isset($data['attachment_filemanager']) and isset($this->_customdata['workshop']->submissionfiletypes)) { - $filetypesutil = new \core_form\filetypes_util(); - $whitelist = $filetypesutil->normalize_file_types($this->_customdata['workshop']->submissionfiletypes); - if ($whitelist) { - $draftfiles = file_get_drafarea_files($data['attachment_filemanager']); - if ($draftfiles) { - $wrongfiles = array(); - foreach ($draftfiles->list as $file) { - if (!$filetypesutil->is_allowed_file_type($file->filename, $whitelist)) { - $wrongfiles[] = $file->filename; - } - } - if ($wrongfiles) { - $a = array( - 'whitelist' => implode(', ', $whitelist), - 'wrongfiles' => implode(', ', $wrongfiles), - ); - $errors['attachment_filemanager'] = get_string('err_wrongfileextension', 'mod_workshop', $a); - } - } - } - } - return $errors; } }