/**
     * 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');
    }
Example #2
0
 */
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);
Example #3
0
    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);
Example #4
0
    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);
    }