// Notify the user of the cancellation if the session hasn't started yet. $timenow = time(); if (!$suppressemail and !facetoface_has_session_started($session, $timenow)) { facetoface_send_cancellation_notice($facetoface, $session, $removeuser); } } else { $errors[] = $cancelerr; $usernamefields = get_all_user_name_fields(true); $erruser = $DB->get_record('user', array('id' => $removeuser), "id, {$usernamefields}"); $errors[] = get_string('error:removeattendee', 'facetoface', fullname($erruser)); } } $potentialuserselector->invalidate_selected_users(); $existinguserselector->invalidate_selected_users(); // Update attendees. facetoface_update_attendees($session); } } // Main page. $pagetitle = format_string($facetoface->name); $PAGE->set_cm($cm); $PAGE->set_url('/mod/facetoface/editattendees.php', array('s' => $s, 'backtoallsessions' => $backtoallsessions)); $PAGE->set_title($pagetitle); $PAGE->set_heading($course->fullname); echo $OUTPUT->header(); echo $OUTPUT->box_start(); echo $OUTPUT->heading(get_string('addremoveattendees', 'facetoface')); // Create user_selector form. $out = html_writer::start_tag('form', array('id' => 'assignform', 'method' => 'post', 'action' => $PAGE->url)); $out .= html_writer::start_tag('div'); $out .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => "previoussearch", 'value' => $previoussearch));
/** * Cancel a user who signed up earlier * * @param class $session Record from the facetoface_sessions table * @param integer $userid ID of the user to remove from the session * @param bool $forcecancel Forces cancellation of sessions that have already occurred * @param string $errorstr Passed by reference. For setting error string in calling function * @param string $cancelreason Optional justification for cancelling the signup */ function facetoface_user_cancel($session, $userid=false, $forcecancel=false, &$errorstr=null, $cancelreason='') { if (!$userid) { global $USER; $userid = $USER->id; } // if $forcecancel is set, cancel session even if already occurred // used by facetotoface_delete_session() if (!$forcecancel) { $timenow = time(); // don't allow user to cancel a session that has already occurred if (facetoface_has_session_started($session, $timenow)) { $errorstr = get_string('error:eventoccurred', 'facetoface'); return false; } } if (facetoface_user_cancel_submission($session->id, $userid, $cancelreason)) { facetoface_remove_session_from_calendar($session, 0, $userid); facetoface_update_attendees($session); return true; } $errorstr = get_string('error:cancelbooking', 'facetoface'); return false; }
function test_facetoface_update_attendees() { // Test variables. $session1 = $this->sessions['sess0']; $sess0 = $this->array_to_object($session1); $this->assertTrue((bool)facetoface_update_attendees($sess0), $this->msgtrue); $this->resetAfterTest(true); }