Test feedback not behaving as expected

Anything about what happens on the user and teacher side
Post Reply
jamesd
Newbie
Posts: 17
Joined: Thu Sep 10, 2020 2:18 pm

Test feedback not behaving as expected

Post by jamesd »

Hi, this is the last thing that i'm confused about right now hopefully the community have seen it before or can help?

On a test I can configure Feedback in Feedback management.

We've set up messages for the following scores: 0-30, 31-49 and 50-100 and the test is set to express the score as a percentage.

When someone finishes the test they are shown the appropriate message but for some reason they are also always shown the message for 0-30 as well (see second attachment).

Any ideas anyone?
Attachments
Screenshot 2020-09-15 at 13.55.13.png
Screenshot 2020-09-15 at 14.00.16.png

alfa24
Senior Boarder
Posts: 967
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: Test feedback not behaving as expected

Post by alfa24 »

In /appLms/lib/lib.assessment_rule.php

find:

Code: Select all

function  __construct($test_id) {
		$this->test_id =(int)$test_id;
		$this->db =DbConn::getInstance();
	}
replace with:

Code: Select all

function  __construct($test_id) {
		$this->test_id =(int)$test_id;
		require_once(_lms_.'/lib/lib.test.php' );
		$test_man       = new TestManagement($this->test_id);
		$this->test_info = $test_man->getTestAllInfo();
		$this->db =DbConn::getInstance();
	}
find:

Code: Select all

public function setRulesFromScore($score_arr) {
		require_once(_base_.'/lib/lib.json.php');
		require_once(_lms_.'/lib/lib.subscribe.php');

		$res =true;

		$where_score_arr =array();
		foreach($score_arr as $val) {
			$where_score_arr[]="(category_id = '".(int)$val['category_id']."' ".
				"AND from_score <= '".(int)$val['score']."' AND to_score >= '".(int)$val['score']."')";
		}
replace with:

Code: Select all

public function setRulesFromScore($score_arr) {
		require_once(_base_.'/lib/lib.json.php');
		require_once(_lms_.'/lib/lib.subscribe.php');

		$res =true;

		$where_score_arr =array();
		$where_score_arr[]="(category_id = '".(int)$score_arr[$this->test_info['point_type']]['category_id']."' ".
					"AND from_score <= '".(int)$score_arr[$this->test_info['point_type']]['score']."' AND to_score >= '".(int)$score_arr[$this->test_info['point_type']]['score']."')";
I'm Jasmines, the One. If you need, you can contact me.

jamesd
Newbie
Posts: 17
Joined: Thu Sep 10, 2020 2:18 pm

Re: Test feedback not behaving as expected

Post by jamesd »

Yay! That worked perfectly. Thank you.

Post Reply