From 65c3289ced59aff595fb51300b7b0f6efcc70226 Mon Sep 17 00:00:00 2001
From: Tim Steiner <tsteiner2@unl.edu>
Date: Thu, 26 Jun 2008 20:59:04 +0000
Subject: [PATCH] Implement the Restart ApprovalAction

---
 .../models/ApprovalActionRestartModel.php     | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 application/modules/requests/models/ApprovalActionRestartModel.php

diff --git a/application/modules/requests/models/ApprovalActionRestartModel.php b/application/modules/requests/models/ApprovalActionRestartModel.php
new file mode 100644
index 00000000..d8b3182b
--- /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;
+    }
+}
+
-- 
GitLab