MDL-78397 course: update module name using API after duplicating.

This ensures that various ancillary tasks are also performed (such
as ensuring the gradebook item name matches).
This commit is contained in:
Paul Holden 2023-08-08 16:24:08 +01:00
parent f12e1b82a0
commit 4538b46a96
No known key found for this signature in database
GPG Key ID: A81A96D6045F6164

View File

@ -3444,10 +3444,9 @@ function duplicate_module($course, $cm) {
// Proceed with activity renaming before everything else. We don't use APIs here to avoid
// triggering a lot of create/update duplicated events.
$newcm = get_coursemodule_from_id($cm->modname, $newcmid, $cm->course);
// Add ' (copy)' to duplicates. Note we don't cleanup or validate lengths here. It comes
// from original name that was valid, so the copy should be too.
// Add ' (copy)' language string postfix to duplicated module.
$newname = get_string('duplicatedmodule', 'moodle', $newcm->name);
$DB->set_field($cm->modname, 'name', $newname, ['id' => $newcm->instance]);
set_coursemodule_name($newcm->id, $newname);
$section = $DB->get_record('course_sections', array('id' => $cm->section, 'course' => $cm->course));
$modarray = explode(",", trim($section->sequence));