/** * Cancel users' submission to a facetoface session * * @param integer $sessionid ID of the facetoface_sessions record * @param integer $userid ID of the user record * @param string $cancelreason Short justification for cancelling the signup * @return boolean success */ function facetoface_user_cancel_submission($sessionid, $userid, $cancelreason = '') { global $DB; $signup = $DB->get_record('facetoface_signups', array('sessionid' => $sessionid, 'userid' => $userid)); if (!$signup) { return true; // Not signed up, nothing to do. } return facetoface_update_signup_status($signup->id, MDL_F2F_STATUS_USER_CANCELLED, $userid, $cancelreason); }
/** * Cancel users' submission to a facetoface session * * @param integer $sessionid ID of the facetoface_sessions record * @param integer $userid ID of the user record * @param string $cancelreason Short justification for cancelling the signup * @return boolean success */ function facetoface_user_cancel_submission($sessionid, $userid, $cancelreason='') { global $DB, $USER; $signup = $DB->get_record('facetoface_signups', array('sessionid' => $sessionid, 'userid' => $userid)); if (!$signup) { return true; // not signed up, nothing to do } $result = facetoface_update_signup_status($signup->id, MDL_F2F_STATUS_USER_CANCELLED, $USER->id, $cancelreason); if ($result) { // notify cancelled if (!$session = facetoface_get_session($sessionid)) { error_log('F2F: Could not load facetoface session'); return false; } if (!$facetoface = $DB->get_record('facetoface', array('id' => $session->facetoface))) { error_log('F2F: Could not load facetoface instance'); return false; } } return $result; }
function test_facetoface_update_signup_status() { // Test variables. $signupid1 = 1; $statuscode1 = 1; $createdby1 = 1; $note1 = 'note1'; $grade1 = 85; $signupid2 = 42; $statuscode2 = 7; $createdby2 = 40; $note2 = ''; $grade1 = 0; // Test for valid case. $this->assertEquals(facetoface_update_signup_status($signupid1, $statuscode1, $createdby1, $note1), 5); // Test for invalid case. // TODO invlaid case - how to cause sql error from here? //$this->assertFalse((bool)facetoface_update_signup_status($signupid2, $statuscode2, $createdby2, $note2), $this->msgfalse); $this->resetAfterTest(true); }