Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
// This file is part of Moodle - http://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 <http://www.gnu.org/licenses/>.
16
 
17
declare(strict_types=1);
18
 
19
namespace core_reportbuilder\table;
20
 
21
use moodle_url;
22
 
23
/**
24
 * Custom report view dynamic table class
25
 *
26
 * @package     core_reportbuilder
27
 * @copyright   2021 David Matamoros <davidmc@moodle.com>
28
 * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
29
 */
30
class custom_report_table_view extends custom_report_table {
31
 
32
    /** @var bool We're pre/viewing the report, not editing it */
33
    protected const REPORT_EDITING = false;
34
 
35
    /**
36
     * Override printed headers, to use those of grandparent class
37
     */
38
    public function print_headers() {
39
        $columns = $this->get_active_columns();
40
        if (empty($columns)) {
41
            return;
42
        }
43
 
44
        base_report_table::print_headers();
45
    }
46
 
47
    /**
48
     * Override base implementation, return pagesize as defined in table filterset
49
     *
50
     * @return int
51
     */
52
    public function get_default_per_page(): int {
53
        $filterset = $this->get_filterset();
54
 
55
        return $filterset->get_filter('pagesize')->current();
56
    }
57
 
58
    /**
59
     * Get the html for the download buttons
60
     *
61
     * @return string
62
     */
63
    public function download_buttons(): string {
64
        global $OUTPUT;
65
 
66
        if (!$this->is_downloading()) {
67
            return $OUTPUT->download_dataformat_selector(
68
                get_string('downloadas', 'table'),
69
                new moodle_url('/reportbuilder/download.php'),
70
                'download',
71
                ['id' => $this->persistent->get('id')]
72
            );
73
        }
74
 
75
        return '';
76
    }
77
}