Select Git revision
NewController.php
-
Tim Steiner authoredTim Steiner authored
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()