From 07158acbe49824435e0b6ee99a813b5bf414bf3e Mon Sep 17 00:00:00 2001
From: Tim Steiner <tsteiner2@unl.edu>
Date: Mon, 5 Feb 2007 20:44:18 +0000
Subject: [PATCH] Fixes dealing with making a crosslistings course code an
 Nmc_Db_Table_Relation_HasOne.

---
 application/models/rows/CourseCrosslisting.php | 1 +
 application/models/rows/CourseGeneration.php   | 3 +++
 application/views/request/bulletinEntry.xhtml  | 6 ++++--
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/application/models/rows/CourseCrosslisting.php b/application/models/rows/CourseCrosslisting.php
index f2f3e998..b7794e0f 100644
--- a/application/models/rows/CourseCrosslisting.php
+++ b/application/models/rows/CourseCrosslisting.php
@@ -22,6 +22,7 @@ class CourseCrosslisting extends Nmc_Db_Table_Row
 
         $courseCodeRelation = new Nmc_Db_Table_Relation_HasOne(CourseCodes::getInstance(),
                                                                $this, 'course_code', 'courseCode', true);
+        $courseCodeRelation->setDoNotClone();
         $this->_registerRelation($courseCodeRelation);
     }
 
diff --git a/application/models/rows/CourseGeneration.php b/application/models/rows/CourseGeneration.php
index 3ce99cc1..fe4bdd3c 100644
--- a/application/models/rows/CourseGeneration.php
+++ b/application/models/rows/CourseGeneration.php
@@ -153,6 +153,9 @@ class CourseGeneration extends Asset
 
     public function isEssentialStudies($college = null)
     {
+        if (is_null($this->_homeCrosslisting->courseCode)) {
+            return false;
+        }
         return CourseEsDesignations::getInstance()->isCourseCodeEssentialStudies($this->_homeCrosslisting->courseCode);
     }
 
diff --git a/application/views/request/bulletinEntry.xhtml b/application/views/request/bulletinEntry.xhtml
index e751cc0c..55d48264 100644
--- a/application/views/request/bulletinEntry.xhtml
+++ b/application/views/request/bulletinEntry.xhtml
@@ -10,7 +10,7 @@
         echo '[ES]';
     }
 
-    if ($course->integratedStudies == true) {
+    if ($course->integratedStudies == 'yes') {
         echo '[IS]';
     }
     ?>
@@ -21,7 +21,9 @@
 
     // course number with same-subject crosslistings
     if(   in_array('Classroom', $course->deliveryMethods)
-       || in_array('Web', $course->deliveryMethods)) {
+       || in_array('Web', $course->deliveryMethods)
+       || $course->deliveryMethods[0] == ''
+       || count($course->deliveryMethods) == 0) {
         echo $course->courseNumber . $course->courseLetter;
         foreach($course->crosslistings as $crosslisting) {
             if($crosslisting->type == 'home listing') {
-- 
GitLab