diff --git a/application/modules/requests/models/ApprovalActionRestartModel.php b/application/modules/requests/models/ApprovalActionRestartModel.php new file mode 100644 index 0000000000000000000000000000000000000000..d8b3182b9fb4e53380aa8ebcba8a2e64908d9ff5 --- /dev/null +++ b/application/modules/requests/models/ApprovalActionRestartModel.php @@ -0,0 +1,43 @@ +<?php + +class Requests_ApprovalActionRestartModel extends Requests_ApprovalActionModel +{ + static public function find($id) + { + $db = Zend_Registry::get('db'); + + $select = new Zend_Db_Select($db); + $select->from(array('a' => 'creqApprovalActions')); + $select->join(array('r' => 'creqApprovalActionsRestart'), 'a.approvalActionId = r.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) + { + foreach ($requests as $request) { + $request->clearStackPointer(); + } + Requests_RequestModel::save($requests); + + return $requests; + } +} +