/** * Test validations for dayofweek field. */ public function test_validate_fields_dayofweek() { $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '*'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '0'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '1'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '6'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '7'); $this->assertFalse($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '20'); $this->assertFalse($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '*/'); $this->assertFalse($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '*/1'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '*/6'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '*/13'); $this->assertFalse($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '*/35'); $this->assertFalse($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '1,2'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '2,6'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '2,6,3'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '65,2,13'); $this->assertFalse($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '25,35'); $this->assertFalse($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '1-2'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '2-6'); $this->assertTrue($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '65-2'); $this->assertFalse($valid); $valid = \tool_task_edit_scheduled_task_form::validate_fields('dayofweek', '3-7'); $this->assertFalse($valid); }
$renderer = $PAGE->get_renderer('tool_task'); $action = optional_param('action', '', PARAM_ALPHAEXT); $taskname = optional_param('task', '', PARAM_RAW); $task = null; $mform = null; if ($taskname) { $task = \core\task\manager::get_scheduled_task($taskname); if (!$task) { print_error('invaliddata'); } } if ($action == 'edit') { $PAGE->navbar->add(get_string('edittaskschedule', 'tool_task', $task->get_name())); } if ($task) { $mform = new tool_task_edit_scheduled_task_form(null, $task); } if ($mform && ($mform->is_cancelled() || !empty($CFG->preventscheduledtaskchanges))) { redirect(new moodle_url('/admin/tool/task/scheduledtasks.php')); } else { if ($action == 'edit' && empty($CFG->preventscheduledtaskchanges)) { if ($data = $mform->get_data()) { if ($data->resettodefaults) { $defaulttask = \core\task\manager::get_default_scheduled_task($taskname); $task->set_minute($defaulttask->get_minute()); $task->set_hour($defaulttask->get_hour()); $task->set_month($defaulttask->get_month()); $task->set_day_of_week($defaulttask->get_day_of_week()); $task->set_day($defaulttask->get_day()); $task->set_disabled($defaulttask->get_disabled()); $task->set_customised(false);