diff --git a/webapp/src/Controller/Jury/SubmissionController.php b/webapp/src/Controller/Jury/SubmissionController.php index 46016b4971..a3f2f3cd5c 100644 --- a/webapp/src/Controller/Jury/SubmissionController.php +++ b/webapp/src/Controller/Jury/SubmissionController.php @@ -1253,7 +1253,9 @@ private function maybeGetErrors(string $type, string $expectedConfigString, stri $observedConfig = $this->dj->jsonDecode($observedConfigString); $errors = []; foreach (array_keys($expectedConfig) as $k) { - if ($expectedConfig[$k] != $observedConfig[$k]) { + if (!array_key_exists($k, $observedConfig)) { + $errors[] = '- ' . preg_replace('/_/', ' ', $k) . ': missing'; + } elseif ($expectedConfig[$k] != $observedConfig[$k]) { if ($k === 'hash') { $errors[] = '- script has changed'; } elseif ($k === 'entry_point') { @@ -1265,6 +1267,11 @@ private function maybeGetErrors(string $type, string $expectedConfigString, stri } } } + foreach (array_keys($observedConfig) as $k) { + if (!array_key_exists($k, $expectedConfig)) { + $errors[] = '- ' . preg_replace('/_/', ' ', $k) . ': unexpected'; + } + } if (!empty($errors)) { $allErrors[] = $type . ' changes:'; array_push($allErrors, ...$errors);