diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-08-26 08:53:09 +0200 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-08-26 08:54:29 +0200 |
| commit | 00dd77ab6d5763d93999f00250cb5e6f4de12e9c (patch) | |
| tree | f85ecafa7cf671f337961c3669932963528592a4 /app | |
| parent | 5903190449f30edf66e8f0bb479ef19797e0ba27 (diff) | |
fix filters for select and boolean, fix filtering for deleted datafields, use default as well, some cleanupbiest-5848
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/admin/courses.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php index 426f25a..32081e3 100644 --- a/app/controllers/admin/courses.php +++ b/app/controllers/admin/courses.php @@ -59,7 +59,7 @@ class Admin_CoursesController extends AuthenticatedController URLHelper::getURL( 'dispatch.php/admin/courses/index' ), - ['onclick' => "$(this).toggleClass(['options-checked', 'options-unchecked']); STUDIP.AdminCourses.App.changeFilter({'df_".$datafield->id."': $(this).hasClass('options-checked') ? 1 : 0}); return false;"] + ['onclick' => "$(this).toggleClass(['options-checked', 'options-unchecked']); STUDIP.AdminCourses.App.changeFilter({'df_".$datafield->id."': $(this).hasClass('options-checked') ? 1 : ''}); return false;"] ); return $checkboxWidget; } elseif ($entry instanceof DataFieldSelectboxEntry) { @@ -333,11 +333,17 @@ class Admin_CoursesController extends AuthenticatedController 'teacher_filter' => $configuration->ADMIN_COURSES_TEACHERFILTER, ] ); + $filters = array_filter( + $filters, + function ($value): bool { + return isset($value) && $value !== ''; + } + ); return [ 'setActivatedFields' => $this->getFilterConfig(), 'setActionArea' => $configuration->MY_COURSES_ACTION_AREA ?? '1', - 'setFilter' => array_filter($filters), + 'setFilter' => $filters, ]; } @@ -602,6 +608,7 @@ class Admin_CoursesController extends AuthenticatedController isset($filters[$key]) && $filters[$key] !== '' && in_array($datafield->id, $activeSidebarElements['datafields']) + && $filters[$key] != $datafield->default_value ) { $datafields_filters[$datafield->id] = $filters[$key]; } else { |
