Skip to content
Snippets Groups Projects
Commit 2eef63f1 authored by Jan-Hendrik Willms's avatar Jan-Hendrik Willms
Browse files

make semester and semtype condition optional, fixes #145

Closes #145

Merge request studip/studip!1063
parent a46350a1
No related branches found
No related tags found
No related merge requests found
...@@ -451,26 +451,23 @@ class Course_MembersController extends AuthenticatedController ...@@ -451,26 +451,23 @@ class Course_MembersController extends AuthenticatedController
global $perm; global $perm;
if ($perm->have_perm('root')) { if ($perm->have_perm('root')) {
$parameters = [ $parameters = [
'semtypes' => studygroup_sem_types() ?: [], 'semtypes' => studygroup_sem_types() ?: null,
'exclude' => [Context::getId()], 'exclude' => [Context::getId()],
'semesters' => array_map(function ($s) { return $s->semester_id; }, Semester::getAll())
]; ];
} else if ($perm->have_perm('admin')) { } else if ($perm->have_perm('admin')) {
$parameters = [ $parameters = [
'semtypes' => studygroup_sem_types() ?: [], 'semtypes' => studygroup_sem_types() ?: null,
'institutes' => array_map(function ($i) { 'institutes' => array_map(function ($i) {
return $i['Institut_id']; return $i['Institut_id'];
}, Institute::getMyInstitutes()), }, Institute::getMyInstitutes()),
'exclude' => [Context::getId()], 'exclude' => [Context::getId()],
'semesters' => array_map(function ($s) { return $s->semester_id; }, Semester::getAll())
]; ];
} else { } else {
$parameters = [ $parameters = [
'userid' => $GLOBALS['user']->id, 'userid' => $GLOBALS['user']->id,
'semtypes' => studygroup_sem_types() ?: [], 'semtypes' => studygroup_sem_types() ?: null,
'exclude' => [Context::getId()], 'exclude' => [Context::getId()],
'semesters' => array_map(function ($s) { return $s->semester_id; }, Semester::getAll())
]; ];
} }
$coursesearch = MyCoursesSearch::get('Seminar_id', $GLOBALS['perm']->get_perm(), $parameters); $coursesearch = MyCoursesSearch::get('Seminar_id', $GLOBALS['perm']->get_perm(), $parameters);
......
...@@ -269,12 +269,6 @@ class WikiController extends AuthenticatedController ...@@ -269,12 +269,6 @@ class WikiController extends AuthenticatedController
); );
} }
$all_semesters = Semester::getAll();
$all_semester_ids = [];
foreach ($all_semesters as $semester) {
$all_semester_ids[] = $semester->id;
}
$this->course_search = new QuickSearch( $this->course_search = new QuickSearch(
'selected_course_id', 'selected_course_id',
new MyCoursesSearch( new MyCoursesSearch(
...@@ -282,9 +276,7 @@ class WikiController extends AuthenticatedController ...@@ -282,9 +276,7 @@ class WikiController extends AuthenticatedController
$GLOBALS['perm']->get_perm(), $GLOBALS['perm']->get_perm(),
[ [
'userid' => $GLOBALS['user']->id, 'userid' => $GLOBALS['user']->id,
'semtypes' => [],
'exclude' => [$course_id], 'exclude' => [$course_id],
'semesters' => $all_semester_ids,
], ],
's.`Seminar_id` IN ( 's.`Seminar_id` IN (
SELECT range_id FROM wiki SELECT range_id FROM wiki
......
...@@ -189,11 +189,17 @@ class MyCoursesSearch extends StandardSearch ...@@ -189,11 +189,17 @@ class MyCoursesSearch extends StandardSearch
{ {
$conditions = [ $conditions = [
'(s.`VeranstaltungsNummer` LIKE :input OR s.`Name` LIKE :input)', '(s.`VeranstaltungsNummer` LIKE :input OR s.`Name` LIKE :input)',
's.`status` NOT IN (:semtypes)',
's.`Seminar_id` NOT IN (:exclude)', 's.`Seminar_id` NOT IN (:exclude)',
'semester_data.`semester_id` IN (:semesters)'
]; ];
if (isset($this->parameters['semtypes'])) {
$conditions[] = 's.`status` NOT IN (:semtypes)';
}
if (isset($this->parameters['semesters'])) {
$conditions[] = 'semester_data.`semester_id` IN (:semesters)';
}
if ($this->additional_sql_conditions) { if ($this->additional_sql_conditions) {
$conditions[] = $this->additional_sql_conditions; $conditions[] = $this->additional_sql_conditions;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment