From b18910647219729d95d8998444388891217f7073 Mon Sep 17 00:00:00 2001
From: Tim Steiner <tsteiner2@unl.edu>
Date: Fri, 30 Oct 2009 20:13:57 +0000
Subject: [PATCH] When searching for courses that have been removed, include
 those that have changed course ids as well.

---
 application/modules/courses/models/CourseModel.php | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/application/modules/courses/models/CourseModel.php b/application/modules/courses/models/CourseModel.php
index 3917c242..c0820444 100644
--- a/application/modules/courses/models/CourseModel.php
+++ b/application/modules/courses/models/CourseModel.php
@@ -543,8 +543,9 @@ class Courses_CourseModel extends Unl_Model
         $select->join(array('s' => 'creqSubjects'), 'd.departmentId = s.department', array());
         $select->join(array('c' => 'creqCourseCodes'), 's.name = c.subject', array());
         $select->join(array('x' => 'creqCourseCrosslistings'), 'c.courseCodeId = x.courseCode', array());
-        $select->join(array('g' => 'creqCourseGenerations'), 'x.generation = g.courseGenerationId', array('courseGenerationId'));
-        $select->join(array('p' => 'creqCourses'), 'g.courseGenerationId = p.currentGeneration', array());
+        $select->join(array('g' => 'creqCourseGenerations'), 'x.generation = g.courseGenerationId', array());
+        $select->join(array('p' => 'creqCourses'), 'g.course = p.courseId', array());
+        $select->join(array('g2' => 'creqCourseGenerations'), 'p.currentGeneration = g2.courseGenerationId', array('courseGenerationId'));
         $select->join(array('e' => 'creqCourseDetails'), 'g.courseGenerationId = e.generation', array());
         if (!$includeRemoved) {
             $select->where('g.removed = "no"');
@@ -586,6 +587,9 @@ class Courses_CourseModel extends Unl_Model
         if ($criteria['integratedStudies']) {
         	$select->where('c.integratedStudies = ?', 'yes');
         }
+        if (!$includeRemoved) {
+            $select->where('g.courseGenerationId = g2.courseGenerationId');
+        }
 
         $records = $select->query()->fetchAll();
         if (count($records) == 0) {
-- 
GitLab