Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 1441
Línea 87... Línea 87...
87
     *
87
     *
88
     * @return column[]
88
     * @return column[]
89
     */
89
     */
90
    protected function get_all_columns(): array {
90
    protected function get_all_columns(): array {
91
        $userenrolments = $this->get_table_alias('user_enrolments');
91
        $userenrolments = $this->get_table_alias('user_enrolments');
92
        $enrol = $this->get_table_alias('enrol');
-
 
93
 
-
 
94
        // Enrolment method column (Deprecated since Moodle 4.3, to remove in MDL-78118).
-
 
95
        $columns[] = (new column(
-
 
96
            'method',
-
 
97
            new lang_string('method', 'enrol'),
-
 
98
            $this->get_entity_name()
-
 
99
        ))
-
 
100
            ->add_joins($this->get_joins())
-
 
101
            ->set_type(column::TYPE_TEXT)
-
 
102
            ->add_fields("{$enrol}.enrol, {$enrol}.id")
-
 
103
            ->set_is_sortable(true)
-
 
104
            ->set_is_deprecated('See \'enrol:name\' for replacement')
-
 
105
            ->add_callback([enrolment_formatter::class, 'enrolment_name']);
-
 
Línea 106... Línea 92...
106
 
92
 
107
        // Enrolment time created.
93
        // Enrolment time created.
108
        $columns[] = (new column(
94
        $columns[] = (new column(
109
            'timecreated',
95
            'timecreated',
Línea 154... Línea 140...
154
            ->set_type(column::TYPE_TEXT)
140
            ->set_type(column::TYPE_TEXT)
155
            ->add_field($this->get_status_field_sql(), 'status')
141
            ->add_field($this->get_status_field_sql(), 'status')
156
            ->set_is_sortable(true)
142
            ->set_is_sortable(true)
157
            ->add_callback([enrolment_formatter::class, 'enrolment_status']);
143
            ->add_callback([enrolment_formatter::class, 'enrolment_status']);
Línea 158... Línea -...
158
 
-
 
159
        // Role column (Deprecated since Moodle 4.3, to remove in MDL-78118).
-
 
160
        $ctx = database::generate_alias();
-
 
161
        $ra = database::generate_alias();
-
 
162
        $r = database::generate_alias();
-
 
163
        $columns[] = (new column(
-
 
164
            'role',
-
 
165
            new lang_string('role', 'moodle'),
-
 
166
            $this->get_entity_name()
-
 
167
        ))
-
 
168
            ->add_joins($this->get_joins())
-
 
169
            ->add_join("LEFT JOIN {context} {$ctx}
-
 
170
                ON {$ctx}.instanceid = {$enrol}.courseid AND {$ctx}.contextlevel = " . CONTEXT_COURSE)
-
 
171
            ->add_join("LEFT JOIN {role_assignments} {$ra}
-
 
172
                ON {$ra}.contextid = {$ctx}.id AND {$ra}.userid = {$userenrolments}.userid")
-
 
173
            ->add_join("LEFT JOIN {role} {$r} ON {$r}.id = {$ra}.roleid")
-
 
174
            ->set_type(column::TYPE_TEXT)
-
 
175
            ->add_fields("{$r}.id, {$r}.name, {$r}.shortname, {$ctx}.instanceid")
-
 
176
            ->set_is_sortable(true, ["{$r}.shortname"])
-
 
177
            ->set_is_deprecated('See \'role:name\' for replacement')
-
 
178
            ->add_callback(static function(?string $value, stdClass $row): string {
-
 
179
                if (!$row->id) {
-
 
180
                    return '';
-
 
181
                }
-
 
182
                $context = context_course::instance($row->instanceid);
-
 
183
                return role_get_name($row, $context, ROLENAME_ALIAS);
-
 
184
            });
-
 
185
 
144
 
186
        return $columns;
145
        return $columns;
Línea 187... Línea 146...
187
    }
146
    }
188
 
147
 
Línea 213... Línea 172...
213
     *
172
     *
214
     * @return filter[]
173
     * @return filter[]
215
     */
174
     */
216
    protected function get_all_filters(): array {
175
    protected function get_all_filters(): array {
217
        $userenrolments = $this->get_table_alias('user_enrolments');
176
        $userenrolments = $this->get_table_alias('user_enrolments');
218
        $enrol = $this->get_table_alias('enrol');
-
 
219
 
-
 
220
        // Enrolment method (Deprecated since Moodle 4.3, to remove in MDL-78118).
-
 
221
        $enrolmentmethods = static function(): array {
-
 
222
            return array_map(static function(enrol_plugin $plugin): string {
-
 
223
                return get_string('pluginname', 'enrol_' . $plugin->get_name());
-
 
224
            }, enrol_get_plugins(true));
-
 
225
        };
-
 
226
        $filters[] = (new filter(
-
 
227
            select::class,
-
 
228
            'method',
-
 
229
            new lang_string('method', 'enrol'),
-
 
230
            $this->get_entity_name(),
-
 
231
            "{$enrol}.enrol"
-
 
232
        ))
-
 
233
            ->add_joins($this->get_joins())
-
 
234
            ->set_is_deprecated('See \'enrol:plugin\' for replacement')
-
 
235
            ->set_options_callback($enrolmentmethods);
-
 
Línea 236... Línea 177...
236
 
177
 
237
        // Enrolment time created.
178
        // Enrolment time created.
238
        $filters[] = (new filter(
179
        $filters[] = (new filter(
239
            date::class,
180
            date::class,