diff --git a/classes/form/form_delays_filter.php b/classes/form/form_delays_filter.php index 638f5012002f3bc9cd8cc6a9e2b8c3e5654fe7e0..f262d60771f34918442eb373e1c12d25834151d1 100644 --- a/classes/form/form_delays_filter.php +++ b/classes/form/form_delays_filter.php @@ -88,46 +88,4 @@ class form_delays_filter extends \moodleform { $this->add_action_buttons(true, get_string('apply', 'tool_lifecycle')); } - /** - * This method is called after definition(), data submission and set_data(). - * All form setup that is dependent on form values should go in here. - */ - public function definition_after_data() { - $cache = $this->get_cache(); - if ($this->is_submitted() && $this->is_validated()) { - if ($this->is_cancelled()) { - $cache->delete('delays_filter'); - } else { - $cache->set('delays_filter', $this->get_data()); - } - } else { - $this->set_data($cache->get('delays_filter')); - } - } - - /** - * Override get data to return cached data when nothing was submitted. - * @return object - */ - public function get_data() { - $data = parent::get_data(); - if ($data) { - return $data; - } else { - return $this->get_cache()->get('delays_filter'); - } - } - - /** - * Gets the cache. - * @return cache the cache to get the cached mform data. - */ - private function get_cache() { - if (!$this->cache) { - $this->cache = cache::make('tool_lifecycle', 'mformdata'); - } - return $this->cache; - } - - } diff --git a/classes/table/delayed_courses_table.php b/classes/table/delayed_courses_table.php index bb99d69d9275842fa6b309ec926a2509277b67f0..3277028e795b85ff13f8e4bbe13323d67ed9492b 100644 --- a/classes/table/delayed_courses_table.php +++ b/classes/table/delayed_courses_table.php @@ -48,9 +48,6 @@ class delayed_courses_table extends \table_sql { public function __construct($filterdata) { parent::__construct('tool_lifecycle-delayed-courses'); - global $DB; - $DB->set_debug(true); - $fields = 'c.id as courseid, c.fullname as coursefullname, cat.name as category, '; $selectseperatedelays = true; diff --git a/delayedcourses.php b/delayedcourses.php index e78a820406c15f4e51ad411175d7e48bd58a9bc6..f8f34c877b5ee5fc2f50e3e54aae97f52d3b9722 100644 --- a/delayedcourses.php +++ b/delayedcourses.php @@ -62,7 +62,19 @@ $PAGE->set_heading(get_string('delayed_courses_header', 'tool_lifecycle')); $mform = new form_delays_filter($PAGE->url); -$data = $mform->get_data(); +// Cache handling. +$cache = cache::make('tool_lifecycle', 'mformdata'); +if ($mform->is_cancelled()) { + $cache->delete('delays_filter'); + redirect($PAGE->url); +} else if ($data = $mform->get_data()) { + $cache->set('delays_filter', $data); +} else { + $data = $cache->get('delays_filter'); + if ($data) { + $mform->set_data($data); + } +} $table = new delayed_courses_table($data); $table->define_baseurl($PAGE->url); @@ -70,4 +82,14 @@ $table->define_baseurl($PAGE->url); echo $OUTPUT->header(); $mform->display(); $table->out(100, false); + +$params = ['sesskey' => sesskey(), 'action' => 'bulk-delete']; +if ($data) { + $params = array_merge($params, (array) $data); +} + +$button = new single_button(new moodle_url($PAGE->url, $params), + get_string('delete_all_delays', 'tool_lifecycle')); + +echo $OUTPUT->render($button); echo $OUTPUT->footer(); diff --git a/lang/en/tool_lifecycle.php b/lang/en/tool_lifecycle.php index a92b9c7804929d7819bc661116ca5157c5f18975..a8cc60b78413b5b5e1ceb0596760d9bb9c3eae44 100644 --- a/lang/en/tool_lifecycle.php +++ b/lang/en/tool_lifecycle.php @@ -205,3 +205,4 @@ $string['show_delays'] = 'Kind of view'; $string['all_delays'] = 'All delays'; $string['globally'] = 'Global delays'; $string['delays_for_workflow'] = 'Delays for "{$a}"'; +$string['delete_all_delays'] = 'Delete all delays';