From 81f73533bd30109c41294ff02aa49846d34c7284 Mon Sep 17 00:00:00 2001 From: Tim Steiner <tsteiner2@unl.edu> Date: Mon, 20 Jul 2009 16:33:53 +0000 Subject: [PATCH] When checking for active requests with a give course code, added a check for NewCourse requests. --- .../modules/courses/models/CourseModel.php | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/application/modules/courses/models/CourseModel.php b/application/modules/courses/models/CourseModel.php index ff50211c..b17cce5c 100644 --- a/application/modules/courses/models/CourseModel.php +++ b/application/modules/courses/models/CourseModel.php @@ -437,19 +437,21 @@ class Courses_CourseModel extends Unl_Model } $select->where('r.complete = "no"'); */ + + // First, check for requests based on a course with the given course code. $select = new Zend_Db_Select($db); $select->distinct(); $select->from(array('c' => 'creqCourseCodes'), array()); + $select->where('c.subject = ?', $subject); + $select->where('c.courseNumber = ?', $courseNumber); + $select->where('c.courseLetter = ?', $courseLetter); $select->join(array('x' => 'creqCourseCrosslistings'), 'c.courseCodeId = x.courseCode', array()); $select->join(array('g1' => 'creqCourseGenerations'), 'x.generation = g1.courseGenerationId', array()); + $select->where('g1.removed = ?', 'no'); $select->join(array('p' => 'creqCourses'), 'g1.courseGenerationId = p.currentGeneration', array()); $select->join(array('g2' => 'creqCourseGenerations'), 'g1.course = g2.course', array()); $select->join(array('r' => 'creqRequests'), 'g2.request = r.requestId', array('requestId')); - $select->where('g1.removed = ?', 'no'); - $select->where('c.subject = ?', $subject); - $select->where('c.courseNumber = ?', $courseNumber); - $select->where('c.courseLetter = ?', $courseLetter); $select->where('r.complete = ?', 'no'); $records = $select->query()->fetchAll(); @@ -457,7 +459,28 @@ class Courses_CourseModel extends Unl_Model foreach ($records as $record) { $requestIds[] = $record['requestId']; } + + // Second, check for New Course requests with the given course code. + + $select = new Zend_Db_Select($db); + $select->distinct(); + $select->from(array('c' => 'creqCourseCodes'), array()); + $select->where('c.subject = ?', $subject); + $select->where('c.courseNumber = ?', $courseNumber); + $select->where('c.courseLetter = ?', $courseLetter); + $select->join(array('x' => 'creqCourseCrosslistings'), 'c.courseCodeId = x.courseCode', array()); + $select->join(array('g1' => 'creqCourseGenerations'), 'x.generation = g1.courseGenerationId', array()); + $select->where('g1.type = ?', 'proposed'); + $select->join(array('r' => 'creqRequests'), 'g1.request = r.requestId', array('requestId')); + $select->where('r.complete = ?', 'no'); + $select->join(array('t' => 'creqRequestTypes'), 'r.type = t.requestTypeId', array()); + $select->where('t.name LIKE ?', '%new%'); + $records = $select->query()->fetchAll(); + foreach ($records as $record) { + $requestIds[] = $record['requestId']; + } + $requests = Requests_RequestModel::find($requestIds); return $requests; } -- GitLab