Skip to content
Snippets Groups Projects
Select Git revision
  • 56a30ee51ba2dadab75f0fb4ad6858c75b7192ca
  • master default
  • disable-new-requests
  • fix-bulletin-view-missing-notes-error
  • add-missing-queue-managers
  • projects-task-53
  • projects-task-51
  • projects-task-43
  • projects-task-24
  • projects-task-31
  • projects-task-32
  • projects-task-8
  • project-setup-docs
  • projects-task-28
  • projects-task-27
  • projects-task-9
  • projects-task-7
  • mass-update-course-codes-in-sections
  • wdn-four
  • learning-outcomes
  • additional-bulletin-pages
  • svn-redesign
  • svn-popups
  • svn-trunk
  • svn-performance
  • svn-tim
26 results

RequestController.php

Blame
  • RequestController.php 35.24 KiB
    <?php
    
    class RequestController extends Nmc_Controller_Action
    {
    
        public function init()
        {
            $this->_registerPlugin(new Application_Controller_Action_Plugin_Authorize());
        }
    
        public function indexAction()
        {
            return $this->SearchAction();
        }
    
        public function searchAction()
        {
            $in = $this->_getAllParams();
            if($in[0] != '' && $in[1] != '') {
                return $this->searchResultsAction();
            }
    
            $out = new Application_View();
            $out->page = 'request/search';
            $out->addCssFile('/ooss/request/edit_wrapper');
            $out->tagline = 'Course Search';
            echo $out->render('unlModernWrapper.xhtml');
        }
    
        public function searchResultsAction()
        {
            $in = $this->_getAllParams();
    
            $subject = Zend_Filter_Alpha::filter($in[0]);
            $courseNumber = Zend_Filter_Digits::filter($in[1]);
            $courseLetter = Zend_Filter_Alpha::filter($in[2]);
    
            $course = CourseCrosslistings::fetchBySubjectNumberLetter(
                $subject, $courseNumber, $courseLetter
            );
            $requestedCourse = CourseCrosslistings::fetchBySubjectNumberLetter(
                $subject, $courseNumber, $courseLetter, false
            );
    
            $out = new Application_View();
            $out->subject = $subject;
            $out->courseNumber = $courseNumber;
            $out->courseLetter = $courseLetter;
    
            if(!$course) {
                // course not found
                $out->page = 'request/create_new_course_ask';
                Nmc_Registry_Session::getInstance()->erase('course');
            } else {
                // course found
    
                Nmc_Registry_Session::getInstance()->erase('course');
                $out->page = 'request/course_found';
                $parentCourse = $course->getParentCourse();
    
                $course = clone $parentCourse;
    
                if ($course->subject != $subject ||
                    $course->courseNumber != $courseNumber ||
                    $course->courseLetter != $courseLetter)
                {
                    $out->crosslisting = true;
                    $out->homeSubject = $course->subject;
                    $out->homeCourseLetter = $course->courseLetter;
                    $out->homeCourseNumber = $course->courseNumber;