From ebf0598e21e4aeea469df072192f31a8b9a3a9e2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20Mudr=C3=A1k?= Date: Wed, 27 Jul 2016 16:20:18 +0200 Subject: [PATCH] MDL-55360 workshop: Allow creating workshops with empty grades to pass As a regression of MDL-55360, it was not possible to create new workshops if the field "Submission grade to pass" or "Assessment grade to pass" was left empty. The validation failed with "You must enter a number here". The fields submissiongradepass and gradinggradepass are always present as we explicitly define them in the mod form. So the isset() condition in the validation was useless and it did not allow to submit the form with these fields empty. Additionally, the unformat_float() returns null only if it receives empty value on the input. Which can't happen in our case so I am removing this condition to improve the readability of the code. --- mod/workshop/mod_form.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mod/workshop/mod_form.php b/mod/workshop/mod_form.php index 0a87b5b0df1..db864e04476 100644 --- a/mod/workshop/mod_form.php +++ b/mod/workshop/mod_form.php @@ -396,9 +396,9 @@ class mod_workshop_mod_form extends moodleform_mod { } // Check that the submission grade pass is a valid number. - if (isset($data['submissiongradepass'])) { + if (!empty($data['submissiongradepass'])) { $submissiongradefloat = unformat_float($data['submissiongradepass'], true); - if ($submissiongradefloat === false || $submissiongradefloat === null) { + if ($submissiongradefloat === false) { $errors['submissiongradepass'] = get_string('err_numeric', 'form'); } else { if ($submissiongradefloat > $data['grade']) { @@ -408,9 +408,9 @@ class mod_workshop_mod_form extends moodleform_mod { } // Check that the grade pass is a valid number. - if (isset($data['gradinggradepass'])) { + if (!empty($data['gradinggradepass'])) { $gradepassfloat = unformat_float($data['gradinggradepass'], true); - if ($gradepassfloat === false || $gradepassfloat === null) { + if ($gradepassfloat === false) { $errors['gradinggradepass'] = get_string('err_numeric', 'form'); } else { if ($gradepassfloat > $data['gradinggrade']) { -- 2.43.0