diff --git a/classes/catscale.php b/classes/catscale.php index ebf967a6d..6bd812fe7 100644 --- a/classes/catscale.php +++ b/classes/catscale.php @@ -84,7 +84,10 @@ public static function return_catscale_object(int $catscaleid) { if ($catscale = $cache->get($catscaleid)) { return $catscale; } - $catscale = $DB->get_record('local_catquiz_catscales', ['id' => $catscaleid]) ?: null; + $catscale = $DB->get_record('local_catquiz_catscales', ['id' => $catscaleid]); + if (! $catscale) { + throw new \Exception(sprintf('Could not find a scale with ID %s', $catscaleid)); + } $cache->set($catscaleid, $catscale); return $catscale; } @@ -142,18 +145,16 @@ public static function return_catscaleids_and_links_for_testitemitem( */ public static function return_default_contextid_of_catscale(int $catscaleid) { - $catscale = self::return_catscale_object($catscaleid); - if (!empty($catscale) && isset($catscale->contextid)) { - return intval($catscale->contextid); - } else { - return null; - } - - $catscale = self::return_catscale_object($catscaleid); - if (!$catscale) { + try { + $catscale = self::return_catscale_object($catscaleid); + if (isset($catscale->contextid)) { + return intval($catscale->contextid); + } else { + return null; + } + } catch (\Exception $e) { return null; } - return $catscale->contextid; } /** @@ -567,18 +568,19 @@ private static function add_parentscales(int $scaleid, array $all): ?array { */ public static function get_link_to_catscale(int $catscaleid, $url = '/local/catquiz/manage_catscales.php') { - $catscale = self::return_catscale_object($catscaleid); - if (!empty($catscale->name)) { - $catscalename = $catscale->name; + try { + $catscale = self::return_catscale_object($catscaleid); + if (!empty($catscale->name)) { + $catscalename = $catscale->name; - $url = new moodle_url($url, ['scaleid' => $catscaleid], 'lcq_catscales'); - $linktoscale = html_writer::link($url, $catscalename); + $url = new moodle_url($url, ['scaleid' => $catscaleid], 'lcq_catscales'); + $linktoscale = html_writer::link($url, $catscalename); - return $linktoscale; - } else { + return $linktoscale; + } + } catch (\Exception $e) { return get_string("deletedcatscale", "local_catquiz"); } - } /**