Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
class Courses_ApprovalActionCollegeRouterModel extends Requests_ApprovalActionModel
{
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' => 'creqApprovalActionsCollegeRouter'), '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()];
}
$college = $course->getCollege();
$request->setState($college);
}
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.
}
}