diff --git a/classes/table/delayed_courses_table.php b/classes/table/delayed_courses_table.php
index bd3dc9c7633713e7b4e1dc5d460947ef3eb102eb..e3f4d653c5f58bbd3a9170680177612bb8045c46 100644
--- a/classes/table/delayed_courses_table.php
+++ b/classes/table/delayed_courses_table.php
@@ -49,6 +49,7 @@ class delayed_courses_table extends \table_sql {
'FROM {tool_lifecycle_delayed_workf} dw ' .
'JOIN {tool_lifecycle_workflow} w ON dw.workflowid = w.id ' . // To make sure no outdated delays are counted.
'WHERE dw.delayeduntil >= :time ' .
+ 'AND w.timeactive IS NOT NULL ' .
// TODO AND dw.workflowid IN $workflows
'GROUP BY courseid ' .
') maxtable ' .
@@ -137,7 +138,8 @@ class delayed_courses_table extends \table_sql {
public function col_tools($row) {
global $PAGE, $OUTPUT;
$button = new \single_button(
- new \moodle_url($PAGE->url, array('cid' => $row->courseid)),
+ new \moodle_url($PAGE->url,
+ array('action' => 'delete', 'cid' => $row->courseid, 'sesskey' => sesskey())),
get_string('delete_delay', 'tool_lifecycle'));
return $OUTPUT->render($button);
}
diff --git a/delayedcourses.php b/delayedcourses.php
index 3f68672f7ff39a6e0ccf3b6847d9e36ac0ab2eaa..33fabc725bce74e5c8d68de3cf85e855af62bed5 100644
--- a/delayedcourses.php
+++ b/delayedcourses.php
@@ -33,6 +33,27 @@ require_capability('moodle/site:config', context_system::instance());
admin_externalpage_setup('tool_lifecycle_delayed_courses');
+$action = optional_param('action', null, PARAM_ALPHANUMEXT);
+if ($action) {
+ if ($action == 'delete') {
+ global $DB;
+ require_sesskey();
+ $cid = required_param('cid', PARAM_INT);
+ $workflow = optional_param('workflow', null, PARAM_ALPHANUM);
+ if ($workflow) {
+ if (is_int($workflow)) {
+ $DB->delete_records('tool_lifecycle_delayed_workf', array('courseid' => $cid, 'workflowid' => $workflow));
+ } else if ($workflow == 'global') {
+ $DB->delete_records('tool_lifecycle_delayed', array('courseid' => $cid));
+ }
+ } else {
+ $DB->delete_records('tool_lifecycle_delayed', array('courseid' => $cid));
+ $DB->delete_records('tool_lifecycle_delayed_workf', array('courseid' => $cid));
+ }
+ }
+ redirect($PAGE->url);
+}
+
$PAGE->set_url(new \moodle_url('/admin/tool/lifecycle/delayedcourses.php'));
$PAGE->set_title(get_string('delayed_courses_header', 'tool_lifecycle'));
@@ -41,7 +62,6 @@ $PAGE->set_heading(get_string('delayed_courses_header', 'tool_lifecycle'));
$table = new delayed_courses_table();
$table->define_baseurl($PAGE->url);
-
echo $OUTPUT->header();
$table->out(100, false);
echo $OUTPUT->footer();