From e7a35999236923eda22facdb52a17be9aa104994 Mon Sep 17 00:00:00 2001 From: Tim Steiner <tsteiner2@unl.edu> Date: Thu, 6 Sep 2007 17:08:34 +0000 Subject: [PATCH] Add prev/next links to bottom of request view screen. --- application/controllers/HomeController.php | 8 ++++++++ application/controllers/RequestController.php | 18 ++++++++++++++++++ application/views/request/view.xhtml | 6 ++++++ document_root/css/request/view.oss | 7 +++++++ 4 files changed, 39 insertions(+) diff --git a/application/controllers/HomeController.php b/application/controllers/HomeController.php index b43b6e94..15efab75 100644 --- a/application/controllers/HomeController.php +++ b/application/controllers/HomeController.php @@ -77,6 +77,14 @@ class HomeController extends Nmc_Controller_Action $rolesData[] = $roleData; } + $requestOrder = array(); + foreach($rolesData as $roleData) { + foreach($roleData['requests'] as $request) { + $requestOrder[] = $request->getPrimaryKey(); + } + } + Nmc_Registry_Session::getInstance('requests')->order = $requestOrder; + $out = new Application_View(); $out->user = $user; $out->roles = $rolesData; diff --git a/application/controllers/RequestController.php b/application/controllers/RequestController.php index bfdda601..a50b0723 100755 --- a/application/controllers/RequestController.php +++ b/application/controllers/RequestController.php @@ -165,12 +165,30 @@ class RequestController extends Nmc_Controller_Action $time = new Zend_Date(); RequestViewTimes::getInstance()->setViewTimeForUserAndRequest($user, $request, $time); + $requestOrder = Nmc_Registry_Session::getInstance('requests')->order; + $currentRequestIndex = array_search($request->getPrimaryKey(), $requestOrder); + if ($currentRequestIndex !== false) { + $nextRequestId = $requestOrder[$currentRequestIndex+1]; + $prevRequestId = $requestOrder[$currentRequestIndex-1]; + + if ($currentRequestIndex == 0) { + $prevRequestId = -1; + } else if ($currentRequestIndex == count($requestOrder)) { + $nextRequestId = -1; + } + } else { + $nextRequestId = -1; + $prevRequestId = -1; + } + $view = new Application_View(); $view->page = 'request/view'; $view->request = $request; $view->currentGeneration = $currentGeneration; $view->proposedGeneration = $proposedGeneration; $view->comments = $comments; + $view->nextRequestId = $nextRequestId; + $view->prevRequestId = $prevRequestId; $view->tagline = 'View Request'; $view->addHelperPath(APPLICATION_PATH . '/library/View/Helper', 'Application_View_Helper'); diff --git a/application/views/request/view.xhtml b/application/views/request/view.xhtml index 472ad49b..a3d2a1a8 100644 --- a/application/views/request/view.xhtml +++ b/application/views/request/view.xhtml @@ -154,6 +154,12 @@ </form> </div> </div> + <?php if ($this->prevRequestId > 0) { ?> + <a id="prevRequestLink" href="/Request/View/<?php echo $this->prevRequestId; ?>"><--Prev</a> + <?php } ?> + <?php if ($this->nextRequestId > 0) { ?> + <a id="nextRequestLink" href="/Request/View/<?php echo $this->nextRequestId; ?>">Next--></a> + <?php } ?> <?php } ?> <div class="clear"></div> diff --git a/document_root/css/request/view.oss b/document_root/css/request/view.oss index 06f55f1b..ba4e361b 100644 --- a/document_root/css/request/view.oss +++ b/document_root/css/request/view.oss @@ -94,3 +94,10 @@ div#comments { display: none; } } + +#prevRequestLink { + float: left; +} +#nextRequestLink { + float: right; +} \ No newline at end of file -- GitLab