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.
This commit is contained in:
David Mudrák 2016-07-27 16:20:18 +02:00
parent d1a3ea62ef
commit ebf0598e21

View File

@ -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']) {