MDL-69819 mod_feedback: Param now nullable in feedback_save_tmp_values

This commit is contained in:
David Woloszyn 2023-11-15 15:17:14 +11:00
parent 78131051a1
commit 6547554ffa
4 changed files with 7 additions and 5 deletions

View file

@ -553,6 +553,8 @@ class mod_feedback_completion extends mod_feedback_structure {
global $SESSION, $DB, $USER; global $SESSION, $DB, $USER;
$feedbackcompleted = $this->find_last_completed(); $feedbackcompleted = $this->find_last_completed();
// If no record is found, change false to null for safe use in feedback_save_tmp_values.
$feedbackcompleted = !$feedbackcompleted ? null : $feedbackcompleted;
$feedbackcompletedtmp = $this->get_current_completed_tmp(); $feedbackcompletedtmp = $this->get_current_completed_tmp();
if (feedback_check_is_switchrole()) { if (feedback_check_is_switchrole()) {

View file

@ -1878,10 +1878,10 @@ function feedback_set_tmp_values($feedbackcompleted) {
* *
* @global object * @global object
* @param object $feedbackcompletedtmp the temporary completed * @param object $feedbackcompletedtmp the temporary completed
* @param object $feedbackcompleted the target completed * @param stdClass|null $feedbackcompleted the target completed
* @return int the id of the completed * @return int the id of the completed
*/ */
function feedback_save_tmp_values($feedbackcompletedtmp, $feedbackcompleted) { function feedback_save_tmp_values($feedbackcompletedtmp, ?stdClass $feedbackcompleted = null) {
global $DB; global $DB;
$tmpcplid = $feedbackcompletedtmp->id; $tmpcplid = $feedbackcompletedtmp->id;

View file

@ -212,7 +212,7 @@ class events_test extends \advanced_testcase {
// Save the feedback. // Save the feedback.
$sink = $this->redirectEvents(); $sink = $this->redirectEvents();
$id = feedback_save_tmp_values($completed, false); $id = feedback_save_tmp_values($completed);
$events = $sink->get_events(); $events = $sink->get_events();
$event = array_pop($events); // Response submitted feedback event. $event = array_pop($events); // Response submitted feedback event.
$sink->close(); $sink->close();
@ -248,7 +248,7 @@ class events_test extends \advanced_testcase {
// Save the feedback. // Save the feedback.
$sink = $this->redirectEvents(); $sink = $this->redirectEvents();
feedback_save_tmp_values($completed, false); feedback_save_tmp_values($completed);
$events = $sink->get_events(); $events = $sink->get_events();
$event = array_pop($events); // Response submitted feedback event. $event = array_pop($events); // Response submitted feedback event.
$sink->close(); $sink->close();

View file

@ -52,7 +52,7 @@ class item_test extends advanced_testcase {
$completed = $DB->get_record('feedback_completedtmp', ['id' => $completedid], '*', MUST_EXIST); $completed = $DB->get_record('feedback_completedtmp', ['id' => $completedid], '*', MUST_EXIST);
$value = (object)['course_id' => $course->id, 'item' => $item->id, 'completed' => $completedid, 'value' => $valuetext]; $value = (object)['course_id' => $course->id, 'item' => $item->id, 'completed' => $completedid, 'value' => $valuetext];
$DB->insert_record('feedback_valuetmp', $value); $DB->insert_record('feedback_valuetmp', $value);
feedback_save_tmp_values($completed, false); feedback_save_tmp_values($completed);
// Set get_analysed() method accessibility. // Set get_analysed() method accessibility.
$itemclass = feedback_get_item_class('textarea'); $itemclass = feedback_get_item_class('textarea');