MDL-48477 questions: no delete icon for only top-level category
authorTim Hunt <T.J.Hunt@open.ac.uk>
Mon, 12 Jan 2015 13:18:49 +0000 (13:18 +0000)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Thu, 15 Jan 2015 10:20:47 +0000 (10:20 +0000)
The back end code already threw an exception if you clicked the icon,
so you could not delete the category, but we should not have shown the
icon in the first place.

Thanks to Pramith Dayananda for working out the fix for this issue. I am
just committing it.

question/category_class.php

index 4684415..b5d6332 100644 (file)
@@ -113,7 +113,7 @@ class question_category_list_item extends list_item {
                 array('context' => $this->parentlist->context, 'noclean' => true));
 
         // don't allow delete if this is the last category in this context.
-        if (count($this->parentlist->records) != 1) {
+        if (!question_is_only_toplevel_category_in_context($category->id)) {
             $deleteurl = new moodle_url($this->parentlist->pageurl, array('delete' => $this->id, 'sesskey' => sesskey()));
             $item .= html_writer::link($deleteurl,
                     html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('t/delete'),