Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
export_grades
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 2
12
0.00% covered (danger)
0.00%
0 / 1
 get_name
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 execute
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2// This file is part of Moodle - https://moodle.org/
3//
4// Moodle is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// Moodle is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with Moodle.  If not, see <https://www.gnu.org/licenses/>.
16
17namespace local_finalgrades\task;
18
19/**
20 * Export the final grades waiting to be sent. Runs nightly by default.
21 *
22 * @package    local_finalgrades
23 * @copyright  2026 DevLMS <contact@devlms.com>
24 * @license    https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25 */
26class export_grades extends \core\task\scheduled_task {
27    /**
28     * Task name.
29     *
30     * @return string
31     */
32    public function get_name() {
33        return get_string('task:export', 'local_finalgrades');
34    }
35
36    /**
37     * Make the export.
38     */
39    public function execute() {
40        $export = \local_finalgrades\local\exporter::run();
41        mtrace($export
42            ? "Exported {$export->rowcount} final grades to {$export->filename}."
43            : 'No final grades waiting to be sent.');
44    }
45}