aboutsummaryrefslogtreecommitdiff
path: root/app/controllers
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2025-08-26 08:53:09 +0200
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-08-26 08:54:29 +0200
commit00dd77ab6d5763d93999f00250cb5e6f4de12e9c (patch)
treef85ecafa7cf671f337961c3669932963528592a4 /app/controllers
parent5903190449f30edf66e8f0bb479ef19797e0ba27 (diff)
fix filters for select and boolean, fix filtering for deleted datafields, use default as well, some cleanupbiest-5848
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/admin/courses.php11
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 {