Select Git revision
subsequence.test.js
ReportsController.php 7.96 KiB
<?php
class Iace_ReportsController extends Creq_Controller_Action
{
public function indexAction()
{
//
}
public function weeklyAction()
{
$filters = array();
$validators = array(
'year' => 'Digits',
'month' => 'Digits',
'day' => 'Digits',
'sort' => 'Alpha'
);
$in = new Zend_Filter_Input($filters, $validators, $this->_getAllParams());
if ($in->isValid()) {
$endDate = new Zend_Date();
$endDate->setYear($in->year);
$endDate->setMonth($in->month);
$endDate->setDay($in->day);
$endDate->setHour(0);
$endDate->setMinute(0);
$endDate->setSecond(0);
$endDate->addDay(1);
$startDate = clone $endDate;
$startDate->subDay(7);
} else {
$endDate = new Zend_Date(0);
$startDate = $startDate;
}
$db = Zend_Registry::get('db');
$select = new Zend_Db_Select($db);
$select->from(array('h' => 'creqApprovalHistories'), array('time'));
$select->join(array('r' => 'creqRequests'), 'h.request = r.requestId', array('r.requestId'));
$select->where('h.approvalActionName = ?', 'Make Official');
$select->where('r.type IN (?)', array(6, 7, 8, 9, 10, 12));
$select->where('h.time >= ?', $startDate->getTimestamp());
$select->where('h.time < ?', $endDate->getTimestamp());
$data = $select->query()->fetchAll();
$requestIds = array();
$finalizeTimes = array();
foreach ($data as $row) {
$requestIds[] = $row['requestId'];
$finalizeTimes[$row['requestId']] = $row['time'];
}
$requests = Requests_RequestModel::find($requestIds);
$courses = Courses_CourseModel::findLatestOfRequest($requests);
$courseIds = array();
foreach ($courses as $course) {
$courseIds[] = $course->getCourseId();
}
$currentCourses = Courses_CourseModel::findByCourseId($courseIds);
$courses->orderBy('getCourseCode');
$data = new Unl_Model_Collection('Unl_Model_Array');
foreach ($courses as $requestId => $course) {
$request = $requests[$requestId];
$finalizeTime = $finalizeTimes[$request->getId()];
$title = $course->getTitle();
if ($course->getCrosslistingsText()) {