Proyectos de Subversion Moodle

Rev

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

Rev 1 Rev 1441
Línea 100... Línea 100...
100
     * Returns list of all available columns
100
     * Returns list of all available columns
101
     *
101
     *
102
     * @return column[]
102
     * @return column[]
103
     */
103
     */
104
    protected function get_all_columns(): array {
104
    protected function get_all_columns(): array {
105
        global $DB;
-
 
106
 
-
 
107
        $contextalias = $this->get_table_alias('context');
105
        $contextalias = $this->get_table_alias('context');
108
        $groupsalias = $this->get_table_alias('groups');
106
        $groupsalias = $this->get_table_alias('groups');
Línea 109... Línea 107...
109
 
107
 
110
        // Name column.
108
        // Name column.
Línea 139... Línea 137...
139
            ->set_type(column::TYPE_TEXT)
137
            ->set_type(column::TYPE_TEXT)
140
            ->add_fields("{$groupsalias}.idnumber")
138
            ->add_fields("{$groupsalias}.idnumber")
141
            ->set_is_sortable(true);
139
            ->set_is_sortable(true);
Línea 142... Línea 140...
142
 
140
 
143
        // Description column.
-
 
144
        $descriptionfieldsql = "{$groupsalias}.description";
-
 
145
        if ($DB->get_dbfamily() === 'oracle') {
-
 
146
            $descriptionfieldsql = $DB->sql_order_by_text($descriptionfieldsql, 1024);
-
 
147
        }
141
        // Description column.
148
        $columns[] = (new column(
142
        $columns[] = (new column(
149
            'description',
143
            'description',
150
            new lang_string('description'),
144
            new lang_string('description'),
151
            $this->get_entity_name()
145
            $this->get_entity_name()
152
        ))
146
        ))
153
            ->add_joins($this->get_joins())
147
            ->add_joins($this->get_joins())
154
            ->set_type(column::TYPE_LONGTEXT)
-
 
155
            ->add_field($descriptionfieldsql, 'description')
148
            ->set_type(column::TYPE_LONGTEXT)
156
            ->add_fields("{$groupsalias}.descriptionformat, {$groupsalias}.id, {$groupsalias}.courseid")
149
            ->add_fields("{$groupsalias}.description, {$groupsalias}.descriptionformat, {$groupsalias}.id, {$groupsalias}.courseid")
157
            ->add_fields(context_helper::get_preload_record_columns_sql($contextalias))
150
            ->add_fields(context_helper::get_preload_record_columns_sql($contextalias))
158
            ->set_is_sortable(false)
151
            ->set_is_sortable(true)
159
            ->set_callback(static function(?string $description, stdClass $group): string {
152
            ->set_callback(static function(?string $description, stdClass $group): string {
Línea 160... Línea 153...
160
                global $CFG;
153
                global $CFG;
161
 
154
 
Línea 190... Línea 183...
190
            'visibility',
183
            'visibility',
191
            new lang_string('visibilityshort', 'core_group'),
184
            new lang_string('visibilityshort', 'core_group'),
192
            $this->get_entity_name()
185
            $this->get_entity_name()
193
        ))
186
        ))
194
            ->add_joins($this->get_joins())
187
            ->add_joins($this->get_joins())
195
            ->set_type(column::TYPE_INTEGER)
-
 
196
            ->add_fields("{$groupsalias}.visibility")
188
            ->add_fields("{$groupsalias}.visibility")
197
            ->set_is_sortable(true)
189
            ->set_is_sortable(true)
198
            // It doesn't make sense to offer integer aggregation methods for this column.
-
 
199
            ->set_disabled_aggregation(['avg', 'max', 'min', 'sum'])
-
 
200
            ->set_callback(static function(?int $visibility): string {
190
            ->set_callback(static function(?string $visibility): string {
201
                if ($visibility === null) {
191
                if ($visibility === null) {
202
                    return '';
192
                    return '';
203
                }
193
                }
Línea 204... Línea 194...
204
 
194
 
Línea 207... Línea 197...
207
                    GROUPS_VISIBILITY_MEMBERS => new lang_string('visibilitymembers', 'core_group'),
197
                    GROUPS_VISIBILITY_MEMBERS => new lang_string('visibilitymembers', 'core_group'),
208
                    GROUPS_VISIBILITY_OWN => new lang_string('visibilityown', 'core_group'),
198
                    GROUPS_VISIBILITY_OWN => new lang_string('visibilityown', 'core_group'),
209
                    GROUPS_VISIBILITY_NONE => new lang_string('visibilitynone', 'core_group'),
199
                    GROUPS_VISIBILITY_NONE => new lang_string('visibilitynone', 'core_group'),
210
                ];
200
                ];
Línea 211... Línea 201...
211
 
201
 
212
                return (string) ($options[$visibility] ?? $visibility);
202
                return (string) ($options[(int) $visibility] ?? $visibility);
Línea 213... Línea 203...
213
            });
203
            });
214
 
204
 
215
        // Participation column.
205
        // Participation column.
Línea 229... Línea 219...
229
            'picture',
219
            'picture',
230
            new lang_string('picture'),
220
            new lang_string('picture'),
231
            $this->get_entity_name()
221
            $this->get_entity_name()
232
        ))
222
        ))
233
            ->add_joins($this->get_joins())
223
            ->add_joins($this->get_joins())
234
            ->set_type(column::TYPE_INTEGER)
-
 
235
            ->add_fields("{$groupsalias}.picture, {$groupsalias}.id, {$contextalias}.id AS contextid")
224
            ->add_fields("{$groupsalias}.picture, {$groupsalias}.id, {$contextalias}.id AS contextid")
236
            ->set_is_sortable(false)
225
            ->set_is_sortable(false)
237
            // It doesn't make sense to offer integer aggregation methods for this column.
-
 
238
            ->set_disabled_aggregation(['avg', 'max', 'min', 'sum'])
-
 
239
            ->set_callback(static function ($picture, stdClass $group): string {
226
            ->set_callback(static function($value, stdClass $group): string {
240
                if (empty($group->picture)) {
227
                if (empty($group->picture)) {
241
                    return '';
228
                    return '';
242
                }
229
                }
Línea 243... Línea 230...
243
 
230