Skip to content
Snippets Groups Projects
Select Git revision
  • 89908b5d6ba1e5532ba0d57c74b819be926d413d
  • 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

NewController.php

Blame
  • NewController.php 4.15 KiB
    <?php
    
    class Courses_NewController extends App_Controller_Action
    {
    	public function indexAction()
        {
            $redirectUrl = Zend_Controller_Front::getInstance()->getBaseUrl()
                         . '/courses/new/search';
            $this->getResponse()->setRedirect($redirectUrl);
    	}
    
    	public function searchAction()
    	{
            $filter = array(
                'subject'      => array('Alpha', 'StringToUpper'),
                'courseNumber' => array('Digits'),
                'courseLetter' => array('Alpha', 'StringToUpper')
            );
            $in = new Zend_Filter_Input($filter, array(), $this->getRequest()->getParams());
    
            if (!$in->subject || !$in->courseNumber) {
            	return;
            }
    
            $course = Courses_CourseModel::findByCourseCode($in->subject, $in->courseNumber, $in->courseLetter);
            $activeRequests = Courses_CourseModel::findActiveRequestByCourseCode($in->subject, $in->courseNumber, $in->courseLetter);
            if (count($activeRequests) > 0) {
            	$render = 'conflict';
            } else if ($course) {
            	$render = 'found';
    	        if ($in->subject != $course->getSubject()) {
    	            $this->view->crosslisting = true;
    	        } else {
    	            $this->view->crosslisting = false;
    	        }
                $this->view->course = $course;
            } else {
            	$render = 'create';
            }
    
            $user = Auth_UserModel::findCurrentUser();
            $groups = Auth_GroupModel::findByUser($user);
            $this->view->isAdmin = false;
            foreach ($groups as $group) {
                if ($group->getName() != 'root') {
                    continue;
                }
                $this->view->isAdmin = true;
            }
            
            $this->view->subject = $in->subject;
            $this->view->courseLetter = $in->courseLetter;
            $this->view->courseNumber = $in->courseNumber;
            $this->view->activeRequests = $activeRequests;
            if ($course) {
                $this->view->isAce = $course && $course->isAce();
            }
            $this->render($render);
    	}
    
    	public function searchPostAction()
    	{
            $filter = array(
                'subject'      => array('Alpha', 'StringToUpper'),
                'courseNumber' => array('Digits'),
                'courseLetter' => array('Alpha', 'StringToUpper')
            );
            $in = new Zend_Filter_Input($filter, array(), $this->getRequest()->getParams());
    
    	    $redirectUrl = Zend_Controller_Front::getInstance()->getBaseUrl()