Esempio n. 1
0
 /**
  * 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);
 }
Esempio n. 2
0
$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);