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

ApprovalActionsQueue.php

Blame
  • user avatar
    Tim Steiner authored
    a53340ed
    History
    ApprovalActionsQueue.php 1.70 KiB
    <?php
    
    require_once 'ApprovalActionTable/Interface.php';
    
    class ApprovalActionsQueue extends Nmc_Db_Table
                               implements Application_ApprovalActionTable_Interface
    {
        protected $_primary = 'approvalActionId';
        protected $_rowClass = 'ApprovalActionQueue';
    
        /**
         * The one true instance
         *
         * @var ApprovalActionsQueue
         */
        static protected $_instance;
    
        /**
         * Return the one true instance
         *
         * @return ApprovalActionsQueue
         */
        static public function getInstance($config = array())
        {
            if (!self::$_instance) {
                self::$_instance = new ApprovalActionsQueue($config);
            }
            return self::$_instance;
        }
    
        public function getActionName()
        {
            return 'Queue';
        }
    
        public function getResultStatusStrings()
        {
            return array('Approved' => 'Approved',
                         'Denied' => 'Denied');
        }
    
        public function getEditTemplate()
        {
            return 'approval_actions/ApprovalActionQueue.xhtml';
        }
    
        public function fetchNew($formData = null)
        {
            if (!$formData) {
                return parent::fetchNew();
            }
    
            $new = parent::fetchNew();
            $new->className = 'ApprovalActionQueue';
    
            return $new;
        }
    
        static public function advanceQueues()
        {
            $datesTable = ApprovalActionsQueueDates::getInstance();
            $db = $datesTable->getAdapter();
    
            $where = $db->quoteInto('date <= ?', time());
            $requestQueues = $datesTable->fetchAll($where);
    
            foreach ($requestQueues as $requestQueue) {
                $requestQueue->approvalAction->advanceQueue($requestQueue->date);
                $requestQueue->delete();
            }
        }
    
    
    }