From 8b54ae5c3d179d542b17e6abae0e8fc9f94bb87d Mon Sep 17 00:00:00 2001 From: Tim Steiner <tsteiner2@unl.edu> Date: Thu, 23 Aug 2007 13:05:20 +0000 Subject: [PATCH] Allow saving requests to an array in the session --- application/controllers/HomeController.php | 2 + application/controllers/RequestController.php | 26 ++++++++--- application/views/home.xhtml | 43 +++++++++++++++++++ 3 files changed, 66 insertions(+), 5 deletions(-) diff --git a/application/controllers/HomeController.php b/application/controllers/HomeController.php index 33ac2d2f..00e6b45f 100644 --- a/application/controllers/HomeController.php +++ b/application/controllers/HomeController.php @@ -19,6 +19,8 @@ class HomeController extends Nmc_Controller_Action $out->user = $user; $out->roles = $roles; $out->myRequests = $requests; + $out->savedRequests = Nmc_Registry_Session::getInstance()->savedRequests; + $out->savedCourses = Nmc_Registry_Session::getInstance()->savedCourses; $out->page = 'home'; $out->tagline = 'My Requests'; diff --git a/application/controllers/RequestController.php b/application/controllers/RequestController.php index 9c7b0894..1c5a4336 100755 --- a/application/controllers/RequestController.php +++ b/application/controllers/RequestController.php @@ -115,9 +115,11 @@ class RequestController extends Nmc_Controller_Action $in = $this->getRequest(); $requestId = $in->getParam(0); - if ($requestId == 'saved') { - $course = Nmc_Registry_Session::getInstance()->savedCourse; - $request = Nmc_Registry_Session::getInstance()->savedRequest; + if (strtolower($requestId) == 'saved') { + $requestId = $in->getParam(1); + $requestId = Zend_Filter_Int::filter($requestId); + $course = Nmc_Registry_Session::getInstance()->savedCourses[$requestId]; + $request = Nmc_Registry_Session::getInstance()->savedRequests[$requestId]; } else { $requestId = Zend_Filter_Int::filter($requestId); $request = Requests::getInstance()->findOne($requestId); @@ -724,8 +726,22 @@ class RequestController extends Nmc_Controller_Action $course = Nmc_Registry_Session::getInstance()->course; $request = Nmc_Registry_Session::getInstance()->request; - Nmc_Registry_Session::getInstance()->savedCourse = $course; - Nmc_Registry_Session::getInstance()->savedRequest = $request; + if (!is_array(Nmc_Registry_Session::getInstance()->savedCourses)) { + Nmc_Registry_Session::getInstance()->savedCourses = array(); + } + if (!is_array(Nmc_Registry_Session::getInstance()->savedRequests)) { + Nmc_Registry_Session::getInstance()->savedRequests = array(); + } + + + Nmc_Registry_Session::getInstance()->savedCourses = array_merge( + Nmc_Registry_Session::getInstance()->savedCourses, + array($course) + ); + Nmc_Registry_Session::getInstance()->savedRequests = array_merge( + Nmc_Registry_Session::getInstance()->savedRequests, + array($request) + ); Nmc_Registry_Session::getInstance()->erase('course'); Nmc_Registry_Session::getInstance()->erase('request'); diff --git a/application/views/home.xhtml b/application/views/home.xhtml index 33a29394..bb6b9957 100755 --- a/application/views/home.xhtml +++ b/application/views/home.xhtml @@ -38,6 +38,49 @@ function MM_swapImage() { //v3.0 Welcome to Curriculum Action Request. Items in your activity basket indicate..... </div> </div> +<?php if(count($this->savedRequests) > 0) { ?> +<div id="activity" class="titled_box"> + <div class="box_shadow_2"> + <div class="tr"></div> + <div class="tl"> + <h2>Saved Requests</h2> + <h3><em></em></h3> + </div> + <div class="bl"></div> + </div> + <div class="content"> + <table class="course_list"> + <tr> + <th id="check"> </th> + <th id="course">Course</th> + <th id="college">College</th> + <th id="type">Type</th> + <th id="view_edit">View/Edit</th> + </tr> + <?php + $row = 0; + foreach($this->savedRequests as $savedId => $request) { + $course = $this->savedCourses[$savedId]; + ?> + <tr <?php echo (++$row % 2 ? 'class="odd"' : ''); ?>> + <td><input type="checkbox" /></td> + <td><?php echo $course->subject . ' ' + . $course->courseNumber + . $course->courseLetter; ?></td> + <td>NONC</td> + <td><?php echo $request->type->name; ?></td> + <td> + <td> + <a href="/Request/Load/Saved/<?php echo $savedId; ?>">Edit</a> + </td> + </tr> + <?php } ?> + </table> + </div> +</div> +<?php } ?> + + <div id="activity" class="titled_box"> <div class="box_shadow_2"> <div class="tr"></div> -- GitLab