diff --git a/application/models/tables/CourseCrosslistings.php b/application/models/tables/CourseCrosslistings.php index c5ffb95e8aa4d9aeadb29d29b682e38a37d37a8f..7a647cf8529c20d550ee7651edcf280360a3b55f 100644 --- a/application/models/tables/CourseCrosslistings.php +++ b/application/models/tables/CourseCrosslistings.php @@ -29,7 +29,7 @@ class CourseCrosslistings extends Local_Db_CourseTableMany * @param string $letter * @return CourseCrosslisting */ - static public function fetchBySubjectNumberLetter($subject, $number, $letter = null) + static public function fetchBySubjectNumberLetter($subject, $number, $letter = null, $official = true) { $me = self::getInstance(); $db = $me->getAdapter(); @@ -48,7 +48,14 @@ class CourseCrosslistings extends Local_Db_CourseTableMany 'creqCourseCrosslistings.generation = creqCourseGenerations.' . $courseGenerationsPrimaryKeyName); $select->join('creqAssets', 'creqCourseGenerations.assetId = creqAssets.' . $assetsPrimaryKeyName); - $select->where('creqCourseGenerations.type = "official"'); + if ($official) { + $select->where('creqCourseGenerations.type = "official"'); + } else { + $select->join('creqRequests', + 'creqRequests.requestId = creqCourseGenerations.request'); + $select->where('creqCourseGenerations.type != "official"'); + $select->where('creqRequests.complete != "yes"'); + } $select->where($db->quoteInto('subject = ?', $subject)); $select->where($db->quoteInto('courseNumber = ?', $number)); $select->where($db->quoteInto('courseLetter = ?', $letter));