Skip to content
Snippets Groups Projects
Commit 2defd2ad authored by Moritz Strohm's avatar Moritz Strohm
Browse files

fixed errors related to the removal of start_time and duration_time in courses, fixes #4769

Closes #4769

Merge request studip/studip!3557
parent f7e119d1
No related branches found
No related tags found
No related merge requests found
Pipeline #28909 passed
...@@ -42,7 +42,7 @@ class NewsRangesSearch extends SearchType ...@@ -42,7 +42,7 @@ class NewsRangesSearch extends SearchType
LEFT JOIN `semester_data` USING (`semester_id`) LEFT JOIN `semester_data` USING (`semester_id`)
WHERE s.`name` LIKE :input WHERE s.`name` LIKE :input
GROUP BY s.`Seminar_id` GROUP BY s.`Seminar_id`
ORDER BY s.`start_time` DESC ORDER BY `semester_data`.`beginn` DESC
) AS course_select"; ) AS course_select";
} elseif ($GLOBALS['perm']->have_perm('admin')) { } elseif ($GLOBALS['perm']->have_perm('admin')) {
$sem_inst = Config::get()->ALLOW_ADMIN_RELATED_INST ? 'si' : 's'; $sem_inst = Config::get()->ALLOW_ADMIN_RELATED_INST ? 'si' : 's';
...@@ -58,7 +58,7 @@ class NewsRangesSearch extends SearchType ...@@ -58,7 +58,7 @@ class NewsRangesSearch extends SearchType
WHERE {$sem_inst}.`institut_id` IN (:institutes) WHERE {$sem_inst}.`institut_id` IN (:institutes)
AND s.`name` LIKE :input AND s.`name` LIKE :input
GROUP BY s.`Seminar_id` GROUP BY s.`Seminar_id`
ORDER BY s.`start_time` DESC ORDER BY `semester_data`.`beginn` DESC
) AS course_select"; ) AS course_select";
$parameters[':institutes'] = $this->getAdminInstitutes($user); $parameters[':institutes'] = $this->getAdminInstitutes($user);
...@@ -75,7 +75,7 @@ class NewsRangesSearch extends SearchType ...@@ -75,7 +75,7 @@ class NewsRangesSearch extends SearchType
AND su.`user_id` = :user_id AND su.`user_id` = :user_id
AND su.`status` IN ('tutor', 'dozent') AND su.`status` IN ('tutor', 'dozent')
GROUP BY s.`Seminar_id` GROUP BY s.`Seminar_id`
ORDER BY s.`start_time` DESC ORDER BY `semester_data`.`start_time` DESC
) AS course_select "; ) AS course_select ";
$parameters[':user_id'] = $user->id; $parameters[':user_id'] = $user->id;
} }
......
...@@ -74,9 +74,9 @@ class SeminarSearch extends SearchType ...@@ -74,9 +74,9 @@ class SeminarSearch extends SearchType
WHERE s.Seminar_id IN (?) WHERE s.Seminar_id IN (?)
GROUP BY s.Seminar_id"; GROUP BY s.Seminar_id";
if (Config::get()->IMPORTANT_SEMNUMBER) { if (Config::get()->IMPORTANT_SEMNUMBER) {
$query .= " ORDER BY IFNULL(MAX(sem1.beginn), s.start_time) DESC, s.VeranstaltungsNummer, s.Name"; $query .= " ORDER BY sem1.`beginn` DESC, s.`VeranstaltungsNummer`, s.`Name`";
} else { } else {
$query .= " ORDER BY IFNULL(MAX(sem1.beginn), s.start_time) DESC, s.Name"; $query .= " ORDER BY sem1.`beginn` DESC, s.`Name`";
} }
$statement = DBManager::get()->prepare($query); $statement = DBManager::get()->prepare($query);
$statement->execute([ $statement->execute([
......
...@@ -432,25 +432,19 @@ class Lvgruppe extends ModuleManagementModelTreeItem ...@@ -432,25 +432,19 @@ class Lvgruppe extends ModuleManagementModelTreeItem
. 'LEFT JOIN mvv_lvgruppe_seminar mls USING(seminar_id) ' . 'LEFT JOIN mvv_lvgruppe_seminar mls USING(seminar_id) '
. 'LEFT JOIN semester_courses ON (semester_courses.course_id = sem.Seminar_id) ' . 'LEFT JOIN semester_courses ON (semester_courses.course_id = sem.Seminar_id) '
. 'WHERE mls.lvgruppe_id = :id ' . 'WHERE mls.lvgruppe_id = :id '
. 'AND ((sem.start_time <= :semester_beginn ' . 'AND (semester_courses.semester_id = :semester_id '
. 'AND semester_courses.semester_id = :semester_id) ' . 'OR semester_courses.semester_id IS NULL) ';
. 'OR (sem.start_time BETWEEN :semester_beginn AND :semester_ende) '
. 'OR (sem.start_time <= :semester_beginn AND semester_courses.semester_id IS NULL)) ';
if ($only_visible === false) { if ($only_visible === false) {
$stmt = DBManager::get()->prepare($sql); $stmt = DBManager::get()->prepare($sql);
$stmt->execute([ $stmt->execute([
':id' => $this->getId(), ':id' => $this->getId(),
':semester_id' => $semester->semester_id, ':semester_id' => $semester->semester_id
':semester_beginn' => $semester->beginn,
':semester_ende' => $semester->ende
]); ]);
} else if ($only_visible === true) { } else if ($only_visible === true) {
$stmt = DBManager::get()->prepare($sql . ' AND sem.visible = 1 '); $stmt = DBManager::get()->prepare($sql . ' AND sem.visible = 1 ');
$stmt->execute([ $stmt->execute([
':id' => $this->getId(), ':id' => $this->getId(),
':semester_id' => $semester->semester_id, ':semester_id' => $semester->semester_id
':semester_beginn' => $semester->beginn,
':semester_ende' => $semester->ende
]); ]);
} else { } else {
$user_perm = $GLOBALS['perm']->get_perm($only_visible); $user_perm = $GLOBALS['perm']->get_perm($only_visible);
...@@ -458,9 +452,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem ...@@ -458,9 +452,7 @@ class Lvgruppe extends ModuleManagementModelTreeItem
$stmt = DBManager::get()->prepare($sql); $stmt = DBManager::get()->prepare($sql);
$stmt->execute([ $stmt->execute([
':id' => $this->getId(), ':id' => $this->getId(),
':semester_id' => $semester->semester_id, ':semester_id' => $semester->semester_id
':semester_beginn' => $semester->beginn,
':semester_ende' => $semester->ende
]); ]);
} else if ($user_perm == 'admin') { } else if ($user_perm == 'admin') {
$perm_institute_ids = []; $perm_institute_ids = [];
...@@ -473,8 +465,6 @@ class Lvgruppe extends ModuleManagementModelTreeItem ...@@ -473,8 +465,6 @@ class Lvgruppe extends ModuleManagementModelTreeItem
$stmt->execute([ $stmt->execute([
':id' => $this->getId(), ':id' => $this->getId(),
':semester_id' => $semester->semester_id, ':semester_id' => $semester->semester_id,
':semester_beginn' => $semester->beginn,
':semester_ende' => $semester->ende,
':perm_institutes' => $perm_institute_ids ':perm_institutes' => $perm_institute_ids
]); ]);
} else { } else {
...@@ -485,16 +475,12 @@ class Lvgruppe extends ModuleManagementModelTreeItem ...@@ -485,16 +475,12 @@ class Lvgruppe extends ModuleManagementModelTreeItem
. 'LEFT JOIN semester_courses ON (semester_courses.course_id = sem.Seminar_id) ' . 'LEFT JOIN semester_courses ON (semester_courses.course_id = sem.Seminar_id) '
. 'INNER JOIN seminar_user USING(seminar_id) ' . 'INNER JOIN seminar_user USING(seminar_id) '
. 'WHERE mls.lvgruppe_id = :id ' . 'WHERE mls.lvgruppe_id = :id '
. 'AND ((sem.start_time <= :semester_beginn ' . 'AND (semester_courses.semester_id = :semester_id '
. 'AND semester_courses.semester_id = :semester_id) ' . 'OR semester_courses.semester_id IS NULL) '
. 'OR (sem.start_time BETWEEN :semester_beginn AND :semester_ende) '
. 'OR (sem.start_time <= :semester_beginn AND semester_courses.semester_id IS NULL)) '
. 'AND (sem.visible = 1 OR (sem.visible = 0 AND seminar_user.user_id = :user_id))'); . 'AND (sem.visible = 1 OR (sem.visible = 0 AND seminar_user.user_id = :user_id))');
$stmt->execute([ $stmt->execute([
':id' => $this->getId(), ':id' => $this->getId(),
':semester_id' => $semester->semester_id, ':semester_id' => $semester->semester_id,
':semester_beginn' => $semester->beginn,
':semester_ende' => $semester->ende,
':user_id' => $only_visible ':user_id' => $only_visible
]); ]);
} }
......
...@@ -25,8 +25,6 @@ ...@@ -25,8 +25,6 @@
* @property string|null $sonstiges database column * @property string|null $sonstiges database column
* @property int $lesezugriff database column * @property int $lesezugriff database column
* @property int $schreibzugriff database column * @property int $schreibzugriff database column
* @property int|null $start_time database column
* @property int|null $duration_time database column
* @property string|null $art database column * @property string|null $art database column
* @property string|null $teilnehmer database column * @property string|null $teilnehmer database column
* @property string|null $vorrausetzungen database column * @property string|null $vorrausetzungen database column
......
...@@ -168,7 +168,6 @@ class MvvOverlappingSelection extends SimpleORMap ...@@ -168,7 +168,6 @@ class MvvOverlappingSelection extends SimpleORMap
AND ((`start_sem`.`beginn` < :sem_end OR ISNULL(`start_sem`.`beginn`)) AND ((`start_sem`.`beginn` < :sem_end OR ISNULL(`start_sem`.`beginn`))
AND (`end_sem`.`ende` > :sem_start OR ISNULL(`end_sem`.`ende`))) AND (`end_sem`.`ende` > :sem_start OR ISNULL(`end_sem`.`ende`)))
AND `seminare`.`status` IN (:typ) AND `seminare`.`status` IN (:typ)
AND `seminare`.`start_time` <= :sem_end
AND (`semester_courses`.`semester_id` IS NULL OR `semester_courses`.`semester_id` = :semester_id) AND (`semester_courses`.`semester_id` IS NULL OR `semester_courses`.`semester_id` = :semester_id)
) AS `sembase` ON (`sembase`.`seminar_id` = `cbase`.`seminar_id`) ) AS `sembase` ON (`sembase`.`seminar_id` = `cbase`.`seminar_id`)
INNER JOIN `seminar_cycle_dates` AS `ccomp` INNER JOIN `seminar_cycle_dates` AS `ccomp`
...@@ -194,7 +193,8 @@ class MvvOverlappingSelection extends SimpleORMap ...@@ -194,7 +193,8 @@ class MvvOverlappingSelection extends SimpleORMap
FROM `mvv_stgteilabschnitt` FROM `mvv_stgteilabschnitt`
INNER JOIN `mvv_stgteilabschnitt_modul` USING (`abschnitt_id`) INNER JOIN `mvv_stgteilabschnitt_modul` USING (`abschnitt_id`)
INNER JOIN `mvv_modul` USING (`modul_id`) INNER JOIN `mvv_modul` USING (`modul_id`)
INNER JOIN `mvv_modulteil` USING (`modul_id`) INNER JOIN `mv" .
"v_modulteil` USING (`modul_id`)
INNER JOIN `mvv_lvgruppe_modulteil` USING (`modulteil_id`) INNER JOIN `mvv_lvgruppe_modulteil` USING (`modulteil_id`)
INNER JOIN `mvv_lvgruppe_seminar` USING (`lvgruppe_id`) INNER JOIN `mvv_lvgruppe_seminar` USING (`lvgruppe_id`)
INNER JOIN `seminare` USING (`seminar_id`) INNER JOIN `seminare` USING (`seminar_id`)
...@@ -213,7 +213,6 @@ class MvvOverlappingSelection extends SimpleORMap ...@@ -213,7 +213,6 @@ class MvvOverlappingSelection extends SimpleORMap
AND ((`start_sem`.`beginn` < :sem_end OR ISNULL(`start_sem`.`beginn`)) AND ((`start_sem`.`beginn` < :sem_end OR ISNULL(`start_sem`.`beginn`))
AND (`end_sem`.`ende` > :sem_start OR ISNULL(`end_sem`.`ende`))) AND (`end_sem`.`ende` > :sem_start OR ISNULL(`end_sem`.`ende`)))
AND `seminare`.`status` IN (:typ) AND `seminare`.`status` IN (:typ)
AND `seminare`.`start_time` <= :sem_end
AND (`semester_courses`.`semester_id` IS NULL OR `semester_courses`.`semester_id` = :semester_id) AND (`semester_courses`.`semester_id` IS NULL OR `semester_courses`.`semester_id` = :semester_id)
) AS `semcomp` ON (`semcomp`.`seminar_id` = `ccomp`.`seminar_id`) ) AS `semcomp` ON (`semcomp`.`seminar_id` = `ccomp`.`seminar_id`)
INNER JOIN `mvv_modulteil_stgteilabschnitt` AS `mms1` INNER JOIN `mvv_modulteil_stgteilabschnitt` AS `mms1`
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment