From 660f9c13ef80eb65294e9ea374d8056964ed0062 Mon Sep 17 00:00:00 2001 From: "Shamiso.Jaravaza" <33659194+ssj365@users.noreply.github.com> Date: Mon, 27 Nov 2023 23:56:16 -0700 Subject: [PATCH] MDL-79148 mod_bigbluebuttonbn: fix recording link --- .../classes/output/recording_row_playback.php | 4 --- .../output/recording_row_playback_test.php | 35 +++++++++++++++++++ 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/mod/bigbluebuttonbn/classes/output/recording_row_playback.php b/mod/bigbluebuttonbn/classes/output/recording_row_playback.php index f544251724e..448554a436a 100644 --- a/mod/bigbluebuttonbn/classes/output/recording_row_playback.php +++ b/mod/bigbluebuttonbn/classes/output/recording_row_playback.php @@ -108,10 +108,6 @@ class recording_row_playback implements renderable, templatable { return true; } - // Exclude imported recordings. - if ($this->recording->get('imported')) { - return false; - } $canmanagerecordings = roles::has_capability_in_course( $this->recording->get('courseid'), 'mod/bigbluebuttonbn:managerecordings'); $canviewallformats = roles::has_capability_in_course( diff --git a/mod/bigbluebuttonbn/tests/output/recording_row_playback_test.php b/mod/bigbluebuttonbn/tests/output/recording_row_playback_test.php index b3df4f291d9..510a789c604 100644 --- a/mod/bigbluebuttonbn/tests/output/recording_row_playback_test.php +++ b/mod/bigbluebuttonbn/tests/output/recording_row_playback_test.php @@ -148,4 +148,39 @@ class recording_row_playback_test extends \advanced_testcase { ]; } + + /** + * Test recording link is rendered for imported recordings. + * + * @return void + * @covers \recording_row_playback::should_be_included + */ + public function test_show_recording_links(): void { + global $PAGE; + $this->resetAfterTest(); + set_config('bigbluebuttonbn_importrecordings_enabled', 1); + $plugingenerator = $this->getDataGenerator()->get_plugin_generator('mod_bigbluebuttonbn'); + ['recordings' => $recordingsdata, 'activity' => $activity] = $this->create_activity_with_recordings( + $this->get_course(), + instance::TYPE_ALL, + self::RECORDING_DATA + ); + $recording = new recording(0, $recordingsdata[0]); + $instance = instance::get_from_instanceid($activity->id); + // Now create a new activity and import the recording. + $newactivity = $plugingenerator->create_instance([ + 'course' => $instance->get_course_id(), + 'type' => instance::TYPE_ALL, + 'name' => 'Example 2', + ]); + $plugingenerator->create_meeting([ + 'instanceid' => $newactivity->id, + ]); + $newinstance = instance::get_from_instanceid($newactivity->id); + // Import recording into new instance. + $importedrecording = $recording->create_imported_recording($newinstance); + $importedrowplayback = new recording_row_playback($importedrecording, $newinstance); + $importedrowinfo = $importedrowplayback->export_for_template($PAGE->get_renderer('mod_bigbluebuttonbn')); + $this->assertNotEmpty($importedrowinfo->playbacks); + } }