diff --git a/Modules/Test/classes/class.ilObjTest.php b/Modules/Test/classes/class.ilObjTest.php index e2e163873cfb..1baa22badd57 100755 --- a/Modules/Test/classes/class.ilObjTest.php +++ b/Modules/Test/classes/class.ilObjTest.php @@ -12137,13 +12137,13 @@ public static function ensureParticipantsLastActivePassFinished($testObjId, $use // end-patch lok } - public static function isParticipantsLastPassActive($testObjId, $userId) + public static function isParticipantsLastPassActive($testRefId, $userId) { global $ilDB, $lng, $ilPluginAdmin; /* @var ilObjTest $testOBJ */ - $testOBJ = ilObjectFactory::getInstanceByRefId($testObjId,false); + $testOBJ = ilObjectFactory::getInstanceByRefId($testRefId,false); $activeId = $testOBJ->getActiveIdOfUser($userId); diff --git a/Modules/Test/classes/class.ilTestEvaluationGUI.php b/Modules/Test/classes/class.ilTestEvaluationGUI.php index 7a0aa9f8788b..b6dcf1135d9b 100644 --- a/Modules/Test/classes/class.ilTestEvaluationGUI.php +++ b/Modules/Test/classes/class.ilTestEvaluationGUI.php @@ -1159,7 +1159,7 @@ function outUserPassDetails() { $list_of_answers = $this->getPassListOfAnswers( $result_array, $active_id, $pass, $this->object->getShowSolutionListComparison(), - false, false, false, true, $objectivesList + false, false, false, true, $objectivesList, $testResultHeaderLabelBuilder ); $tpl->setVariable("LIST_OF_ANSWERS", $list_of_answers); } diff --git a/Modules/Test/classes/class.ilTestResultHeaderLabelBuilder.php b/Modules/Test/classes/class.ilTestResultHeaderLabelBuilder.php index bddac1b95e36..da6d3ec1af5a 100644 --- a/Modules/Test/classes/class.ilTestResultHeaderLabelBuilder.php +++ b/Modules/Test/classes/class.ilTestResultHeaderLabelBuilder.php @@ -336,4 +336,16 @@ private function getAttemptLabel($attemptNumber) { return sprintf($this->lng->txt('tst_res_lo_try_n'), $attemptNumber); } + + public function getListOfAnswersHeaderLabel($attemptNumber) + { + $langVar = 'tst_eval_results_by_pass'; + + if( $this->getObjectiveOrientedContainerId() ) + { + $langVar = 'tst_eval_results_by_pass_lo'; + } + + return sprintf($this->lng->txt($langVar), $attemptNumber); + } } \ No newline at end of file diff --git a/Modules/Test/classes/class.ilTestServiceGUI.php b/Modules/Test/classes/class.ilTestServiceGUI.php index 99a0eee57ecb..3de7f527ccc1 100755 --- a/Modules/Test/classes/class.ilTestServiceGUI.php +++ b/Modules/Test/classes/class.ilTestServiceGUI.php @@ -325,7 +325,7 @@ public function getPassOverview(ilTestSession $testSession, $targetclass = "", $ * @return string HTML code of the list of answers * @access public */ - function getPassListOfAnswers(&$result_array, $active_id, $pass, $show_solutions = FALSE, $only_answered_questions = FALSE, $show_question_only = FALSE, $show_reached_points = FALSE, $anchorNav = false, ilTestQuestionRelatedObjectivesList $objectivesList = null) + function getPassListOfAnswers(&$result_array, $active_id, $pass, $show_solutions = FALSE, $only_answered_questions = FALSE, $show_question_only = FALSE, $show_reached_points = FALSE, $anchorNav = false, ilTestQuestionRelatedObjectivesList $objectivesList = null, ilTestResultHeaderLabelBuilder $testResultHeaderLabelBuilder = null) { $maintemplate = new ilTemplate("tpl.il_as_tst_list_of_answers.html", TRUE, TRUE, "Modules/Test"); @@ -401,7 +401,7 @@ function getPassListOfAnswers(&$result_array, $active_id, $pass, $show_solutions } } } - $maintemplate->setVariable("RESULTS_OVERVIEW", sprintf($this->lng->txt("tst_eval_results_by_pass"), $pass + 1)); + $maintemplate->setVariable("RESULTS_OVERVIEW", $testResultHeaderLabelBuilder->getListOfAnswersHeaderLabel($pass + 1)); return $maintemplate->get(); } diff --git a/Modules/Test/classes/class.ilTestSessionFactory.php b/Modules/Test/classes/class.ilTestSessionFactory.php index 5a73a0ace487..d0eb21a8ae7e 100644 --- a/Modules/Test/classes/class.ilTestSessionFactory.php +++ b/Modules/Test/classes/class.ilTestSessionFactory.php @@ -14,7 +14,7 @@ class ilTestSessionFactory * @var ilTestSession|ilTestSessionDynamicQuestionSet */ private $testSession = array(); - + /** * object instance of current test * @var ilObjTest @@ -33,6 +33,7 @@ public function __construct(ilObjTest $testOBJ) /** * temporarily bugfix for resetting the state of this singleton * smeyer + * --> BH: not required anymore */ public function reset() { diff --git a/lang/ilias_de.lang b/lang/ilias_de.lang index 6d20f38a209b..0469aa39b77f 100755 --- a/lang/ilias_de.lang +++ b/lang/ilias_de.lang @@ -1153,6 +1153,7 @@ assessment#:#tst_enter_questionpool#:#Bitte geben Sie den Namen eines Fragenpool assessment#:#tst_eval_no_anonymous_aggregation#:#Der Test wurde bislang noch von niemandem durchgeführt. Es existieren keine anonym aggregierten Ergebnisse. assessment#:#tst_eval_question_points#:#Fragenergebnisse für Testdurchlauf %s assessment#:#tst_eval_results_by_pass#:#Detaillierte Testergebnisse für Testdurchlauf %s +assessment#:#tst_eval_results_by_pass_lo#:#Detaillierte Testergebnisse für den %s. Versuch assessment#:#tst_eval_show_answer#:#Antwort anzeigen assessment#:#tst_eval_total_finished#:#Gesamtzahl aller beendeten Tests (Benutzer, die maximale Anzahl Passes eingereicht haben.) assessment#:#tst_eval_total_finished_average_time#:#Mittlere Bearbeitungsdauer aller Tests diff --git a/lang/ilias_en.lang b/lang/ilias_en.lang index d13528db80ba..48c1defdf7c8 100644 --- a/lang/ilias_en.lang +++ b/lang/ilias_en.lang @@ -1004,6 +1004,7 @@ assessment#:#tst_enter_questionpool#:#Please enter a question pool name where th assessment#:#tst_eval_no_anonymous_aggregation#:#No one has entered the test yet. There are no anonymous aggregated test results available. assessment#:#tst_eval_question_points#:#Question Results for Pass %s assessment#:#tst_eval_results_by_pass#:#List of Answers for Pass %s +assessment#:#tst_eval_results_by_pass_lo#:#List of Answers for Attempt %s assessment#:#tst_eval_show_answer#:#Show Answer assessment#:#tst_eval_total_finished_average_time#:#Average test processing time assessment#:#tst_eval_total_finished#:#Total finished tests (Users that used up all possible passes.)