Skip to content
Snippets Groups Projects
Commit 7b16d960 authored by André Noack's avatar André Noack
Browse files

closes #844 re #377

parent b7802baa
No related branches found
No related tags found
No related merge requests found
...@@ -311,12 +311,15 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe ...@@ -311,12 +311,15 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
{ {
$end_semester = $this->semesters->last(); $end_semester = $this->semesters->last();
$start_semester = $this->semesters->first(); $start_semester = $this->semesters->first();
if ($start_semester->id === $semester->id) {
return;
}
if ($end_semester) { if ($end_semester) {
if (count($this->semesters) > 1 && $end_semester->beginn < $semester->beginn) { if (count($this->semesters) > 1 && $end_semester->beginn < $semester->beginn) {
throw new InvalidArgumentException('start-semester must start before end-semester'); throw new InvalidArgumentException('start-semester must start before end-semester');
} }
foreach ($this->semesters as $key => $one_semester) { foreach ($this->semesters as $key => $one_semester) {
if ($one_semester->beginn <= $semester->beginn) { if ($one_semester->beginn < $semester->beginn) {
$this->semesters->offsetUnset($key); $this->semesters->offsetUnset($key);
} }
} }
...@@ -334,7 +337,11 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe ...@@ -334,7 +337,11 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
*/ */
public function setEndSemester(?Semester $semester) public function setEndSemester(?Semester $semester)
{ {
$end_semester = $this->semesters->last();
$start_semester = $this->semesters->first(); $start_semester = $this->semesters->first();
if ((is_null($end_semester) && is_null($semester)) || ($end_semester->id === $semester->id)) {
return;
}
if ($start_semester) { if ($start_semester) {
if ($semester && $start_semester->beginn > $semester->beginn) { if ($semester && $start_semester->beginn > $semester->beginn) {
throw new InvalidArgumentException('end-semester must start after start-semester'); throw new InvalidArgumentException('end-semester must start after start-semester');
......
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