diff options
Diffstat (limited to 'lib/models/Course.class.php')
| -rw-r--r-- | lib/models/Course.class.php | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/models/Course.class.php b/lib/models/Course.class.php index 97b246b..76a7be7 100644 --- a/lib/models/Course.class.php +++ b/lib/models/Course.class.php @@ -436,7 +436,7 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe * @returns Semester|null Either the last semester of the course * or null, if no semester could be found. */ - public function getEndSemester() + public function getEndSemester(): ?Semester { if (count($this->semesters) > 0) { return $this->semesters->last(); @@ -486,6 +486,16 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe } } + /** + * Returns whether the course has ended, meaning it is not open ended and + * all semesters the course takes place in are in the past. + */ + public function hasEnded(): bool + { + return !$this->isOpenEnded() + && $this->getEndSemester()->isPast(); + } + public function getTeachers() { return $this->members->filter(function ($m) { |
