Proyectos de Subversion Moodle

Rev

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

Rev 11 Rev 1441
Línea 46... Línea 46...
46
     *
46
     *
47
     * @return string[]
47
     * @return string[]
48
     */
48
     */
49
    protected function get_default_tables(): array {
49
    protected function get_default_tables(): array {
50
        return [
50
        return [
51
            'course_completion',
-
 
52
            'course',
51
            'course',
-
 
52
            'course_completions',
53
            'grade_grades' ,
53
            'grade_grades' ,
54
            'grade_items',
54
            'grade_items',
55
            'user',
55
            'user',
56
        ];
56
        ];
57
    }
57
    }
Línea 58... Línea 58...
58
 
58
 
-
 
59
    /**
-
 
60
     * Database tables that this entity no longer uses
-
 
61
     *
-
 
62
     * @return string[]
-
 
63
     */
-
 
64
    protected function get_deprecated_tables(): array {
-
 
65
        return [
-
 
66
            'course_completions' => 'course_completion',
-
 
67
        ];
-
 
68
    }
-
 
69
 
59
    /**
70
    /**
60
     * The default title for this entity in the list of columns/conditions/filters in the report builder
71
     * The default title for this entity in the list of columns/conditions/filters in the report builder
61
     *
72
     *
62
     * @return lang_string
73
     * @return lang_string
63
     */
74
     */
Línea 90... Línea 101...
90
     *
101
     *
91
     * @return column[]
102
     * @return column[]
92
     */
103
     */
93
    protected function get_all_columns(): array {
104
    protected function get_all_columns(): array {
94
        [
105
        [
95
            'course_completion' => $coursecompletion,
-
 
96
            'course' => $course,
106
            'course' => $course,
-
 
107
            'course_completions' => $coursecompletion,
97
            'grade_grades' => $grade,
108
            'grade_grades' => $grade,
98
            'grade_items' => $gradeitem,
109
            'grade_items' => $gradeitem,
99
            'user' => $user,
110
            'user' => $user,
100
        ] = $this->get_table_aliases();
111
        ] = $this->get_table_aliases();
Línea 222... Línea 233...
222
 
233
 
223
        // Days taking course (days since course start date until completion or until current date if not completed).
234
        // Days taking course (days since course start date until completion or until current date if not completed).
224
        $currenttime = time();
235
        $currenttime = time();
225
        $columns[] = (new column(
236
        $columns[] = (new column(
226
            'dayscourse',
237
            'dayscourse',
227
            new lang_string('daystakingcourse', 'course'),
238
            new lang_string('daystakingcourse', 'completion'),
228
            $this->get_entity_name()
239
            $this->get_entity_name()
229
        ))
240
        ))
230
            ->add_joins($this->get_joins())
241
            ->add_joins($this->get_joins())
231
            ->set_type(column::TYPE_INTEGER)
242
            ->set_type(column::TYPE_INTEGER)
Línea 234... Línea 245...
234
                    WHEN {$coursecompletion}.id IS NULL THEN NULL
245
                    WHEN {$coursecompletion}.id IS NULL THEN NULL
235
                    ELSE (CASE WHEN {$coursecompletion}.timecompleted > 0 THEN
246
                    ELSE (CASE WHEN {$coursecompletion}.timecompleted > 0 THEN
236
                        {$coursecompletion}.timecompleted
247
                        {$coursecompletion}.timecompleted
237
                        ELSE
248
                        ELSE
238
                        {$currenttime}
249
                        {$currenttime}
239
                    END - {$course}.startdate) / " . DAYSECS . "
250
                    END - {$course}.startdate)
240
                END)", 'dayscourse')
251
                END)", 'dayscourse')
241
            ->set_is_sortable(true);
252
            ->set_is_sortable(true)
-
 
253
            ->set_callback([format::class, 'format_time']);
Línea 242... Línea 254...
242
 
254
 
243
        // Days since last completion (days since last enrolment date until completion or until current date if not completed).
255
        // Days since last completion (days since last enrolment date until completion or until current date if not completed).
244
        $columns[] = (new column(
256
        $columns[] = (new column(
245
            'daysuntilcompletion',
257
            'daysuntilcompletion',
Línea 253... Línea 265...
253
                    WHEN {$coursecompletion}.id IS NULL THEN NULL
265
                    WHEN {$coursecompletion}.id IS NULL THEN NULL
254
                    ELSE (CASE WHEN {$coursecompletion}.timecompleted > 0 THEN
266
                    ELSE (CASE WHEN {$coursecompletion}.timecompleted > 0 THEN
255
                        {$coursecompletion}.timecompleted
267
                        {$coursecompletion}.timecompleted
256
                        ELSE
268
                        ELSE
257
                        {$currenttime}
269
                        {$currenttime}
258
                    END - {$coursecompletion}.timeenrolled) / " . DAYSECS . "
270
                    END - {$coursecompletion}.timeenrolled)
259
                END)", 'daysuntilcompletion')
271
                END)", 'daysuntilcompletion')
260
            ->set_is_sortable(true);
272
            ->set_is_sortable(true)
-
 
273
            ->set_callback([format::class, 'format_time']);
Línea 261... Línea 274...
261
 
274
 
262
        // Student course grade.
275
        // Student course grade.
263
        $columns[] = (new column(
276
        $columns[] = (new column(
264
            'grade',
277
            'grade',
Línea 291... Línea 304...
291
     * Return list of all available filters
304
     * Return list of all available filters
292
     *
305
     *
293
     * @return filter[]
306
     * @return filter[]
294
     */
307
     */
295
    protected function get_all_filters(): array {
308
    protected function get_all_filters(): array {
296
        $coursecompletion = $this->get_table_alias('course_completion');
309
        $coursecompletion = $this->get_table_alias('course_completions');
Línea 297... Línea 310...
297
 
310
 
298
        // Completed status filter.
311
        // Completed status filter.
299
        $filters[] = (new filter(
312
        $filters[] = (new filter(
300
            boolean_select::class,
313
            boolean_select::class,