From 7b631aed4f556f442c3eaacbc2b701823b43681b Mon Sep 17 00:00:00 2001
From: Tim Steiner <tsteiner2@unl.edu>
Date: Thu, 4 Oct 2007 17:31:10 +0000
Subject: [PATCH] Remove the ability to create a new request on a course for
 which a request currently exists.

---
 application/controllers/RequestController.php     | 15 ++++++++++++---
 application/views/request/course_found.xhtml      | 10 +++++++++-
 .../views/request/create_new_course_ask.xhtml     | 13 +++++++++++--
 3 files changed, 32 insertions(+), 6 deletions(-)

diff --git a/application/controllers/RequestController.php b/application/controllers/RequestController.php
index 85f5a260..7b82c7c5 100755
--- a/application/controllers/RequestController.php
+++ b/application/controllers/RequestController.php
@@ -35,9 +35,12 @@ class RequestController extends Nmc_Controller_Action
         $courseNumber = Zend_Filter_Digits::filter($in[1]);
         $courseLetter = Zend_Filter_Alpha::filter($in[2]);
 
-        $course = CourseCrosslistings::fetchBySubjectNumberLetter($subject,
-                                                                  $courseNumber,
-                                                                  $courseLetter);
+        $course = CourseCrosslistings::fetchBySubjectNumberLetter(
+            $subject, $courseNumber, $courseLetter
+        );
+        $requestedCourse = CourseCrosslistings::fetchBySubjectNumberLetter(
+            $subject, $courseNumber, $courseLetter, false
+        );
 
         $out = new Application_View();
         $out->subject = $subject;
@@ -72,6 +75,12 @@ class RequestController extends Nmc_Controller_Action
             Nmc_Registry_Session::getInstance()->course = $course;
         }
 
+        if ($requestedCourse) {
+            $out->currentPendingRequest = true;
+        } else {
+            $out->currentPendingRequest = false;
+        }
+
         $out->tagline = 'Course Search Results';
         echo $out->render('unlModernWrapper.xhtml');
     }
diff --git a/application/views/request/course_found.xhtml b/application/views/request/course_found.xhtml
index e046c31a..508ad7dd 100644
--- a/application/views/request/course_found.xhtml
+++ b/application/views/request/course_found.xhtml
@@ -11,6 +11,14 @@
     Please contact the home department for requesting action on this course.
 <h2>
 <?php } else { ?>
+
+<?php if ($this->currentPendingRequest) { ?>
+<h2 class="warning">
+    Warning! This course is currently awaiting approval in an active request!<br />
+    You probably do not want to submit another request for this course!
+</h2>
+<?php } else { ?>
+
 <h2>
     The course <?php echo $this->subject , ' '
                         , $this->courseNumber
@@ -48,4 +56,4 @@
     </li>
 </ul>
 
-<?php }
\ No newline at end of file
+<?php } }
\ No newline at end of file
diff --git a/application/views/request/create_new_course_ask.xhtml b/application/views/request/create_new_course_ask.xhtml
index 777b2f58..3a2e04a7 100644
--- a/application/views/request/create_new_course_ask.xhtml
+++ b/application/views/request/create_new_course_ask.xhtml
@@ -1,9 +1,17 @@
 <div class="content">
-    <h2>The course <?php echo $this->subject , ' '
+    <?php if ($this->currentPendingRequest) { ?>
+    <h2 class="warning">
+        Warning! This course is currently awaiting approval in an active request!<br />
+        You probably do not want to submit another request for this course!
+    </h2>
+    <?php } else {?>
+    <h2>
+        The course <?php echo $this->subject , ' '
                             , $this->courseNumber
                             , $this->courseLetter; ?>
         does not yet exist.
-        You may:</h2>
+        You may:
+    </h2>
     <ul>
         <li>
             <a href="/Request/Create/NewCourse/<?php echo $this->subject
@@ -25,4 +33,5 @@
             </a>
         </li>
     </ul>
+    <?php } ?>
 </div>
-- 
GitLab