diff --git a/dta.zip b/dta.zip index ab0c893d2e51d8616d3cd6dae3d04b24be444f01..b35770daf7870b735d46f7150169198a2a38df19 100644 Binary files a/dta.zip and b/dta.zip differ diff --git a/dta/lang/en/assignsubmission_dta.php b/dta/lang/en/assignsubmission_dta.php index d80eaa8814d3cf8422e92fe2d2edd153f1bace79..2b8d945517c06da01894d4c42259012b5efddc6c 100644 --- a/dta/lang/en/assignsubmission_dta.php +++ b/dta/lang/en/assignsubmission_dta.php @@ -73,22 +73,22 @@ $string["comp_simple"] = "Simplicity"; $string["comp_abstraction"] = "Abstraction"; // Competencies for index calculation. -$string["comp1"] = $string["comp_statement"]; -$string["comp2"] = $string["comp_block"]; -$string["comp3"] = $string["comp_flow"]; -$string["comp4"] = $string["comp_loop"]; -$string["comp5"] = $string["comp_const"]; -$string["comp6"] = $string["comp_var"]; -$string["comp7"] = $string["comp_type"]; -$string["comp8"] = $string["comp_datastructure"]; -$string["comp9"] = $string["comp_interface"]; -$string["comp10"] = $string["comp_unit"]; -$string["comp11"] = $string["comp_proc_usage"]; -$string["comp12"] = $string["comp_proc_sign"]; -$string["comp13"] = $string["comp_library"]; -$string["comp14"] = $string["comp_ext_api"]; -$string["comp15"] = $string["comp_simple"]; -$string["comp16"] = $string["comp_abstraction"]; +$string["comp0"] = $string["comp_statement"]; +$string["comp1"] = $string["comp_block"]; +$string["comp2"] = $string["comp_flow"]; +$string["comp3"] = $string["comp_loop"]; +$string["comp4"] = $string["comp_const"]; +$string["comp5"] = $string["comp_var"]; +$string["comp6"] = $string["comp_type"]; +$string["comp7"] = $string["comp_datastructure"]; +$string["comp8"] = $string["comp_interface"]; +$string["comp9"] = $string["comp_unit"]; +$string["comp10"] = $string["comp_proc_usage"]; +$string["comp11"] = $string["comp_proc_sign"]; +$string["comp12"] = $string["comp_library"]; +$string["comp13"] = $string["comp_ext_api"]; +$string["comp14"] = $string["comp_simple"]; +$string["comp15"] = $string["comp_abstraction"]; // Competency explanations. $string["comp_statement_expl"] = "formulate a syntactically correct statement that contributes to the solution of the given problem."; @@ -108,6 +108,24 @@ $string["comp_ext_api_expl"] = "use standardized existing external collections o $string["comp_simple_expl"] = "create a simple solution of the given problem."; $string["comp_abstraction_expl"] = "create a sufficiently abstract solution for the given problem."; +// Competency explanations for index calculations. +$string["comp_expl0"] = $string["comp_statement_expl"]; +$string["comp_expl1"] = $string["comp_block_expl"]; +$string["comp_expl2"] = $string["comp_flow_expl"]; +$string["comp_expl3"] = $string["comp_loop_expl"]; +$string["comp_expl4"] = $string["comp_const_expl"]; +$string["comp_expl5"] = $string["comp_var_expl"]; +$string["comp_expl6"] = $string["comp_type_expl"]; +$string["comp_expl7"] = $string["comp_datastructure_expl"]; +$string["comp_expl8"] = $string["comp_interface_expl"]; +$string["comp_expl9"] = $string["comp_unit_expl"]; +$string["comp_expl10"] = $string["comp_proc_usage_expl"]; +$string["comp_expl11"] = $string["comp_proc_sign_expl"]; +$string["comp_expl12"] = $string["comp_library_expl"]; +$string["comp_expl13"] = $string["comp_ext_api_expl"]; +$string["comp_expl14"] = $string["comp_simple_expl"]; +$string["comp_expl15"] = $string["comp_abstraction_expl"]; + // Warnings. $string["no_testfile_warning"] = "Submission type is \"Dockerized Testing Agent\" but no configuration file uploaded"; diff --git a/dta/utils/view.php b/dta/utils/view.php index bddc748239b3c1d4ec32db9e830089e18669fbec..98af5c3e1d0466d9c5a2c35172bb5e92681b9feb 100644 --- a/dta/utils/view.php +++ b/dta/utils/view.php @@ -46,17 +46,30 @@ class ViewSubmissionUtils { $html .= ($summary->compilationErrorCount() == 0 && $summary->unknownCount() == 0) ? $summary->resultCount() . " (" . $successrate . "%)" : "?"; - $html .= get_string("tests_successful", self::COMPONENT_NAME) . "<br>"; + $html .= get_string("tests_successful", self::COMPONENT_NAME) . "<br />"; if ($summary->compilationErrorCount() > 0) { - $html .= $summary->compilationErrorCount() . get_string("compilation_errors", self::COMPONENT_NAME) . "<br>"; + $html .= $summary->compilationErrorCount() . get_string("compilation_errors", self::COMPONENT_NAME) . "<br />"; } if ($summary->unknownCount() > 0) { - $html .= $summary->unknownCount() . get_string("unknown_state", self::COMPONENT_NAME) . "<br>"; + $html .= $summary->unknownCount() . get_string("unknown_state", self::COMPONENT_NAME) . "<br />"; } - $html .= get_string("success_competencies", self::COMPONENT_NAME) . $summary->successfultestcompetencies . "<br>"; + $showncompetencies = explode(";", $summary->successfultestcompetencies); + $overallcompetencies = explode(";", $summary->overalltestcompetencies); + + $tmp = ""; + for ($index=0, $size=count($showncompetencies); $index<$size; $index++) { + $shown=$showncompetencies[$index]; + $comp=$overallcompetencies[$index]; + // If the competency was actually assessed by the assignment and tests, add a summary entry. + if($shown!="0") { + $tmp .= get_string("comp" . $index, self::COMPONENT_NAME) . " " . 100*floatval($shown)/floatval($comp) . "% " . "<br />"; + } + } + + $html .= get_string("success_competencies", self::COMPONENT_NAME) . $tmp . "<br />"; return html_writer::div($html, "dtaSubmissionSummary"); } @@ -199,6 +212,7 @@ class ViewSubmissionUtils { // Add empty div for spacing between summary and compentency table. $html .= html_writer::empty_tag("div", ["class" => "dtaSpacer"]); + // Competency assessment table. $body = ""; $tmp = ""; $tmp .= html_writer::tag("th", get_string("competencies", self::COMPONENT_NAME), ["class" => "dtaTableHeader"]); @@ -218,8 +232,9 @@ class ViewSubmissionUtils { $resultrowattributes = $tablerowattributes; $tmp = ""; $tmp .= html_writer::tag("td", get_string("comp" . $index, self::COMPONENT_NAME), $resultrowattributes); - $tmp .= html_writer::tag("td", floatval($shown)/floatval ($comp) . "% " . + $tmp .= html_writer::tag("td", 100*floatval($shown)/floatval($comp) . "% " . "(" . $shown . " / " . $comp . ")", $resultrowattributes); + $tmp .= html_writer::tag("td", get_string("comp_expl" . $index, self::COMPONENT_NAME), $resultrowattributes); $body .= html_writer::tag("tr", $tmp, $resultrowattributes); }