/** * Action called on reject of a face to face action * * @param array $eventdata * @param object $msg */ function onreject($eventdata, $msg) { global $DB; // can manipulate the language by setting $SESSION->lang temporarily // Load course $userid = $eventdata['userid']; $session = $eventdata['session']; $facetoface = $eventdata['facetoface']; if (!$course = $DB->get_record('course', array('id' => $facetoface->course))) { print_error('error:coursemisconfigured', 'facetoface'); return false; } if (!$cm = get_coursemodule_from_instance('facetoface', $facetoface->id, $course->id)) { print_error('error:incorrectcoursemodule', 'facetoface'); return false; } $form = new stdClass(); $form->s = $session->id; $form->requests = array($userid => 1); // 2 = approve, 1 = decline error_log(var_export($form, true)); // Decline requests if (facetoface_approve_requests($form)) { add_to_log($course->id, 'facetoface', 'approve requests', "view.php?id=$cm->id", $facetoface->id, $cm->id); } // issue notification that registration has been declined return $this->acceptreject_notification($userid, $facetoface, $session, 'status_declined'); }
*/ if ($form = data_submitted()) { if (!confirm_sesskey()) { print_error('confirmsesskeybad', 'error'); } $return = new moodle_url('/mod/facetoface/attendees.php', array('s' => $s)); if ($cancelform) { redirect($return); die(); } // Approve requests if ($action == 'approvalrequired' && !empty($form->requests)) { if (facetoface_approve_requests($form)) { add_to_log($course->id, 'facetoface', 'approve requests', "view.php?id=$cm->id", $facetoface->id, $cm->id); } redirect($return); die(); } // Take attendance if ($action == 'takeattendance' && $takeattendance) { if (facetoface_take_attendance($form)) { add_to_log($course->id, 'facetoface', 'take attendance', "view.php?id=$cm->id", $facetoface->id, $cm->id); } else { add_to_log($course->id, 'facetoface', 'take attendance (FAILED)', "view.php?id=$cm->id", $facetoface->id, $cm->id); } redirect($return);
print_error('nopermissions', '', '', get_capability_string('mod/facetoface:takeattendance')); } /* * Handle submitted data */ if ($form = data_submitted()) { if (!confirm_sesskey()) { print_error('confirmsesskeybad', 'error'); } $return = "{$CFG->wwwroot}/mod/facetoface/attendees.php?s={$s}&backtoallsessions={$backtoallsessions}"; if ($cancelform) { redirect($return); } else { if (!empty($form->requests)) { // Approve requests. if ($canapproverequests && facetoface_approve_requests($form)) { // Logging and events trigger. $params = array('context' => $contextmodule, 'objectid' => $session->id); $event = \mod_facetoface\event\approve_requests::create($params); $event->add_record_snapshot('facetoface_sessions', $session); $event->add_record_snapshot('facetoface', $facetoface); $event->trigger(); } redirect($return); } else { if ($takeattendance) { if (facetoface_take_attendance($form)) { // Logging and events trigger. $params = array('context' => $contextmodule, 'objectid' => $session->id); $event = \mod_facetoface\event\take_attendance::create($params); $event->add_record_snapshot('facetoface_sessions', $session);
function test_facetoface_approve_requests() { // Test variables. $data1 = new stdClass(); $data1->s = 1; $data1->submissionid = 1; $data1->requests = array(0 => new stdClass()); $data1->requests[0]->request = 1; // Test for valid case. $this->assertTrue((bool)facetoface_approve_requests($data1), $this->msgtrue); // TODO test for invalid case $this->resetAfterTest(true); }