From 4b49c74f0e75133748cddb6a5b6d9bc2ea8346b7 Mon Sep 17 00:00:00 2001
From: Roger Feese <rfeese@unl.edu>
Date: Thu, 16 Aug 2018 17:08:51 -0500
Subject: [PATCH] Base reports off of request type instead of iACE watched
 requests.

---
 .../controllers/ReinforcementsController.php  |  9 ++++---
 .../iace/controllers/SloController.php        |  9 ++++---
 .../modules/requests/models/RequestModel.php  | 25 +++++++++++++++++++
 3 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/application/modules/iace/controllers/ReinforcementsController.php b/application/modules/iace/controllers/ReinforcementsController.php
index 50f3815b..76c304a4 100644
--- a/application/modules/iace/controllers/ReinforcementsController.php
+++ b/application/modules/iace/controllers/ReinforcementsController.php
@@ -11,9 +11,12 @@ class Iace_ReinforcementsController extends Creq_Controller_Action
 	public function reportAction()
 	{
 		$this->_disableLayoutAndView();
-        
-		$iAceRole = Requests_ApprovalRoleModel::find(114);
-		$requests = Requests_RequestModel::findByWatchingRole($iAceRole);
+ 
+        //find all ACE course requests
+        //NewCourseWithAce (6)
+        //AddACEToCourse (7)
+        //AddACEAndChangeCourse (8)
+		$requests = Requests_RequestModel::findBytype(array(6,7,8));
 		$proposedCourses = Courses_CourseModel::findLatestOfRequest($requests);
 		$parentCourses = Courses_CourseModel::findParentOfRequest($requests);
 		echo ''
diff --git a/application/modules/iace/controllers/SloController.php b/application/modules/iace/controllers/SloController.php
index 354a5825..a9b7d450 100644
--- a/application/modules/iace/controllers/SloController.php
+++ b/application/modules/iace/controllers/SloController.php
@@ -11,9 +11,12 @@ class Iace_SloController extends Creq_Controller_Action
 	public function reportAction()
 	{
 		$this->_disableLayoutAndView();
-        
-		$iAceRole = Requests_ApprovalRoleModel::find(114);
-		$requests = Requests_RequestModel::findByWatchingRole($iAceRole);
+
+        //find all ACE course requests
+        //NewCourseWithAce (6)
+        //AddACEToCourse (7)
+        //AddACEAndChangeCourse (8)
+		$requests = Requests_RequestModel::findBytype(array(6,7,8));
 		$proposedCourses = Courses_CourseModel::findLatestOfRequest($requests);
 		$parentCourses = Courses_CourseModel::findParentOfRequest($requests);
 		echo ''
diff --git a/application/modules/requests/models/RequestModel.php b/application/modules/requests/models/RequestModel.php
index e0134126..ffc60765 100644
--- a/application/modules/requests/models/RequestModel.php
+++ b/application/modules/requests/models/RequestModel.php
@@ -108,6 +108,31 @@ class Requests_RequestModel extends Unl_Model
         }
     }
 
+    static public function findByType($type)
+    {
+        $db = Zend_Registry::get('db');
+
+        $select = new Zend_Db_Select($db);
+        $select->from(array('r' => 'creqRequests'));
+        if (Unl_Util::isArray($type)) {
+            if (count($type) == 0) {
+                return new Unl_Model_Collection(__CLASS__);
+            }
+            $select->where('r.type IN (?)', $type);
+        } else {
+            $select->where('r.type = ?', $type);
+        }
+
+        $records = $select->query()->fetchAll();
+
+        $requestIds = array();
+        foreach ($records as $record) {
+            $requestIds[] = $record['requestId'];
+        }
+
+        return self::find($requestIds);
+    }
+
     static public function findByRole($role, $visibleOnly = true)
     {
         $db = Zend_Registry::get('db');
-- 
GitLab