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

ApprovalActionSubjectRouterModel.php

Blame
  • ApprovalActionSubjectRouterModel.php 2.40 KiB
    <?php
    
    class Courses_ApprovalActionSubjectRouterModel extends Requests_ApprovalActionModel
    {
        protected $_subjects = array();
    
        public static function find($id)
        {
            $db = Zend_Registry::get('db');
    
            $select = new Zend_Db_Select($db);
            $select->from(array('a' => 'creqApprovalActions'));
            $select->join(array('d' => 'creqApprovalActionsSubjectRouter'), 'a.approvalActionId = d.approvalActionId');
            if (Unl_Util::isArray($id)) {
                $select->where('a.approvalActionId IN(?)', $id);
            } else {
                $select->where('a.approvalActionId = ?', $id);
            }
    
            $records = $db->query($select)->fetchAll();
            $objects = new Unl_Model_Collection(__CLASS__);
            foreach ($records as $record) {
                $object = Unl_Model_Registry::getInstance()->getOrAdd(new self($record));
                $objectId = $object->getId();
                $objects[$objectId] = $object;
            }
    
            if (Unl_Util::isArray($objects)) {
                return $objects;
            } else {
                return array_pop($objects);
            }
    
        }
    
        public function consider($requests)
        {
            $requestParentCourses = Courses_CourseModel::findParentOfRequest($requests);
            $requestCurrentCourses = Courses_CourseModel::findLatestOfRequest($requests);
            foreach ($requests as $request) {
                $course = $requestParentCourses[$request->getId()];
                if (!$course) {
                    $course = $requestCurrentCourses[$request->getId()];
                }
                $subject = $course->getSubject();
                $request->setState($subject);
            }
            Requests_RequestModel::save($requests);
            Requests_ApprovalChainModel::advance($requests);
            return $requests;
        }
    
        public function userMadeDecisions($requests, $requestDecisions)
        {
            // Don't do anything here, this is an automated action.
        }
    
        public function getResultStatusStrings()
        {
            if (count($this->_subjects) == 0) {
                $db = Zend_Registry::get('db');
                $select = new Zend_Db_Select($db);
                $select->from(array('s' => 'creqSubjects'));
                $records = $select->query()->fetchAll();
                $subjects = array();
                foreach ($records as $record) {
                    $subjects[$record['name']] = $record['name'];
                }
                $this->_subjects = $subjects;
            }
            return $this->_subjects;
        }
    }