From cd830f4e2ca2ad5220d68fb78528ed4e6cb8557a Mon Sep 17 00:00:00 2001 From: =?UTF-8?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 7aee3393ba4..3f93958f534 100644 --- a/mod/workshop/mod_form.php +++ b/mod/workshop/mod_form.php @@ -371,9 +371,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']) { @@ -383,9 +383,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']) {