From c6607726001d238716905839b1f4ec4a8b0d92fa Mon Sep 17 00:00:00 2001 From: Jake Dallimore Date: Mon, 19 Nov 2018 11:06:15 +0800 Subject: [PATCH] MDL-63973 core_badges: fix related badges count in the badges tabs If A is related to B, this should show a 1 count for either A or B. --- badges/renderer.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/badges/renderer.php b/badges/renderer.php index 307675db55c..c11fd7663a7 100644 --- a/badges/renderer.php +++ b/badges/renderer.php @@ -722,8 +722,10 @@ class core_badges_renderer extends plugin_renderer_base { } if (has_capability('moodle/badges:configuredetails', $context)) { - $related = $DB->count_records_sql("SELECT COUNT(br.badgeid) - FROM {badge_related} br WHERE br.badgeid = :badgeid", array('badgeid' => $badgeid)); + $sql = "SELECT COUNT(br.badgeid) + FROM {badge_related} br + WHERE (br.badgeid = :badgeid OR br.relatedbadgeid = :badgeid2)"; + $related = $DB->count_records_sql($sql, ['badgeid' => $badgeid, 'badgeid2' => $badgeid]); $row[] = new tabobject('brelated', new moodle_url('/badges/related.php', array('id' => $badgeid)), get_string('brelated', 'badges', $related) @@ -1502,4 +1504,4 @@ class badge_competencies_alignment implements renderable $this->alignments = $alignments; $this->currentbadgeid = $currentbadgeid; } -} \ No newline at end of file +} -- 2.43.0