MDL-77312 files: exclude drafts when determining license usage.

This commit is contained in:
Paul Holden 2023-02-20 14:40:58 +00:00
parent 4e632b7251
commit c5c9185801
No known key found for this signature in database
GPG key ID: A81A96D6045F6164

View file

@ -176,8 +176,9 @@ class license_manager {
if (!empty($licensetodelete)) {
if ($licensetodelete->custom == self::CUSTOM_LICENSE) {
// Check that the license is not in use by any files, if so it cannot be deleted.
$countfilesusinglicense = $DB->count_records('files', ['license' => $licenseshortname]);
// Check that the license is not in use by any non-draft files, if so it cannot be deleted.
$countfilesselect = 'license = :license AND NOT (component = \'user\' AND filearea = \'draft\')';
$countfilesusinglicense = $DB->count_records_select('files', $countfilesselect, ['license' => $licenseshortname]);
if ($countfilesusinglicense > 0) {
throw new moodle_exception('cannotdeletelicenseinuse', 'license');
}